Lag din egen brannmur med iptables ved hjelp av dette enkle skriptet

Jeg tenkte på to ting om iptables en stund: de fleste av dem som leter etter disse opplæringene, er nybegynnere, og for det andre er mange allerede ute etter noe ganske enkelt og allerede utdypet.

Dette eksemplet gjelder en webserver, men du kan enkelt legge til flere regler og tilpasse det til dine behov.

Når du ser "x" endre for IP-ene


#!/bin/bash

# Vi renser iptables-tabeller -F iptables -X # Vi renser NAT iptables -t nat -F iptables -t nat -X # mangelbord for ting som PPPoE, PPP og ATM iptables -t mangle -F iptables -t mangle -X # Politikk Jeg tror dette er den beste måten for nybegynnere og # fortsatt ikke dårlig, jeg skal forklare output (output) alt fordi de er utgående tilkoblinger #, input vi forkaster alt, og ingen server skal videresende. iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 # Extranet wan extranet = eth1 # Keep state. Alt som allerede er tilkoblet (etablert) blir liggende slik: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j ACCEPT # http, https, vi spesifiserer ikke grensesnittet fordi # vi vil at det skal være alle iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh bare internt og fra dette spekteret av ip's iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranett --dport 7659 -j ACCEPT # overvåking for eksempel hvis de har zabbix eller noe annet snmp service iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranett --dport 10050 -j ACCEPT # icmp, ping vel det er opp til deg iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranett -j ACCEPT #mysql med postgres er port 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ACCEPT #sendmail bueeeh hvis du vil sende litt mail #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - den virkelige wan ip til serveren din LAN_RANGE = "192.168.xx / 21" # LAN-rekkevidde av nettverket ditt eller dine vlan # Ip-er som aldri skal komme inn i ekstranettet,er å bruke litt # logikk hvis vi har et rent WAN-grensesnitt, bør det aldri gå inn i # LAN-type trafikk gjennom det grensesnittet 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 "# Standardhandling - skal utføres når en hvilken som helst regel samsvarer med ACTION =" DROP "# Pakker med samme IP på serveren min gjennom wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A UTGANG -o $ ekstranett -s $ SERVER_IP -j $ HANDLING # Pakker med LAN Range for wan, jeg setter det slik i tilfelle du har # noe bestemt nettverk, men dette er overflødig med følgende # regel inne i sløyfen " for "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Alle SPOOF-nettverk er ikke tillatt av wan for ip i $ SPOOF_IPS gjør iptables -A INNGANG -i $ ekstranett -s $ ip -j $ HANDLING iptables -A UTGANG -o $ ekstranett -s $ ip -j $ HANDLING utført

Som alltid venter jeg på kommentarene dine, følg med i denne bloggen, takk