Exemple de iptables

Actualizat duminică, 19 iunie 2016

iptables este un sistem de firewall legat de kernelul Linux. Contrar a ceea ce poate părea iptables nu sunt ca un server pe care îl inițiem sau nu mai exista o vulnerabilitate pe care un DDOS a permis, dar va fi întotdeauna mai eficientă decât aplicațiile care ascultă într-un anumit port TCP. IPtable este integrat cu kernelul, face parte din sistemul de operare. Putem crea, modifica, șterge toate tipurile de reguli, aici vom propune câteva exemple.

Resetare IPABABABLE ID ID = „A693992F75”>

iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -Fiptables -t nat -F

Vizualizarea stării de firewall și regulile de listă
Introduceți următoarea comandă ca rădăcină:

iptables -L -n -viptables -n -L -v --line-numbers iptables -L INPUT -n -viptables -L OUTPUT -n -v --line-numbers

ștergere reguli de firewall

iptables -L INPUT -n --line-numbersiptables -L OUTPUT -n --line-numbersiptables -L OUTPUT -n --line-numbers | lessiptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

poate fi șters de numărul de regulă

iptables -D INPUT 4

sau specificați o regulă care se potrivește

iptables -D INPUT -s 202.54.1.1 -j DROP

Stabiliți politicile implicite de firewall la Eliminați tot traficul:

iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROPiptables -L -v -n

blochează doar traficul de intrare

pentru a șterge toate pachetele primite / trimise, dar permite traficul de ieșire, tip :

div id = „A693992F75”>

iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPTiptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPTiptables -L -v -n

Ștergerea adreselor de rețea privată în interfața publică (presupunând Eth1 ca public interfață)

bloc id:

Salvare reguli:

iptables-save > /root/iptables.fw

în CentOS / Rhel / Fedora Linux,:

service iptables save

Restaurare reguli :

iptables-restore < /root/iptables.fw

restaurare în CentOS / RHEL / Fedora Linux:

service iptables restart

puteți Reîncărcați regulile atunci când reporniți serverul:

vi /etc/rc.local
# Reload IPTABLES Rules automatically on restart/sbin/iptables-restore < /root/iptables.fw

în centrul de a salva regulile pentru a le reîncărca În mod automat:

/etc/sysconfig/iptables

Permiteți toate traficul de loopback și eliminați tot traficul la 127/8 care nu utilizează LO0

iptables -A INPUT -i lo -j ACCEPTiptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

Șterge orice pachet TCP care nu a fost pornit cu steagul Syn Active

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

acceptați toate conexiunile de intrare stabilite

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Eliminați orice pachet nevalid care nu poate fi Identificat

iptables -A INPUT -m state --state INVALID -j DROPDrop all inbound telnet trafficiptables -I INPUT -p tcp --dport 23 -j DROPDrop all outbound web trafficiptables -I OUTPUT -p tcp --dport 80 -j DROPDrop all outbound traffic to 192.168.0.1iptables -I OUTPUT -p tcp --dest 192.168.0.1 -j DROPAllow all inbound web trafficiptables -I INPUT -p tcp --dport 80 -j ACCEPTAllow inbound port traffic for localhostiptables -I INPUT -s 12.0.0.1 -p tcp --dport 2003 -j ACCEPTAllow inbound HTTPS traffic from 10.2.2.4iptables -I INPUT -s 10.2.2.4 -p tcp -m tcp --dport 443 -j DROPDeny outbound traffic to 192.2.4.0-192.2.4.255iptables -I OUTPUT -d 192.2.4.6.0/24 -j DROP

blochează traficul în domeniul Facebook.com, ne uităm la IP-ul Facebook.com și apoi gama dvs. IPS

host -t a www.facebook.comwhois 69.171.228.40 | grep CIDR

Noi creăm regula pentru a nu permite accesul

iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

și pe numele de domeniu, dar nu este 100% eficient.

divid id = „01fc77706E”>

Permite conexiunile primite la Port 21 dintr-un IP 11.22.33.44

iptables -A INPUT -p tcp -m state --state NEW --dport 21 --source 11.22.33.44

permite toate traficul de intrare ssh

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

permit ssh

iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

permite traficul http

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

permit HTTPS de ieșire.

DIV id = „A693992F75 „”> div>

iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

Combinați reguli cu multipport

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

nega Toate conexiunile primite la portul 21.

iptables -A INPUT -p tcp -m state --state NEW --dport 21 -j DROP

Șterge prima regulă de intrare

a inflori Quar sau să permită solicitarea ICMP Ping

iptables -A INPUT -p icmp --icmp-type echo-request -j DROPiptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT/// A continuación sólo acepta tipo limitado de peticiones ICMP:

### ** a presupus că politica de intrare implicită setată la Drop ** ######## ## ## IPTABLES -A INPUT-PP-AICMP-tip Echo-Răspuns -J Acceptați iptables-o intrare -P-PP Dezactivare de tip IPMP-IPPABABLE -AMPABABABLES -A INPUT-PP ICMP-AICMP-TIP TIP -EXCEEDED -J acceptați
## ** toate serverul nostru să răspundă la Pings ** ## IPTABLES -A INPUT-PP ICMP-AICMP-TIP ECHO-cerere -j acceptați

FB90EF12D „>

iPtables-o intrare -p iCMP-de tip Echo-cerere -j acceptați iPtables -a ieșire -p ICMP – ICMP- Tip Echo-Răspunde -J acceptați

Permitir PING de dentro a fuera.

iPptables -a Ieșire -P ICMP-AICMP-tip Echo-cerere -j acceptați iptables -a intrare – P ICMP -Ip-replica -j acceptați

Permitir tráfico DNS saliente.

iptables -a ieșire -p udp -o eth0 -dport 53 -j acceptați iptables-o intrare – P UDP -I ETH0 -SPORT 53 -J Acceptați

Abrir un rango de puertos de entrada

iPtables -a intrare -M stare de stat NE W -m TCP-PP TCP DPT 7000: 7010 -J Acceptați

Abrir un rango de IPs

## numai acceptarea conexiunii la portul TCP 80 (Apache) IP IP este între 192.168 .1.100 și 192.168.1.200 ## IPTABABABLES-AUT -P DESTINAȚIA TCP-PORT 80 -M IPRAGE SRC-gama 192.168.1.100-192.168.1.200 -J Acceptați

## NAT Exemplu ## T NAT – Așezarea -j SNAT-la-Sursa 192.168.1.20-192.168.1.25

%%%Restringir el número de conexiones concurrentes a un servidor por IP%%%Puedes utilizar el módulo connlimit para crear estas restricciones. Permitir 3 conexiones SSH por cliente:

iPtables-o intrare -p TCP Syn DPort 22 -m Connlimit -Connlimit-deasupra 3 -j Reject

DIV id = ” A693992F75 „>

iPtables -p TCP Syn Dport 80 – m Conllimit Conllimit-mai sus 20 Conllimit-Mask 24-J Drop

Donde:* --connlimit-above 3 : Match if the number of existing connections is above 3.* --connlimit-mask 24 : Group hosts using the prefix length. For IPv4, this must be a number between (including) 0 and 32.%%%Eliminar o aceptar paquetes desde una MAC Address

iPptables -a Intrare -m Mac -Mac-sursă 00: 0F: EA: 91 : 04: 08 -J Drop
## * Acceptați doar traficul pentru portul TCP # 22 de la Mac 00: 0f: EA: 91: 04: 07 * ## IPTABABABABABLES-PORT-PORD 22 -M MAC MAC-Source 00: 0F: EA: 91: 04: 07 -J Acceptați

iptables-o intrare -p TCP DPort 80-M Limita limită 25 / minut -limit-burst 100 -j acceptați

iv id = „bbfe5d7d73”

iptentables -t nat -a prerout -p tcp -d 192.168.102.37 DPort 422 -J DNAT la 192.168.102.37:22 IPTABABABLES-AUT-IPPUT0-PP TCP DPART 422 -M Starea de stat Noua, stabilita -J accepta Iptables -a Output -o Eth0 -p Tcpsport 422 -m Stat de stat stabilit -j accepta

iPtables-o intrare -I Eth1 -s 10.0.0.0/8 -J Log -Log-Prefix „IP_Spoof A:” IPTABLES -A INPUT-III ETH1 -S 10.0.0.0 / 8 -J drop

Logar y eliminar paquetes limitando el número de entradas repetidas en el LOG

iptables-o intrare -I Eth1 -s 10.0.0.0/8 -M Limita limita 5 / m Limit-Burst 7 – J Log -Log-Prefix „IP_Spoof A:” IPTABLES -A INPUT – IPA 10.0.0.0/8 -J Drop

Sacar en el log los paquetes caídos.* Primero creamos una cadena llamada LOGGING:

iptables -n Logging

Luego todas las conexiones entrantes vayan por la cadena LOGGING

iptentables-o intrare -j logging

Logueamos paquetes con un log-prefix

iPtables-o limită limită de logging 2 / min-l log log-prefix „iptbles pachet a scăzut:” -Log-nivel 7

Y los bloqueamos:

iptables-o logging -j drop

%%%Listado de reglas ejemplo para puertos TCP/UDP comunes:* Replace ACCEPT with DROP to block port:

## deschis port ssh tcp port 22 ## iptables-o intrare – M starea de stat NEW -M TCP-PP TCP DPort 22 -J Acceptați IPTABABABLES -A INPUT -US 192.168.1.0/24 -M STATE DE STATE NEW-PP DPPort 22-L Acceptați

## cupe deschise (Serviciul de tipărire) UDP / TCP Port 631 pentru utilizatorii LAN ## IPTABLES -A INPUT -S 192.168.1.0/24 -P UDP -M UDP -PPORT 631 -J Acceptați IPTABABLES -A INPUT -S 192.168.1.0/24 -P TCP -M TCP -Port 631 -J Acceptați

## Permiteți Sincronizarea timpului prin intermediul utilizatorilor NTP pentru utilizatorii LAN (portul UDP deschis 123) ## iptables-o intrare -s 192.168.1.0/24 -M STATESTATE NEW -P UDP DPort 123 -J Acceptați

## Open TCP Port 25 (SMTP) pentru toate ## iptables-o intrare de intrare -M de stat New -p TCP DPort 25 -J Accept

  1. Deschideți porturile server DNS pentru toate ##
  2. ol

iPtables-o intrare -M de stare de stat NEW -P UDP DPort 53 -J Accept IPTABLES -A INPUT-AN State de stat NEW -P TCPPORT 53 -J Accept

## OPEN HTTP / HTTPS (Apache) port server la toate ## iptables-o intrare de intrare -M de stare de stat nou -p TCP DPort 80 -J Accept IPTABABLES -A Intrare -M State de stat NEW -P TCP DPort 443 -J Accept

## Open TCP Port 110 (POP3) pentru toate ## iptables-o intrare -M de stare de stat New -p TCP DPort 110 -J Accept

## Open TCP Port 143 (IMAP) pentru toate ## IPTABLES -A INPUT-STATE de stat NEW -P TCP DPort 143 -J Accept

## Acces deschis la Samba F Serverul ILE pentru utilizatorii LAN Numai ## iptables-o intrare -s 192.168.1.0/24 -M stare de stat NEW -P TCP DPort 137 -J Accept IPTABABABLES -A INPUT -S 192.168.1.0/24 -M State de stat NEW-PP TCP DPort 138 -J acceptă iptables-o intrare -s -s 192.168.1.0/24 -M State de stat NEW-PP DPPort 139-L Acceptați IPTABABLES -A INPUT -S 192.168.1.0/24 -M State de stat NEW-PP TCP DPort 445 -J Acceptați

## accesul deschis la serverul proxy pentru utilizatorii LAN Numai ## iptables-o intrare -s 192.168.1.0/24 -M Starea de stat NEW -P TCP DPPort 3128 -J Acceptați

## Accesul deschis la serverul MySQL pentru utilizatorii LAN Numai ## IPTABLES-INPUT-PP TCP -Port 3306 -J Accept ///

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *