 |  | | [Sammelthread] LAMP-Server absichern |
|  |
Verfasst am: 07.05.2006 01:10 |
|
|
| 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" |
|
|
|
|
|
 | |  |
Verfasst am: 14.05.2006 12:32 |
|
|
| 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
Für die extra paranoiden, ein IDS aufsetzen  |
|
|
|
|
Verfasst am: 28.01.2007 21:58 |
|
|
| Cerox |
|
 |
 |
| Anmeldedatum: 31.12.2005 |
| Beiträge: 782 |
| Wohnort: Engelskirchen |
|
|
 |
 |
 |
|
|
|
|
|
Verfasst am: 12.11.2007 20:46 |
|
|
| Cerox |
|
 |
 |
| Anmeldedatum: 31.12.2005 |
| Beiträge: 782 |
| Wohnort: Engelskirchen |
|
|
 |
 |
 |
|
|
|
|
|
| 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
|
|
|
|
|