Code: Select all
# Durch "version 5" weiß FireHOL, welche Konfigurations-Syntax benutzt wird.
version 5
# Anlegen einer Konfiguration für das Device "eth0" mit dem Namen "INTERNET".
# Der Name "INTERNET" wird später in den Log-Dateien erscheinen.
interface eth0 INTERNET
# "policy" definiert das Standard-Vorgehen, wenn keine der Regeln für dieses Interface zutrifft.
# Pakete verwerfen "drop", ablehnen "reject", annehmen "accept"
policy drop
# Mit "protection" können verschiedene Schutzmechanismen aktiviert werden.
# Syntax: "protection" ["reverse"] <"type"> ["requests/sec" ["burst"]]
# "reverse" gibt an, dass der Schutzmechanismus von "innen nach außen" funktioniert.
# "strong", oder "full", oder "all" aktiviert alle verfügbaren Schutzmechanismen. (außer "invalid")
protection strong 10/sec 10
# "invalid" verbietet ungültige Pakete
protection reverse invalid
protection invalid
# "fragments" verbietet Paket-Fragmente
# protection reverse fragments
# protection fragments
# "syn-floods" schützt vor Attacken mit Syn-Cookies
# protection reverse syn-floods
# protection syn-floods
# "icmp-floods" schützt vor Attacken über ICMP
# protection reverse icmp-floods 30/min 20
# protection icmp-floods 30/min 20
# "malformed-xmas" verbietet Pakete, die alle TCP-Flags verwenden
# protection reverse
# protection malformed-xmas
# "malformed-null" verbietet Pakete, die keine TCP-Flags verwenden
# protection reverse malformed-null
# protection malformed-null
# "malformed-bad" verbietet Pakete, mit einer ungültigen Kombinationen aus mehreren TCP-Flags
# protection reverse malformed-bad
# protection malformed-bad
# Konfiguration von Server und Client-Diensten.
# Dienste verwerfen "drop", ablehnen "reject", annehmen "accept"
# "server" dient zur Konfiguration eines Server-Dienstes.
server http accept
server ssh accept
# "client" gibt an, das der Server als Client für den in der Regel spezifizierten Dienst agiert.
# "all" ist ein spezieller Dienst der alle Ports ohne Beschränkung freigibt.
# client all accept
# Zugriff auf externe "http" oder "ftp"-Server zulassen. (nur Benutzer "root")
# Dies verhindert z.B. auch, dass Kunden mit PHP andere http oder ftp-Server abfragen.
client http accept user "root"
client ftp accept user "root"
# "dns"-Abfragen erlauben (jedem Benutzer)
# client dns accept
# "smtp"-Verbindungen zu externen Servern zulassen. (nur Benutzer "postfix")
# client smtp accept user "postfix"
# "webmin" erlauben
# server webmin accept
Einige der Auskommentierten Zeilen sind jetzt schon hinzugefügt, falls ich später noch weitere Dienste einrichte.
Die vielen Kommentare deshalb, um später nicht mehr all zu viel in der FireHOL Dokumentation nachsehen zu müssen. Sind eurer Meinung nach alle Punkte richtig beschrieben worden?
Bin dankbar für jeden Verbesserungsvorschlag. :)
Wenn "protection strong" verwendet wird das wie ich gelesen habe alle Schutzfunktionen aktiviert, kann ich dann auf die individuell Konfiguration wie z.B. "fragments" oder "syn-floods" verzichten?
..