• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

iptables Rules LinuxServer

Jägerschlürfer

Moderator
Teammitglied
Hallo zusammen,
ich bin gerade dabei einen Server zu erstellen, der dann einmal via ssh erreichbar sein soll und auf dem dann mal ein ftp Server laufen soll. Da der Server auch vom Internet erreichbar sein soll, müssen ja entsprechende Absicherungen vorhanden sein.
Momentan läuft der Server erst einmal in einer virtuellen Umgebung um erst einmal alles zu testen.
Bei dem BS handelt es sich um debian jessie,...
Installiert ist bis jetzt das Grundsystem inkl. ssh Server sowie fail2ban um Einbruchversuche über ssh zu blocken. Dies funktioniert auch wie es soll.
Hierfür wurden von fail2ban folgende Rules angelegt:
Code:
iptables -N fail2ban-ssh
iptables -A fail2ban-ssh -j RETURN
iptables -I INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh
Da ich die restlichen Ports natürlich auch noch schließen will, habe ich mir noch folgende Rules vorgestellt:
Code:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j LOG --log-prefix "DROP - "
iptables -A INPUT -j DROP

Wo ich mir jetzt allerdings nicht sicher bin ist, ob ich die Rule
Code:
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
überhaupt benötige.

Kann mir das einer, der sich mit Firewalls besser auskennt kurz erläutern?

Danke
 

marce

Guru
Über den Sinn und Unsinn von Firewall, vor allem, wenn die Dienste eh für alle offen sein sollen, kann man recht umfangreich diskutieren.

Dienste, die verfügbar sein sollen musst Du eh öffnen. Mach da also lieber eine sichere Grundkonfiguration, z.B. ssh über Keys.
Dienste, die nicht nach außen offen sein sollen konfiguriert man intern entsprechend. Damit kannst Du Dir den Paketfilter dafür auch sparen.

... und dann bleibt noch recht wenig übrig, wo für einen einzelnen ded. Server Paketfilter sinnvoll sind...
 
Jägerschlürfer schrieb:
Gräfin Klara schrieb:
Wie sieht die chain fail2ban-ssh aus ?
Die isr relativ simple. Blocke IPs nach x fehlerhaften Logins x Minuten lang. Mehr nicht.

Ich kenne das fail2ban nicht, aber wenn das alles ist was es bietet, dann wirf es raus.
Richtung Internet reicht das bei weitem nicht..
Du hast wahrscheinlich mehrere Schnittstellen. Das muß hinein in die chain.
Bestimmte, ungültige IPs nach RFC-1918,2008 und IPv6 ebenfalls, weiters SYN-Flood, bad flags Konstellationen von ACK,FIN,RST,usw., und natürlich Multicast und default gateway
FIN timeout, tcp keepalive time und IP_local_portrange sollte auch in die chain.
Man kann es sich natürlich einfach machen, dann ist fail2ban ein bißchen mehr als nichts
 

spoensche

Moderator
Teammitglied
Warum einen separaten FTP aufsetzen, wenn OpenSSH SFTP mit an Board hat? Du kannst z.B. jeden einzelnen SFTP- User in einge Gruppe packen und in der Konfig angeben, das jeder User in einer eigenständigen chroot Umgebung landet.

Als nächstes erlaubst dann einfach nur Public Key Authentifizierung, also keine Passwörter und du bist sämtliche Bruteforce Versuche los.

IP-Tables technisch bräuchtest du dann nur max. 2 Regeln (1 die Blockt und die 2. fürs Logging), die eine bestimmte IP bei x Verbindungsversuchen pro Minute für einen Zeitraum Y bannt. Das ist mit der Kombination IP-Tables und IP-Set nicht kompliziert umzusetzen.

Dann kannst du dir Fail2Ban sparen, dir sicher sein, dass die User nur Zugriff auf ihr /home Verzeichniss haben, keiner per Brouteforce möglicherweise ein Passwort errät.etc.
 
Oben