Quali servizi sono attivi, sono tutti necessari?
Per vedere i servizi che abbiamo attivi puoi utilizzare il comando netstat. Ad esempio da una connessione SSH:
root @ server1: ~ # netstat -aCi mostra tutti i servizi attivi e in ascolto per ricevere utenti o connessioni, qui ne vediamo alcuni like Apache (http) per servire pagine web, smtp servizio di invio email, ftp per caricare i file.
Puoi fermare un servizio se non è necessario o se occupa molta memoria o cpu, per questo possiamo vedere il consumo con il comando:
root @ server1: ~ # ps aux --sort cputime
Qui possiamo vedere MySQL, l'antivirus Clamav, Sì Colombaia è un server IMAP e POP3 open source. Qui possiamo vedere il processo da noi eseguito in precedenza, è importante non confondere la colonna START che ha date e orari, indica in quale data o ora è iniziata l'operazione.
Quindi per interrompere un servizio di esempio Mysql:
/etc/init.d/mysql restart /etc/init.d/mysql stop /etc/init.d/mysql startEsempio di utilizzo dei comandi nella sicurezza del server Linux, utilizzeremo alcuni comandi per rilevare e prevenire un attacco Denial of Services che sono i più frequenti.
UN attacco Denial of Service (attacco DoS) o Attacchi di negazione del servizio distribuiti (attacco DDoS) è un tentativo di rendere una risorsa del server non disponibile per i suoi utenti.
1) Rileva l'attacco
Il sintomo principale è che il server diventa molto lento, o "i servizi sono inattivi", smettono di funzionare a causa di un numero eccessivo di connessioni generate, il server non può rispondere.
Useremo il comando "netstat".
Ci mostra le connessioni attive sulla porta 80.
root @ server1: ~ # netstat -an | grep: 80 | ordinare
Qui possiamo vedere che uno degli ip attivi che interroga il nostro server ha 5000 connessioni, mentre si potrebbe dire che il normale sarebbe di circa 20 o 30 connessioni per ip. Potremmo quindi sospettare un attacco DDOS, visto il consumo di risorse
2) La prima cosa sarà bloccare l'ip dell'attaccante con Iptables
iptables è il nome dello strumento dello spazio utente attraverso il quale l'amministratore può definire politiche di filtraggio per il traffico che circola sulla rete.
root @ server1: ~ # iptables -I INPUT -s 74,6,73,22 -j DROPCon quello si blocca.
3) Installa mod_evasive per Apache
Mod Evasivo è un modulo per Apache che è responsabile di fornire un ulteriore livello di sicurezza al nostro server web molto potente e personalizzabile.
Nell'esempio lo faremo per Centos, ma può essere adattato a qualsiasi Linux con Apache.
Installiamo le dipendenze da ssh
root @ server1: ~ # cd / usr / src root @ server1: ~ # wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz root @ server1: ~ # tar zxvf mod_evasive_1.10.1 .tar.gz root @ server1: ~ # cd mod_evasive root @ server1: ~ # apxs -cia mod_evasive20.c # per Apache 1.3 il comando sarebbe apxs -cia mod_evasive.c root @ server1: ~ # vi / etc / httpd / conf /httpd.conf # modifichiamo la configurazione di root @ server1: ~ # service httpd restart # riavviamo ApacheIn /etc/httpd/conf/httpd.conf vanno aggiunte le seguenti righe.
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300Parametri importanti
- Conteggio pagine DOS: numero di connessioni che un utente può effettuare al secondo prima che il suo IP venga bloccato.
- Conteggio DOSSito: quante richieste un utente può fare prima di essere bloccato.
- DOSBloccoPeriodo: quanto tempo in secondi durerà il blocco di quell'IP.