Jag spenderade lite tid på att tänka på två saker om iptables: de flesta av dem som letar efter dessa tutorials är nybörjare och för det andra, många letar redan efter något ganska enkelt och redan utarbetat.
Det här exemplet gäller en webbserver, men du kan enkelt lägga till fler regler och anpassa dem efter dina behov.
När du ser "x" ändra för dina ip
#!/bin/bash
#Rengör iptabeller -F iptables -X # Vi rengör NAT iptables -t nat -F iptables -t nat -X # mangeltabell för saker som PPPoE, PPP och ATM iptables -t mangle -F iptables -t mangle -X # Policy Jag tror att det här är det bästa sättet för nybörjare och # fortfarande inte dåligt, jag ska förklara allt eftersom de är utgående anslutningar #, ingång vi kasserar allt och ingen server ska vidarebefordra. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Behåll tillstånd. Allt som redan är anslutet (etablerat) lämnas så här: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http, https, vi anger inte gränssnittet eftersom # vi vill att det ska vara för alla iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh endast internt och från detta sortiment av ip's iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranät --dport 7659 -j ACCEPT # övervakning till exempel om de har zabbix eller något annat snmp service iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp, ping bra det är upp till dig iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranät -j ACCEPT #mysql med postgres är port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh om du vill skicka mail #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - den verkliga wan ip på din server LAN_RANGE = "192.168.xx / 21" # LAN-intervall av ditt nätverk eller dina vlan # Ip som aldrig ska komma in i extranet,är att använda lite # logik om vi har ett rent WAN-gränssnitt ska det aldrig komma in i # LAN-typtrafik genom det gränssnittet SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0 / 16 "# Standardåtgärd - ska utföras när någon regel matchar ACTION =" DROP "# Paket med samma ip på min server genom wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranät -s $ SERVER_IP -j $ ACTION # Paket med LAN-intervallet för wan, jag uttrycker det så här om du har # något speciellt nätverk, men detta är överflödigt med följande # regel inuti slingan " för "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Alla SPOOF-nätverk tillåts inte av wan för ip i $ SPOOF_IPS gör iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION done
Som alltid väntar jag på dina kommentarer, håll dig uppdaterad på den här bloggen, tack