Willkommen bei Network & Security     remoteshell-security.com
Partnerseiten
login.php?sid=f066f164de5854877264aad17b8f608c profile.php?mode=register&sid=f066f164de5854877264aad17b8f608c faq.php?sid=f066f164de5854877264aad17b8f608c memberlist.php?sid=f066f164de5854877264aad17b8f608c search.php?sid=f066f164de5854877264aad17b8f608c index.php?sid=f066f164de5854877264aad17b8f608c

Foren-Übersicht » Server Security » [Sammelthread] LAMP-Server absichern
Neues Thema eröffnen  Neue Antwort erstellen Vorheriges Thema anzeigen :: Nächstes Thema anzeigen 
[Sammelthread] LAMP-Server absichern
BeitragVerfasst am: 07.05.2006 01:10 Antworten mit Zitat
Cerox
Anmeldedatum: 31.12.2005
Beiträge: 782
Wohnort: Engelskirchen




Dieser Thread soll Usern helfen, ihren LAMP-Server abzusichern. Er soll keinesfalls dazu dienen, in andere Systeme einzubrechen!

Hallo zusammen,

hier soll ein Sammelthread entstehen, in den jeder Ratschläge zum Absichern eines LAMP-Server schreiben kann.

Ich fange einfach mal an mit dem was ich bisher gemacht habe; vom Apache und Linux habe ich bisher nur Grundkenntnisse, wodurch die Liste wahrscheinlich auch nicht allzu lang wird. chrootet habe ich den Apache bisher auch noch nicht.

-----------------------------------------------------------------------------------------------------------------------------------------

- Immer möglichst aktuelle Versionen verwenden (am besten selbst Apache, PHP und MySQL kompilieren)

- Apache und MySQL Dämonen nicht als root laufen lassen und den Usern so wenig Rechte wie möglich einräumen

- DirectoryListing grundsätzlich deaktivieren und nur, falls nötig, für bestimmte Verzeichnisse per htaccess oder Directory-Container einschalten:
Code:
Options None
    AllowOverride None


- Admin-Bereiche von PHP-Scripts etc. durch htaccess zusätzlich absichern sofern möglich

- safe_mode aktivieren (php.ini)

- open_basedir (php.ini) setzen, wodurch PHP nur Scripte innerhalb des angegebenen Pfades und in darunter liegenden Verzeichnissen ausführen kann

- session.save_path (php.ini) ändern, wodurch der standardmäßige Ablageort für Sessions geändert werden kann

- upload_tmp_dir -> Damit ändert man das Verzeichnis, in das PHP standardmäßig temporäre Dateien hochlädt.

- disable_functions -> hiermit können in der php.ini bestimmte Funktionen von PHP deaktiviert werden z.B. system, shell_exec oder exec, wodurch Shell-Commands abgesetzt werden könnten. Um Informationen zu verbergen, kann hier auch phpinfo deaktiviert werden.

display_errors = Off setzen, damit Fehler nicht mehr direkt für jeden Benutzer angezeigt werden, wodurch der Pfad zu den htdocs bekannt wäre. Die errors würde ich in einer separaten Datei loggen mit:
Code:
log_errors = On
error_log = /pfad/log_datei


mod_security
Mit mod_security lässt sich z.B. XSS oder SQL Injection verhindern. Der Angreifer bekommt dann eine 403er Forbidden Meldung oder eigene Meldungen angezeigt ^^

Umfangreiche Regelwerke gibt es auch im Netz, jedoch ist der Seitenaufbau etc. dann oft langsam, weil es einfach zu viele Regeln sind. Es reichen aber auch schon wenige Regeln, um viele Angriffe zu unterbinden.

Eine Regel um <script> Befehle, welche für XSS häufig nötig sind, zu verhindern:

Code:
SecFilterSelective ARGS "<[[:space:]]*script"
SecFilterSelective ARGS "<[[:space:]]*meta"


Meta habe ich mal hinzugefügt, da man so sonst eine Redirection einrichten könnte.

Oder folgendes um SQL Injection einzuschränken:

Code:
SecFilterSelective ARGS "UNION"
SecFilterSelective ARGS "SELECT"


Auch INSERT, UPDATE, DELETE etc. könnte man jetzt verbieten, jedoch muss man hier aufpassen und alles testen, da es schnell zu False Positives kommt.

Auch Dateien können so geschützt werden, die aber ohnehin schon durch den safe_mode oder das basedir geschützt wären; schaden kann es dennoch nicht:

Code:
SecFilterSelective ARGS "/etc/passwd"
SecFilterSelective ARGS "/bin/*"


Viele Vulnerability Scanner oder Bots erkennen einen Webserver anhand der Signatur und scannen dann nach bekannten Sicherheitslücken. Die Signatur kann mit mod_security gefälscht werden; z.B. geben wir einfach mal an, dass wir den IIS verwenden:

Code:
SecServerSignature "Microsoft-IIS/5.2"
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BeitragVerfasst am: 14.05.2006 12:32 Antworten mit Zitat
hans_maulwurf
Anmeldedatum: 14.05.2006
Beiträge: 2




Ich würd noch:
Apache in nem Chroot starten
Hardened toolchain einsetzen und Apache/PHP/MySQL damit kompilieren
Min und MaxSpareServer so niedrig wie möglich setzen im DoS zu verhindern (ich setz Min immer auf 3 und Max auf 7 YMMV)
aufpassen das die Berechtigungen stimmen (z.B. vom cgi verzeichnis, der apache validiert die Programme so ziemlich garnicht, man kann auch fiese Programme dadrin verstecken)
logging logging und nochmals logging, logrotate benutzen, offsite backups von den logs machen, das log Verzeichnis mit möglichst geringen privs ausstatten (chown -R $apacheuser /var/log/apache && chmod -R 700 /var/log/apache)
Wenn man safemode mit exec benutzen möchte sollte man auch genau aufpassen was in dem exec Verzeichnis liegt Very Happy
Für die extra paranoiden, ein IDS aufsetzen Wink
Benutzer-Profile anzeigen Private Nachricht senden
BeitragVerfasst am: 28.01.2007 21:58 Antworten mit Zitat
Cerox
Anmeldedatum: 31.12.2005
Beiträge: 782
Wohnort: Engelskirchen




Für alle, die das Thema interessiert, hier ein empfehlenswerter Artikel von heiseSecurity:

http://www.heise.de/security/artikel/84149/0
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
BeitragVerfasst am: 12.11.2007 20:46 Antworten mit Zitat
Cerox
Anmeldedatum: 31.12.2005
Beiträge: 782
Wohnort: Engelskirchen




Ein weiterer Artikel von heise Security, welcher für Shared-Hosting-Kunden lesenswert ist:

http://www.heise.de/security/artikel/96564/0
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
[Sammelthread] LAMP-Server absichern
Foren-Übersicht » Server Security
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Alle Zeiten sind GMT + 1 Stunde  
Seite 1 von 1  

  
  
 Neues Thema eröffnen  Neue Antwort erstellen  


Forensicherheit

Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin
Deutsche Übersetzung von phpBB.de


remoteshell-security.com | Partner | Boardregeln | Impressum