Bloquear atacs mes comuns

Desfem les regles del firewall

iptables -F

Evitem bots d'escaneig de xarxes, evitant paquests nuls

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Mitjacant la instruccio anterior, li hem dit al nostre tallafocs que prengui tots els paquets entrants amb banderes tcp NONE i que els descarti (DROP). Els paquets nuls, son basicament, paquets de reconeixement. Els patrons d'atac els fan servir per intentar veure com esta configurat el servidor i trobar vulnerabilitats.

El seguent patro que hem de rebutjar es un atac Syn Flood o tambe denominat inundacio TCP/SYN.

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

Un Atac Syn Flood, vol dir que l'atacant obre una nova connexio, pero no manifesta el que vol (per exemple: paquets SYN, ACK), aprofitant-se de l'mecanisme de negociacio TCP i saturant el transit al nostre servidor. Simplement volen ocupar els recursos dels nostres servidors. No hem d'acceptar aquest tipus de paquets.

Ara continuarem amb un altre patro bastant comu: paquets XMAS -o paquets "arbre de Nadal" - que son tambe paquets de reconeixement.

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

En aquest punt, ja hem afegit regles per a alguns dels patrons d'atac mes comuns que busquen vulnerabilitats en el nostre servidor.

Obrir ports per serveis seleccionats

Afegim interface per localhost

iptables -A INPUT -i lo -j ACCEPT

Amb aquesta instruccio diem a iptables que afegiu (-A) una regla a la taula per: filtrar les connexions d'entrada (INPUT) provinents de localhost (-i lo) i acceptar-les (-j ACCEPT).

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Afegim els ports (port 80 http, port 443 https i port 22 ssh) a la cadena "acceptar" (ACCEPTAR) - permetent aixi, el transit a aquests ports

Ara mateix, necessitem afegir una regla mes que ens permetra l'us de connexions sortints (per exemple: ping des del nostre servidor o actualitzacions de programari):

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

Aixo permetra que qualsevol connexio sortint rebi respostes des del servidor a l'altre costat d'aquesta connexio. Quan tinguem tot configurat, bloquejarem tot el restant, i permetrem totes les connexions sortints:

iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP

Guardem les regles

Ara que hem establert tota la nostra configuracio, podem enumerar les regles per avaluar si falta alguna cosa:

iptables -vnL


iptables-save | sudo tee /etc/sysconfig/iptables
service iptables restart

Volver al inicio