| Linux/UNIX Linuxverfechter finden hier Weggefährten. |
Diskussion: Firewall für Homeserver im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hi, könnte sich mal jemand meine iptables anschaun und mir sagen ob das so taugt für einen Homeserver? Der ...
![]() |
| | #1 (permalink) |
| Senior Member Registriert seit: 26.03.06 ![]() Likes: 16 | Anzeige Hi, könnte sich mal jemand meine iptables anschaun und mir sagen ob das so taugt für einen Homeserver? Der Rechner hängt direkt am Netz, da bin ich manchmal etwas paranoid und da meine iptables skills noch nicht so gut sind hol dich da lieber mal Drittmeinungen ein Code: #!/bin/bash ################################### # SETUP ################################### modprobe ip_conntrack echo "1" > /proc/sys/net/ipv4/ip_forward echo "0" > /proc/sys/net/ipv4/ip_dynaddr ################################### # CLEAR ALL AND SET DEFAULTS ################################### # clear all iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -t nat -F # set policies iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP ################################### # ALLOW ALL TRAFFIC ON LOOPBACK ################################### iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ################################### # EXCEPTIONS OF THE INPUT POLICY ################################### # allow all traffic from the inside iptables -A INPUT -i eth0 -j ACCEPT # allow port 22 from the outside iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT # allow port 80 from the outside iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT # allow related iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT # log all tcp traffic that will be dropped iptables -A INPUT -i ppp0 -p tcp -j LOG ################################### # EXCEPTIONS OF THE FORWARD POLICY ################################### # allow all traffic to pass from the inside to the outside iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT # and allow related traffic to be forwarded to the inside iptables -A FORWARD -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT # enable source nat iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE serow |
| | |
| | #2 (permalink) |
| Registriert seit: 05.09.07 ![]() Likes: 0 | Ich bin nicht sonderlich gut, in Sachen iptables - aber "Blocke alles außer ..." ist schon mal nicht verkehrt ![]() Ansonst kann ich dir aber prinzipiell mal http://nmap-online.com/ empfehlen, um den Server von außen abzutasten. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Member of Honour ![]() | also wenn du SSH-Port nach außen hin offen hast (und auch noch auf Standard-Port 22), dann hast du gaaanz schnell 'ne ziemlich große auth.log Da solltest du 1.) den SSH-Server so absichern, dass nur ganz bestimmte Nutzer (und definitiv KEIN root) Zugriff bekommen können. und 2.) könntest du fail2ban nutzen, um Scriptkiddies und Bots, welche permanent versuchen, sich (meist mit username=root) bei dir einzuloggen, für eine frei definierbare Dauer komplett zu blocken... Du kannst natürlich SSH auch einfach auf einen anderen Port legen und hast automatisch 90% weniger Angriffe, aber diese Art der "Sicherung", Security through Obscurity, sollte definitiv niemals die einzige sein... Es gibt auch Möglichkeiten, dass du den SSH-Port an sich sperrst und erst auf 'nem anderen Port "anklopfen" musst, auf dass die Firewall den SSH-Port freigibt... (Stichwort "port knocking") |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Folgende procfs-Einstellungen würde ich noch empfehlen: Code: # auf Broadcast-Pings nicht antworten
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# halt die Klappe bei komischen ICMP Nachrichten
echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Kicke den ganzen IP Spoofing Shit
# (Source-Validierung anschalten)
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Setze Default-TTL auf 61 (Default fuer Linux ist 64)
echo 61 > /proc/sys/net/ipv4/ip_default_ttl
# sende RST-Pakete wenn der Buffer voll ist
echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
# warte max. 30 secs auf ein FIN/ACK
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
# unterbreche Verbindungsaufbau nach 3 SYN-Paketen
# Default ist 6
echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
# unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
# Default ist 6
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #5 (permalink) |
| Senior Member Themenstarter Registriert seit: 26.03.06 ![]() Likes: 16 | Hi, danke für die Tips. Schonmal gut zu hören, dass es nicht komplett verkehrt war ^^ Die /proc Settings verstehe ich zwar nicht, habe sie aber mal übernommen. Da fehlt mir wohl das Hintergrundwissen bzgl Attacken. Ich hab meine Logs bisher mal analysiert und habe gemerkt, dass wohl 90% der gedroppten Packete aus China kam. Darauf hin hab ich mir ne Liste aller IP Blöcke aus China geholt und per Code: iptables -A INPUT -i ppp0 -s <BLOCK> -j DROP ![]() cu serow |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Bedenke, dass sehr viele Regeln allgemein den Traffic ausbremsen, da jedes Paket durch diese Regeln wandern muss. Man sollte daher die Regeln so gering wie möglich halten und besser IP-Ranges mit einer Regel aussperren, anstatt mit 255 oder mehr.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |