Está en la página 1de 4

Lobasico iptables -t [tabla] -[AIRDLFZNXP] [cadena] [criterio] -j [accin]

t[tabla]
Estapartedelcomandoespecificacualeslatablaenlaquequeremosa adirlaregla.Existen3 tiposdetablasvlidas:nat,filterymangle,siendofilterlatablapordefectosiseomiteestaparte del comando. Natserefierea las conexiones quesern modificadas porelfirewall,como por ejemplo,enmascararconexiones,realizarredireccionesdepuertos,etc.Filtereslatabladondese aadenlasrelacionadasconelfiltrado.Mangletambienmodificapaquetespero,adiferenciade Nat,esmuchomaspotente.ConManglepodemosmodificarcualquieraspectodelpaquete(flags, TTL,etc).

[AIRDLFZNXP][cadena]
Hay4opcionesbsicasconlasquesepuedejugarenestaapartadodelcomando.Estasopciones bsicassonlassiguientes:

Aesparaaadir(Append)unacadena.CadenasvlidassonINPUT,FORWARDy OUTPUT. Lesparalistarlasreglasenlascadenas. FesparaborrartodaslasreglasoenelcasodeINPUT,FORWARDoOUTPUT sendadoscomoargumentoseborraranlasreglasasociadassoloaesaclase. P establece lapolitica pordefectodel firewall. Pordefectoes aceptartodas las conexiones.

[criterio]
Aquiesdondeseespecificarnlascaractersticasdeltipodepaquetequecasarconestaregla.Para establecerreglassencillas(reglasstateless),podemosoperarconlassiguientesopciones:s(ip/red fuente),d(ip/reddestino),sport(puertofuente),dport(puertodestino),yp(protocolo).Un ejemplodecomandodelasintaxisdeuncomandoiptablessencillopodrasereste(laparteenque se define el criterio de la regla est en negrita) : iptables -A FORWARD -p [protocolo] -s [ip/red fuente] --sport [puerto fuente] -d [ip/red destino] --dport [puerto destino] -j DROP

j[accin]
Aqui establecemos que es lo que hay que hacer con el paquete. Las posibles opciones son : ACCEPT,REJECT,DROP,REDIRECT,LOG(existnms,peroestassonlasbsicas).

ACCEPTaceptarelpaquete. REJECT o DROP lo desecharn, la direncia entre ellos reside en que DROP descartar elpaquetesilenciosamenteyREJECTemitir unpaqueteICMPPort Unreachable,indicandoqueestcerrado.

REDIRECTredirigir elpaqueteadondeseindiqueenelcriteriodelcomandoy porltimo. LOGlologearparasuposterioranlisis.

Ejemplos:
Cerrarconexionesentrantesdesdeeth0yhaciaelpuerto(local)80(HTTP): iptables -A INPUT -p tcp -i eth0 --dport 80 -j DROP
Ejemplo6.1.1

Enmascarar por las conexiones procedentes de la red 10.0.0.0 como si lo hicieran desde la ip configuradaenlainterfazeth0.(tpicareglaenunrouterlinuxcompartiendolaconexineth0conla redlocalconectadaaeth1). iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.255.255.0 -j
MASQUERADE Ejemplo6.1.2

Unareglaequivalenteaestapuedeseresta(siatacamosporSNATenlugardeMASQUERADE):
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to Ejemplo6.1.3 10.0.0.0/255.255.255.0

Redireccionaralpuerto3128(proxy)todoslospaquetesqueentranporeth1ycondestinopuerto80 (HTTP),deestamaneraconseguimosunproxytransparente. iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
Ejemplo6.1.4

Detenertodaslasconexionesentrantesdesdelainterfazeth0menoslaconexionesalservicio SSH. Laprimeraregladejapasarlospaquetesal22ylasegundacierratodolodemas.Sinembargotodas las conexiones que se realizen desde la mquina (como navegar, consultar correo, etc) estarn permitidasporquenosonconexionesiniciadasdesde"fuera".Conipchainsestetipodereglas (reglasdeinspeccindeestado,statefull)noexistan.
iptables -A INPUT -p tcp -i eth0 -m state --state NEW,ESTABLISHED,RELATED --dport 22 -j ACCEPT iptables -A INPUT -p all -i eth0 -m state --state NEW,INVALID -j DROP
Ejemplo6.1.5

DeshabilitarlospaquetesICMPentrantesdetipoecho(8)paraelfirewall(reglaINPUT)ylared protegida(reglaFORWARD). iptables -A OUTPUT -i eth0 -p icmp --icmp-type 8 -j DROP iptables -A FORWARD -i eth0 -p icmp --icmp-type 8 -j DROP
Ejemplo6.1.6

Denegarpaquetesfragmentadospordebajode40bytes.Tantoparaconexionesquedirigidasal firewall(reglaINPUT)comolasquepasanatravesde l(reglaFORWARD).Estareglaevita ataquesdeltipo"TinyFragmentAttack" iptables -A INPUT -i eth0 -f -m length --length 0:40 -j DROP iptables -A FORWARD -i eth0 -f -m length 0:40 -j DROP
Ejemplo6.1.7

Asumiendo que usted posea un conecin discada a internet en su caja linux que usa como router/gateway, la siguiente regla deshabilita todo el trfico desde el exterior al servidor WEB corriendoensucajaLinux: iptables -A INPUT-p tcp dport www -i ppp+ -j DROP
Ejemplo6.1.8

Siustedbuscadetenerelaccesoacualquierservidorinterno(Estoslofuncionasisusservidores web escuchan por el puerto 80) deber insertar la misma regla en la cadena FORWARD (-A FORWARD): iptables -A FORWARD -p tcp dport www -i ppp+ -j DROP
Ejemplo6.1.9

SourceNAT
AsumamosqueustedtieneunenlacePPPasuISPconunadireccinesttica(1.2.3.4)yunared localprivadaparalaquequierecompartirsuconexinaINTERNET.Conelcomandoiptables operamossobrelatablaNATcomosemuestraacontinuacin:
iptables -t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 1.2.3.4
Ejemplo6.1.10

ElcomandoagregaunreglaalacadenaPOSTROUTING(-A POSTROUTING),elculseaplicaa lospaquetesquesalganporlaprimerainterfazPPP(-o ppp0):sesaltaaSourceNAT(-j SNAT) ysecambialadireccindeorigenaladireccin1.2.3.4(--to-source 1.2.3.4). Silaipdelaconecinesdinmicaasignada,sedeberutilizarMASQUERADE.Estopermitequeen elcasodeconexionesdiscadasendemandaquelospaquetesseancorrectamentemapeadosala nuevadireccindespuesdelrediscado(compararconelejemplo6.1.2): iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Ejemplo6.1.11

DestinationNAT
Elotroladodelamonedaescuandoserequierecambiarladireccindedestinoenunaconexin. Estoesusadoparaconexionesentrantesquebuscanconectaraequiposquenoposeenunadireccin IPvlidaoencaminable(porejemplo192.168.1.2).Estoesllamado portforwarding.Porejemplosi sedeseaquelasconexiones WEBentrantes porunainterfazPPP seanenviadasaladireccin

192.168.1.2(presumiblementeunWebserver),sedeberusarunareglaNATcomolasiguiente: iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport www -j DNAT --to-dest 192.168.1.2
Ejemplo6.1.12

Estoagregaunareglaalacadenade PREROUTING(-A PREROUTING),elculaplicaalos paquetesTCPdestinadosalpuertoWWW (-p tcp --dport www) entrantesporlaprimera interfazPPP(-i ppp0 ).LaregladiceSalteaDestinationNATtarget(-j DNAT )ycambiela direccindedestinoa192.168.1.2 (--to-dest 192.168.1.2 )",compareconelejemplo 6.1.4. Loanteriorsirvetambinparaimplementarproxystransparentesconsquid(elculdebeestar configuradoparaactuarcomoproxytransparente),vealasiguientelineadecomando: iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport www -j REDIRECT --to-port 3128
Ejemplo6.1.13

EstareglaredirijetodaslasconexionesdestinadasaunservidorWEB(--dport www)alpuerto 3128 ("toport3128") enestamquina (-j REDIRECT),dondersquidoalgnotrodemonio proxypresumiblementeest escuchando.Lasiguientereglatieneelmismoefecto jDNATto dest1.2.3.4:3128(asumiendoqueladireccinipdelamquinaes1.2.3.4). Proxys tranparentes son usados como una poderosa tecnica para redirigir el trafico a algn demonio para filtro de contenidos, cache o para bloqueo. Esta tcnica libera al administrador de red configurar explicitamente cada Web browser en los clientes para usar el proxy.

También podría gustarte