GNU/Linux >> Linux Esercitazione >  >> Linux

Limita il numero massimo di connessioni TCP ai server Web

In Windows XP SP2 e Windows Vista, molti utenti hanno cercato tcpip.sys hack con patch o patcher automatico che sblocca il limite di connessione simultanea semiaperta TCP/IP senza alcun limite superiore. In un server Web che si espone a Internet, potrebbe essere vero il contrario, in cui potrebbe essere necessario limitare e limitare il numero massimo di connessioni TCP in entrata a un server Web consentite in qualsiasi momento.

Limitare il numero massimo di connessioni Web TCP in ingresso al server Web è utile per prevenire o, meglio ancora, fermare gli attacchi DDoS (Distributed Denial of Service) o DoS (Denial of Service). Gli attacchi DDoS possono consumare un'enorme quantità di risorse di sistema e carico della CPU, rallentare il tempo di pubblicazione della pagina Web o il tempo di risposta ai visitatori legittimi. E nel peggiore dei casi, l'attacco può bloccare e far cadere completamente il server web, anche se hai un server dedicato con doppia CPU quad-core con più GB di memoria.

Per prevenire e rispondere agli attacchi Denial of Service, oltre all'utilizzo di firewall o cookie SYN, è anche possibile limitare il numero di connessioni TCP che il server può accettare al secondo. Il concetto può essere applicato anche quando una pagina web è stata scavata, inciampata o farked che porta una grande quantità di spettatori in un breve lasso di tempo. Tuttavia, questa soluzione alternativa intende solo far "sopravvivere" il server e non essere completamente bloccato da un'enorme quantità di connessioni. E la restrizione si applicherà anche ai visitatori umani validi dei siti Web ospitati sul server se la limitazione raggiunge il limite e nega attivamente nuove connessioni.

L'amministratore può utilizzare iptables per impostare il limite massimo del numero di connessioni TCP al server al secondo accettabile. Per configurare il limite, accedi come root alla shell ed emetti i seguenti comandi, sostituendo con il numero di connessioni al secondo che vuoi impostare e con burst rate che vuoi che il server inizi ad applicare il limite, entrambi senza parentesi.

iptables -t nat -N syn-flood

iptables -t nat -A syn-flood -m limit –limit <n>/s –limit-burst <m> -j RETURN

iptables -t nat -A syn-flood -j DROP

iptables -t nat -A PREROUTING -i $EXT_IFACE -d $DEST_IP -p tcp –syn -j syn-flood

I comandi precedenti limiteranno il numero massimo di connessioni TCP che possono connettersi al server web a n connessioni al secondo, dopo m sono stati stabiliti i collegamenti. Non esiste una cifra fissa per il numero di connessioni che è possibile impostare. Se il server è potente è possibile aumentare i valori da gestire e accettare più connessioni in modo da ridurre eventuali cadute di connessione. Prova a impostare i valori migliori per il tuo server.


Linux
  1. Come configurare un server web Apache

  2. Ottimizzazione del server Web Apache Keep-alive

  3. Indagare sui server compromessi

  4. Ottieni il numero di connessioni TCP stabilite

  5. Architettura del server NTP

Cos'è Apache? Una panoramica approfondita di Apache Web Server

Come sincronizzare automaticamente due server Web in Linux

Aumenta le connessioni TCP per Plex su Ubuntu

Indice dei server Webmin

Come configurare un server domestico

Limite soft vs limite hard?