Welche Dienste sind aktiv, sind alle notwendig?
Mit dem Befehl netstat können Sie die von uns bereitgestellten Dienste anzeigen . Zum Beispiel von einer SSH-Verbindung :
root @ server1: ~ # netstat -a
Es zeigt uns alle aktiven Dienste und das Abhören, um Benutzer oder Verbindungen zu empfangen. Hier sehen wir einige wie Apache (http), um Webseiten zu bedienen, SMTP- Dienst zum Senden von E-Mails, FTP zum Hochladen von Dateien.
Sie können einen Dienst anhalten, wenn er unnötig ist oder viel Speicher oder CPU beansprucht. Dafür können wir den Verbrauch mit dem Befehl anzeigen:
root @ server1: ~ # ps aux --sort cputime
Hier sehen wir Mysql , das Clamav- Virenschutzprogramm, und Dovecot ist ein Open-Source-IMAP- und POP3-Server. Hier können wir den zuvor von uns ausgeführten Prozess sehen. Es ist wichtig, die START-Spalte nicht zu verwechseln, die Datums- und Uhrzeitangaben enthält. Sie gibt an, zu welchem Datum oder zu welcher Uhrzeit der Vorgang begonnen hat.
Dann, um einen Beispieldienst Mysql zu stoppen:
/etc/init.d/mysql restart /etc/init.d/mysql stop /etc/init.d/mysql start
Beispiel für die Verwendung von Befehlen in der Linux-Serversicherheit. Wir werden einige Befehle verwenden, um einen Denial-of-Services-Angriff zu erkennen und zu verhindern, der am häufigsten auftritt.
Bei einem Denial-of-Service-Angriff (DoS-Angriff) oder einem verteilten Denial-of-Service-Angriff ( DDoS-Angriff) wird versucht, eine Serverressource für den Benutzer nicht verfügbar zu machen.
1) Erkennen Sie den Angriff
Das Hauptsymptom ist, dass der Server sehr langsam wird oder “Dienste ausfallen”. Sie funktionieren nicht mehr, weil zu viele Verbindungen hergestellt werden. Der Server kann nicht reagieren.
Wir werden den Befehl “netstat” verwenden.
Es zeigt uns die aktiven Verbindungen auf Port 80.
root @ server1: ~ # netstat -an | grep: 80 | sortieren
Hier sehen wir, dass eine der aktiven IP-Abfragen unseres Servers 5000 Verbindungen benötigt, während man sagen könnte, dass normal ungefähr 20 oder 30 Verbindungen pro IP wären. Wir könnten dann von einem DDOS-Angriff ausgehen, da der Verbrauch von Ressourcen
2) Als erstes wird die IP des Angreifers mit Iptables blockiert
Iptables ist der Name des User-Space-Tools, über das der Administrator Filterrichtlinien für den im Netzwerk zirkulierenden Datenverkehr definieren kann.
root @ server1: ~ # iptables -I INPUT -s 74,6,73,22 -j DROP
Damit ist es gesperrt.
3) Installieren Sie mod_evasive für Apache
Mod Evasive ist ein Modul für Apache, das dafür verantwortlich ist, unserem Webserver ein zusätzliches Sicherheitsniveau zu verleihen , das sehr leistungsstark und anpassbar ist.
Im Beispiel machen wir das für Centos, aber es kann mit Apache an jedes Linux angepasst werden.
Wir installieren Abhängigkeiten von 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 # für Apache 1.3 wäre der Befehl apxs -cia mod_evasive.c root @ server1: ~ # vi /etc/httpd/conf/httpd.conf # Bearbeiten Sie die Konfiguration root @ server1: ~ # service httpd restart # Starten Sie den Apache neu
/etc/httpd/conf/ httpd.conf habría que agregar las siguientes líneas. In der Datei / etc / httpd / conf / httpd.conf sollten die folgenden Zeilen hinzugefügt werden.
<IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300 </ IfModule>
Die wichtigen Parameter
- DOSPageCount: Anzahl der Verbindungen, die ein Benutzer pro Sekunde herstellen kann, bevor seine IP blockiert wird.
- DOSSiteCount: Wie viele Anfragen kann ein Benutzer stellen, bevor er blockiert wird.
- DOSBlockingPeriod: wie lange in Sekunden die Blockierung dieser IP dauern wird.
Es ist auch ratsam, eine Firewall wie CSF für Linux zu installieren , die Open Source ist.