Escolar Documentos
Profissional Documentos
Cultura Documentos
RedHatEnterpriseLinuxcontieneherramientasavanzadasparaelfiltradodepaquetesderedel
procesodentrodelkerneldecontrolarlospaquetesderedalentrar,mientrassemuevenycuandosalen
delared.Loskernelsanterioresal2.4confiabanenipchainsparaelfiltradodepaquetesyusaban
listasdereglasaplicadasalospaquetesencadapasodelprocesodefiltrado.Laintroduccindekernel
2.4trajoconsigoiptables(tambinllamadonetfilter),locualessimilaraipchainsperoexpande
enormementeelmbitoyelcontroldisponibleparaelfiltradodepaquetesdered.
Estecaptulosecentraenlasbasesdelfiltradoesencialdepaquetes,definelasdiferenciasentre
ipchainseiptables,explicalasdiferentesopcionesdisponiblesconcomandosiptablesy
muestracmosepuedenpreservarlasreglasdefiltradodurantereiniciosdelsistema.
Parainstruccionessobrecmoconstruirreglasiptablesoconfiguraruncortafuegos(firewallen
ingls)basadoenestasreglas,consultelaSeccin7
Aviso
Elmecanismopredeterminadodelcortafuegosenlaversin2.4delkernelesiptables,pero
stenosepuedeusarsiyaseestejecutandoipchains.Siipchainsestpresentedurante
elarranque,elkernelemitirunerrorynopodrarrancariptables.
Estoserroresnoafectanlafuncionalidaddelcomandoipchains.
1.Filtradodepaquetes
ElkerneldeLinuxtieneincorporadolacaractersticainternadefiltrarpaquetes,permitiendoaceptar
algunosdeellosenelsistemamientrasqueinterceptayparaaotros.Elnetfilterdelkerneltienetres
tablasolistasdereglasincorporadas.Sonlassiguientes:
filterLatablapordefectoparaelmanejodepaquetesdered.
nat Usada para alterar paquetes que crean una nueva conexin y utilizada para la
Traduccindedireccionesdered(NetworkAddressTranslation,NAT).
mangleUsadaportiposespecficosdealteracindepaquetes.
Sugerencia
Ademsdeestastablasincorporadas,sepuedencreartablasespecializadasyalmacenarlasen
eldirectorio/lib/modules/<kernelversion>/kernel/net/ipv4/netfilter/,donde<kernel-version>
correspondealnmerodelaversindelkernel.
Cadaunadeestastablastieneungrupodecadenasincorporadasquecorrespondenalasacciones
llevadasacaboporelfiltrodelared.
Lascadenasinternasparalatablafiltrosonlassiguientes:
INPUTAplicaalospaquetesrecibidosatravsdeunainterfazdered.
OUTPUTEstacadenasirveparapaquetesenviadospormediodelamismainterfazdered
querecibilospaquetes.
FORWARDEstacadenasirveparapaquetesrecibidosenunainterfazderedyenviadosen
otra.
Lascadenasinternasparalatablanatsonlassiguientes:
PREROUTINGAlteralospaquetesderedcuandoestosllegan.
POSTROUTINGEstacadenaalterapaquetesantesdequeseanenviadospormediodeuna
interfazdered.
POSTROUTINGAlteralospaquetesderedcuandoestossonenviados.
PREROUTINGEstacadenaalterapaquetesrecibidospormediodeunainterfazderedcuando
llegan.
OUTPUTEstacadenaalterapaquetesgeneradoslocalmenteantesdequeseandirigidospor
mediodeunainterfazdered.
POSTROUTINGEstacadenaalterapaquetesantesdequeseanenviadospormediodeuna
interfazdered.
Lascadenasinternasparalatablamanglesonlassiguientes:
PREROUTINGEstacadenaalterapaquetesrecibidospormediodeunainterfazderedantes
dequeseandirigidos.
POSTROUTINGAlteralospaquetesderedcuandoestossonenviados.
CadapaquetederedrecibidooenviadodesdeunsistemaLinuxestsujetoaalmenosunatabla.Sin
embargo,unpaquetepuedeestarsometidoamltiplesreglasdentrodecadatablaantesdeemergeral
finaldelacadena.Laestructuraypropsitodeestasreglaspuedevariar,peronormalmentebuscan
identificarunpaquetequevienedeosedirigehaciaunadirecccinIPenparticular,ounconjuntode
direcciones,cuandoutilizaundeterminadoprotocoloyserviciodered.
Nota
Noutilicenombresdedominiocompletosenlasreglasdelcortafuegosqueseguardanenlos
archivos/etc/sysconfig/iptableso/etc/sysconfig/ip6tables.Enel
ejemplosiguiente:iptables -A FORWARD -s example.com -i eth0 -j DROP
example.comnoesvlidoporqueelservicioiptablescomienzaantesdecualquier
servicioDNSrelacionado,loqueproduceunerror.SolamentelasdireccionesIPsonvlidas
paralacreacindereglasdecortafuegos.
Independientementedesudestino,cuandounpaquetecumpleunareglaenparticularenunadelas
tablas,selesaplicaunobjetivo(target)oaccinaellos.SilareglaespecificaunobjetivoACCEPTpara
unpaquetequecoincida,elpaquetesesaltaelrestodelasverificacionesdelareglaysepermiteque
continehaciasudestino.SiunareglaespecificaunobjetivoDROP,aesepaqueteseleniegaelacceso
alsistemaynoseenvanadadevueltaalservidorqueenvielpaquete.Siunareglaespecificaun
objetivoQUEUE,elpaquetesepasaalespaciodelusuario.Siunareglaespecificaelobjetivoopcional
REJECT,elpaqueteesdescartado,peroseenvaunpaquetedeerroralqueenvielpaquete.
CadacadenatieneunapolticapordefectodeACCEPT,DROP,REJECT,oQUEUE.Siningunadeestas
reglasenlacadenaseaplicanalpaquete,entonceselpaqueteestratadodeacuerdoalapolticapor
defecto.
Elcomandoiptablesconfiguraestastablas,ascomotambinconfiguranuevastablassies
necesario.
2.Diferenciasentreiptableseipchains
Aprimeravista,ipchainsyiptablesparecenserbastantesimilares.Ambosmtodosdefiltrado
depaquetesusancadenasdereglasoperandodentrodelkerneldeLinuxparadecidirquhacerconlos
paquetesquecumplendeterminadasreglas.Sinembargo,iptablesproporcionaunmtodomucho
msextensibledefiltradodepaquetes,proporcionandoaladministradorunniveldecontrolmuchoms
refinadosintenerqueaumentarlacomplejidaddelsistemaentero.
Msconcretamente,losusuariosqueseencuentrencmodosconipchainsdeberantenercuidado
conlassiguientesdiferenciassignificativasentreipchainseiptablesantesdeutilizar
iptables:
Bajoiptables,cadapaquetefiltradoseprocesanicamenteusandolasreglasdeuna
cadenasolamente,enlugardehacerseconmltiples.Porejemplo,unpaqueteFORWARDque
llegaalsistemausandoipchainstendrquepasarporlascadenasINPUT,FORWARD,y
OUTPUTparallegarasudestino.Sinembargo,iptablessloenvapaquetesalacadena
INPUTsisudestinoeselsistemalocalytanslolosenvaalacadenaOUTPUTsielsistema
localesquiengeneralospaquetes.Porestarazn,esimportantequecoloquelaregladesignada
paracapturarunpaqueteparticulardentrodelareglaqueenverdadmanejaelpaquete.
ElobjetivoDENYhasidocambiadoaDROP.Enipchains,lospaquetesquecoincidanuna
reglaenunacadenapodranserdirigidosalobjetivoDENY.Esteobjetivodebesercambiadoa
DROPbajoiptables.
Elordenesimportantecuandoseestencolocandoopcionesenunaregla.Anteriormente,con
ipchains,elordendelasopcionesdeunareglanoimportaba.Elcomandoiptablesusa
unasintaxismsestricta.Encomandosiptables,elprotocol(ICMP,TCPoUDP)debeser
especificadoantesdelpuertofuenteodestino.
Cuandoespecificamoslasinterfacesderedquevamosausarenunaregla,deberemosutilizar
slointerfacesdeentrada(opcin-i)concadenasINPUToFORWARDylasdesalida
(opcin-o)concadenasFORWARDoOUTPUT.Estoesnecesariodebidoalhechodequelas
cadenasOUTPUTnoseutilizanmsconlasinterfacesdeentrada,ylascadenasINPUTnoson
vistasporlospaquetesquesemuevenhacialasinterfacesdesalida.
Estanoesunalistacompletadeloscambios,dadoqueiptablesesfundamentalmenteunfiltrode
redreescrito.Parainformacinmsespecifica,consulteLinuxPacketFilteringHOWTOmencionado
enlaSeccin7.
3.Opcionesusadasencomandosiptables
Lasreglasparaelfiltradodepaquetesseponenenfuncionamientoejecutandoelcomandoiptables.
Confrecuenciaseutilizanlosaspectossiguientesdelpaquetecomoelcriterio:
TipodepaqueteDictaqutipodepaquetesfiltraelcomando.
Fuente/DestinodelpaqueteEspecificaculespaquetesfiltraelcomandobasndoseenel
origenodestinodelpaquete.
ObjetivoIndicaquaccinestomadaenpaquetesquecumplenloscriteriosmencionados
anteriormente.
Paramsinformacinsobreopcionesespecficasqueresuelvenestosaspectosdeunpaquete,consulte
laSeccin3.4ylaSeccin3.5.
Lasopcionesusadasconlasreglasiptablesdadasdebenestaragrupadaslgicamente,basndoseen
elpropsitoyenlascondicionesdelareglageneral,paraquelareglaseavlida.Elrestodeesta
seccinexplicalasopcionesusadascomnmenteparaelcomandoiptables.
3.1.Estructuradelasopcionesiptables
Muchoscomandosiptablestienenlasiguienteestructura:
iptables [-t <table-name>] <command> <chain-name> <parameter-1> \
<option-1> <parameter-n> <option-n>
Laopcin<table-name>permitealusuarioseleccionarunatabladiferentealatabla
predeterminadafilterausarconelcomando.Laopcin<command>indicaunaaccinespecfica
arealizar,talcomoanexaroeliminarlareglaespecificadaporlaopcin<chain-name>.Luegodela
opcin<chain-name>seencuentranunpardeparmetrosyopcionesquedefinenqupasar
cuandounpaquetecoincideconlaregla.
Cuandomiramoslaestructuradeuncomandoiptables,esimportanterecordarque,alcontrarioque
lamayoradeloscomandos,lalongitudycomplejidaddeuncomandoiptablespuedecambiaren
funcindesupropsito.Uncomandoparaborrarunaregladeunacadenapuedesermuycorto,
mientrasqueuncomandodiseadoparafiltrarpaquetesdeunasubredparticularusandounconjuntode
parmetrosespecficosyopcionespuedesermuchomslargo.Alcrearcomandosiptablespuede
serdeayudareconocerquealgunosparmetrosyopcionespuedencrearlanecesidaddeutilizarotros
parmetrosyopcionesparaespecificarmsanlapeticindelaopcinanterior.Paraconstruiruna
reglavlida,estodebercontinuarhastaquetodoslosparmetrosyopcionesquerequieranotro
conjuntodeopcioneshayansidosatisfechos.
Escribaiptables -hparaverunalistadetalladadelaestructuradeloscomandosiptables.
3.2.Opcionesdecomandos
Lasopcionesdecomandosledicenaiptablesquerealiceunaaccinespecfica.Solamenteuna
opcindecomandosepermiteporcomandoiptables.Exceptoelcomandodeayuda,todoslos
comandosseescribenenmaysculas.
Loscomandosdeiptablessonlossiguientes:
-AAadelareglaiptablesalfinaldelacadenaespecificada.Esteeselcomando
utilizadoparasimplementeaadirunareglacuandoelordendelasreglasenlacadenano
importa.
-CVerificaunareglaenparticularantesdeaadirlaenlacadenaespecificadaporelusuario.
Estecomandopuedeserdeayudaparaconstruirreglasiptablescomplejaspidindoleque
introduzcaparmetrosyopcionesadicionales.
-DBorraunaregladeunacadenaenparticularpornmero(comoel5paralaquintaregla
deunacadena).Puedetambinteclearlareglaenteraeiptablesborrarlareglaenlacadena
quecorresponda.
-ERenombraunacadenadefinidaporelusuario.Estonoafectalaestructuradelatabla.
-FLiberalacadenaseleccionada,queborracadaregladelacadena.Sinoseespecifica
ningunacadena,estecomandoliberacadaregladecadacadena.
-hProporcionaunalistadeestructurasdecomandos,ascomotambinunresmenrpido
deparmetrosdecomandosyopciones.
-IInsertaunareglaenunacadenaenunpuntoespecificadoporunvalorenterodefinidopor
elusuario.Sinoseespecificaningnnmero,iptablescolocarelcomandoeneltopedela
cadena.
Atencin
Tengaencuentaquealutilizarlasopciones-Ao-Ielordendelasreglasdentrode
unacadenaesimportanteparadeterminarculreglaaplicaaculespaquetes.
-LListatodaslasreglasdelacadenaespecificadatraselcomando.Paraverunalistade
todaslasreglasentodaslascadenasenlatablapordefectofilter,noespecifiqueninguna
cadenaotabla.Delocontrario,lasintaxissiguientedeberutilizarseparalistarlasreglasen
unacadenaespecficaenunatablaenparticular:
iptables -L <chain-name> -t <table-name>
EnlaSeccin3.6sedescribenopcionesadicionalesparalaopcindecomando-L,que
proporcionannmerosdereglasypermitendescripcionesmsdetalladas.
-NCreaunanuevacadenaconunnombreespecificadoporelusuario.
-PConfiguralapolticapordefectoparaunacadenaenparticular,detalformaque,cuando
lospaquetesatraviesenlacadenacompletasincumplirningunaregla,sernenviadosaun
objetivoenparticular,comopuedanserACCEPToDROP.
-RReemplazaunareglaenunacadenaparticular.Elnmerodelaregladebeser
especificadodespusdelnombredelacadena.Laprimerareglaenunacadenacorrespondeala
reglanmerouno.
-XBorraunacadenaespecificadaporelusuario.Nosepermiteborrarningunadelas
cadenaspredefinidasparacualquiertabla.
-ZPonecerosenloscontadoresdebyteydepaqueteentodaslascadenasdeunatablaen
particular.
3.3.Opcionesdeparmetrosdeiptables
Unavezqueseespecifiquenciertoscomandosiptables,incluyendoaquellosparaaadir,anexar,
eliminar,insertaroreemplazarreglasdentrodeunacadena,serequierenparmetrosparaconstruiruna
regladefiltradodepaquetes.
-cResetealoscontadoresdeunareglaenparticular.Esteparmetroaceptalasopciones
PKTSyBYTESparaespecificarqucontadorhayqueresetear.
-dConfiguraelnombredelamquinadestino,direccinIPoreddeunpaqueteque
coincideconlaregla.Cuandosecoincidaunared,sesoportanlossiguientesformatosde
direccionesIPomscarasdered:
N.N.N.N/M.M.M.MDondeN.N.N.NeselrangodedireccionesIPyM.M.M.M
eslamscaradelared.
N.N.N.N/MDondeN.N.N.NeselrangodedireccionesIPyMeslamscarade
bit.
-fAplicaestareglasloalospaquetesfragmentados.
Usandolaopcin!despusdeesteparmetro,nicamenteseharncoincidirlospaquetesno
fragmentados.
-iConfiguralainterfazderedentrante,talcomoeth0oppp0.Coniptables,este
parmetroopcionalpuedeserusadosolamenteconlascadenasINPUTyFORWARDcuandoes
usadoconlatablafilterylacadenaPREROUTINGconlastablasnatymangle.
Esteparmetrotambinsoportalassiguientesopcionesespeciales:
Elcarcterdeexclamacin!Invierteladirectriz,esdecir,seexcluyedeestaregla
cualquierinterfazespecificada.
Elcarterdesuma+Uncaractertipocomodnutilizadoparacoincidirtodaslas
interfacesconunacadenadecaracteresespecificada.Porejemplo,elparmetro-i
eth+aplicarestareglaacualquierinterfazEthernetperoexcluircualquierotra
interfaz,talcomo,ppp0.
Sielparmetro-iseutilizasinespecificarningunainterfaz,todaslasinterfacesestarn
afectadasporlaregla.
-jSaltaaunobjetivoparticularcuandounpaquetecoincideconunareglaparticular.Los
objetivosvlidosausardespusdelaopcin-jincluyenlasopcionesestndar(ACCEPT,
DROP,QUEUEyRETURN)ascomotambinlasopcionesextendidasqueestndisponiblesa
travsdelosmduloscargadospordefectoconelpaqueteRPMdeRedHatEnterpriseLinux
iptables,comoLOG,MARKyREJECT,entreotros.Consultelapginadelmanualde
iptablesparamsinformacinsobreestoyotrosobjetivos.
Puedetambindirigirunpaquetecoincidiendoestareglaaunacadenadefinidaporelusuario
fueradelacadenaactual,paraaplicarotrasreglasalpaquete.
Sinoespecificaningnobjetivo,elpaquetepasalareglasinllevaracaboningunaaccin.A
pesardetodo,elcontadorparaestareglasesigueincrementandoenuno.
-oConfiguralainterfazdereddesalidaparaunareglaypuedeserusadasolamenteconlas
cadenasOUTPUTyFORWARDenlatabladefiltroylacadenaPOSTROUTINGenlas
tablasnatymangle.Estosparmetrosdeopcionessonlosmismosqueaquellosdelainterfaz
deentrada(-i).
-pConfiguraelprotocoloIPparalaregla,elcualpuedesericmp,tcp,udp,oall,para
coincidirtodoslosprotocolossoportados.Adems,sepuedeusarcualquierprotocololistadoen
/etc/protocols.Siestaopcinesomitidacuandoseestcreandounaregla,laopcinall
eslaopcinpordefecto.
-sConfiguralafuenteparaunpaqueteparticularusandolamismasintaxisqueelparmetro
(-d).
3.4.Opcionesdecoincidenciaparaiptables
Diferentesprotocolosderedproporcionanopcionesespecializadaslascualessepuedenconfigurarpara
coincidirunpaqueteparticularusandoeseprotocolo.Sinembargo,primerosedebeespecificarel
protocoloenelcomandoiptables.Porejemplo,-p tcp <protocol-name>(donde
<protocol-name>eselprotocoloobjetivo),hacedisponibleslasopcionesparaeseprotocolo
especificado.
18.3.4.1.ProtocoloTCP
EstasopcionesdeidentificacinestndisponiblesenelprotocoloTCP(opcin-p tcp):
--dportConfiguraelpuertodedestinoparaelpaquete.Usebienseaunnombrede
servicio(talcomowwwosmtp),nmerodepuerto,oelrangodenmerosdepuertospara
configurarestaopcin.Parahojearlosnombresyaliasdelosserviciosderedylosnmerosque
ellosusan,visualiceelarchivo/etc/services.Laopcin--destination-portes
sinnimocon--dport.
Paraespecificarunrangodenmerosdepuertos,separelosdosnmeroscondospuntos(:),tal
como-p tcp --dport 3000:3200.Elrangomsgrandeaceptablees0:65535.
Useuncaracterdeexclamacin(!)despusdelaopcin--dportparacoincidirtodoslos
paquetesquenoutilizanelservicioderedopuerto.
--sportConfiguraelpuertofuentedelpaqueteusandolasmismasopcionesque
--dport.Laopcin--source-portessinnimocon--sport.
--synProvocaquetodoslospaquetesdesignadosdeTCP,comnmentellamadospaquetes
SYN,cumplanestaregla.Cualquierpaquetequeestllevandounpayloaddedatosnoser
tocado.Sisesitaunpuntodeexclamacin(!)comobanderatraslaopcin--synseprovoca
quetodoslospaquetesnoSYNseanseleccionados.
--tcp-flagsPermitealospaquetesTCPconbitsespecficosobanderas,sercoincididos
conunaregla.Laopcin--tcp-flagsaceptadosparmetros.Elprimerparmetroesla
mscara,lacualconfigurabanderasaserexaminadasenelpaquete.Elsegundoparmetrose
refierealabanderaquesedebeconfigurarparapodercoincidir.
Lasbanderasposiblesson:
ACK
FIN
PSH
RST
SYN
URG
ALL
NONE
--tcp-optionIntentaseleccionarconopcionesespecficasdeTCPquepuedenestar
activasenunpaqueteenparticular.Estaopcinsepuederevertirconelpuntodeexclamacin
(!).
3.4.2.ProtocoloUDP
EstasopcionesdeseleccinestndisponiblesparaelprotocoloUDP(-p udp):
--dportEspecificaelpuertodestinodelpaqueteUDP,usandoelnombredelservicio,
nmerodepuerto,orangodenmerosdepuertos.Laopcindecoincidencia
--destination-portessinnimocon--dport.
--sportConfiguraelpuertofuentedelpaqueteUDP,usandoelnombredepuerto,nmero
depuertoorangodenmerosdepuertos.Laopcin--source-portessinnimocon
--sport.
3.4.3.ProtocoloICMP
LassiguientesopcionesdecoincidenciaestndisponiblesparaelProtocolodemensajesdeInternet
(ICMP)(-p icmp):
--icmp-typeSeleccionaelnombreoelnmerodeltipoICMPqueconcuerdeconla
regla.SepuedeobtenerunalistadenombresvlidosICMPtecleandoelcomandoiptables
-p icmp -h.
3.4.4.Mdulosconopcionesdecoincidenciasadicionales
Opcionesadicionalesdecoincidenciaestndisponiblesatravsdelosmdulosporelcomando
iptables.Parausarunmdulodeopcionesdecoincidencia,cargueelmdulopornombreusandola
opcin-m,talcomo-m <module-name>(reemplazando<module-name>conelnombredel
mdulo).
Ungrannmerodemdulosestndisponiblespordefecto.Hastaesposiblecrearsusmdulospara
proporcionarfuncionalidadesdeopcionesdecoincidenciaadicionales.
Losiguiente,esunalistaparcialdelosmdulosusadosmscomnmente:
limitmodulePermitecolocarunlmiteencuntospaquetessoncoincididosaunaregla
particular.EstoesespecialmentebeneficiosocuandoseusaenconjuntoconelobjetivoLOG,
puespuedeprevenirqueunainundacindepaquetescoincidentessobrecarguenelregistrodel
sistemaconmensajesrepetitivosousenlosrecursosdelsistema.Paramsinformacinsobreel
objetivoLOG,refirasealaSeccin3.5.
Elmdulolimithabilitalasopcionessiguientes:
--limitConfiguraelnmerodecoincidenciasenunintervalodetiempo,
especificadoconunnmeroyunmodificadordetiempoordenadosenelformato
<nmero>/<tiempo>.Porejemplo,siusamos--limit 5/hourslodejaremos
queunareglaseaefectivacincovecesalahora.
Sinoseutilizaningnnmeronimodificadordetiempo,seasumeelsiguientevalorpor
defecto:3/hour.
--limit-burstConfiguraunlmiteenelnmerodepaquetescapacesdecumplir
unareglaenundeterminadotiempo.Estaopcindeberserusadajuntoconlaopcin
--limit,yaceptaunnmeroparaconfigurarelintervalodetiempo(threshold).
Sinoseespecificaningnnmero,tanslocincopaquetesserncapacesinicialmentede
cumplirlaregla.
mdulostateHabilitalacoincidenciadeestado.
Elmdulostatetienelassiguientesopciones:
--statecoincideunpaqueteconlossiguientesestadosdeconexin:
ESTABLISHEDElpaqueteseleccionadoseasociaconotrospaquetesenuna
conexinestablecida.
INVALIDElpaqueteseleccionadonopuedeserasociadoaunaconexin
conocida.
NEWElpaqueteseleccionadoobienestcreandounanuevaconexinobien
formapartedeunaconexindedoscaminosqueantesnohabasidovista.
RELATEDElpaqueteseleccionadoestiniciandounanuevaconexinenalgn
puntodelaconexinexistente.
Estosestadosdeconexinsepuedenutilizarencombinacinconotrosseparndolos
mediantecomascomoen-m state --state INVALID, NEW.
mdulomacHabilitalacoincidenciadedireccionesMACdehardware.
Elmdulomacactivalasopcionessiguientes:
--mac-sourceCoincideunadireccinMACalatarjetaderedqueenviel
paquete.ParaexcluirunadireccinMACdelaregla,coloqueunsmbolodeexclamacin
(!)despusdelaopcin--mac-source.
Paravisualizarotrasopcionesdisponiblesatravsdelosmdulos,consultelapginadelmanualde
iptables.
3.5.Opcionesdelobjetivo
Unavezqueunpaquetehacoincididoconunaregla,lareglapuededirigirelpaqueteaunnmerode
objetivosdiferentesquedecidensusuertey,posiblemente,tomanaccionesadicionales.Cadacadena
tieneunobjetivopordefecto,elcualesusadosiningunadelasreglasenesacadenacoincidenconun
paqueteosiningunadelasreglasquecoincidenconelpaqueteespecificaunobjetivo.
Lossiguientessonlosobjetivosestndar:
<user-defined-chain>Reemplace<user-defined-chain>conelnombrede
unacadenadefinidaporelusuariodentrodelatabla.Esteobjetivopasaelpaquetealacadena
objetivo.
ACCEPTPermitequeelpaquetesemuevahaciasudestino(ohaciaotracadena,sinohasido
configuradoningndestinoparaseguiraestacadena).
DROPDejacaerelpaquetesinresponderalsolicitante.Elsistemaqueenviaelpaquetenoes
notificadodeestafalla.
QUEUEElpaqueteseponeenunacolaparasermanejadoporunaaplicacinenelespaciode
usuario.
RETURNParalaverificacindelpaquetecontralasreglasdelacadenaactual.Sielpaquete
conundestinoRETURNcumpleunaregladeunacadenallamadadesdeotracadena,elpaquete
esdevueltoalaprimeracadenapararetomarlaverificacindelareglaalldondesedej.Sila
reglaRETURNseutilizaenunacadenapredefinida,yelpaquetenopuedemoversehaciala
cadenaanterior,elobjetivopordefectodelacadenaactualdecidequaccinllevaracabo.
Ademsdeestosobjetivosstandard,sepuedenusarotrosmsconextensionesllamadasmdulosde
objetivos(targetmodules).Paraobtenermsinformacinsobrelosmdulosdeopcionesde
coincidencias,mireenlaSeccin3.4.4.
Existenvariosmdulosextendidosdeobjetivos,lamayoradeloscualestansloseaplicanatablaso
situacionesespecficas.Unpardeestosmdulos,delosmspopulareseincluidospordefectoenRed
HatEnterpriseLinuxson:
LOGRegistratodoslospaquetesquecoincidenestaregla.Puestoquelospaquetesson
registradosporelkernel,elarchivo/etc/syslog.confdeterminadndeestasentradasde
registrosernescritas.Pordefecto,soncolocadasenelarchivo/var/log/messages.
SepuedenusarvariasopcionesadicionalestraselobjetivoLOGparaespecificarlamaneraenla
quetendrlugarelregistro:
--log-levelConfiguraelniveldeprioridaddelregistrodeeventos.Unalistade
losnivelesdeprioridadsepuedeencontrarenlapginadelmanualdesyslog.conf.
--log-ip-optionsCualquieropcinenlacabeceradeunpaqueteIPseguardaen
elregistro.
--log-prefixColocaunacadenadehasta29caracteresantesdelalneade
registrocuandoesescrita.Estoesmuytilparalaescrituradefiltrosdesyslogpara
usarlosenconjuntoconelregistrodepaquetes.
--log-tcp-optionsCualquieropcincolocadaenlacabeceradeunpaquete
TCPesregistrada.
--log-tcp-sequenceEscribeelnmerodesecuenciaTCPdelpaqueteenel
registrodelsistema.
REJECTEnviaunpaquetedeerrordevueltaalsistemaremotoydejacaerelpaquete.
ElobjetivoREJECTacepta--reject-with <tipo>(donde<tipo>eseltipode
rechazo)elcualpermitedevolverinformacinmsdetalladaconelpaquetedeerror.Elmensaje
port-unreachableesel<tipo>deerrorpordefectodadosinoseusaotraopcin.Para
unalistacompletadelos<tipo>sdeopcionesquesepuedenusar,consultelapginadel
manualdeiptables.
Otrasextensionesdeobjetivos,incluyendomuchasquesontilesparaelenmascaramientodeIP
usandolatablanatoconalteracindepaquetesusandolatablamangle,sepuedeencontrarenla
pginadelmanualdeiptables.
3.6.Opcionesdelistado
Elcomandopredeterminadoparalistar,iptables -L,proporcionaunavistamuybsicadelos
filtrospordefectodelascadenasactualesdelatabla.Lasopcionesadicionalesproporcionanms
informacin:
-vMuestralasalidaporpantallacondetalles,comoelnmerodepaquetesybytesquecada
cadenahavisto,elnmerodepaquetesybytesquecadareglahaencontradoyquinterfacesse
aplicanaunareglaenparticular.
-xExpandelosnmerosensusvaloresexactos.Enunsistemaocupado,elnmerodepaquetes
ybytesvistosporunacadenaenconcretooporunareglapuedeestarabreviadousandoK
(miles),M(millones),yG(billones)detrsdelnmero.Estaopcinfuerzaaquesemuestreel
nmerocompleto.
-nMuestralasdireccionesIPylosnmerosdepuertosenformatonumrico,enlugarde
utilizarelnombredelservidorylaredtalycomosehacepordefecto.
--line-numbersProporcionaunalistadecadacadenajuntoconsuordennumricoenla
cadena.Estaopcinpuedesertilcuandoestintentandoborrarunareglaespecficaenuna
cadenaolocalizardndeinsertarunareglaenunacadena.
-tEspecificaunnombredetabla.
4.Guardarreglasiptables
Lasreglascreadasconelcomandoiptablessonalmacenadasenmemoria.Sielsistemaes
reiniciadoantesdeguardarelconjuntodereglasiptables,seperderntodaslasreglas.Paraquelas
reglasdefiltradoderedpersistanluegodeunreiniciodelsistema,estasnecesitanserguardadas.Para
hacerlo,conctesecomorootyescriba:
Estoejecutaelscriptdeinicioiptables,elcualejecutaelprograma/sbin/iptables-savey
escribelaconfiguracinactualdeiptablesa/etc/sysconfig/iptables.Elarchivo/etc/
sysconfig/iptablesexistenteesguardadocomo/etc/sysconfig/iptables.save.
Laprximavezqueseinicieelsistema,elscriptdeiniciodeiptablesvolveraaplicarlasreglas
guardadasen/etc/sysconfig/iptablesusandoelcomando/sbin/iptables-restore.
Ancuandosiempreesunabuenaideaprobarunaregladeiptablesantesdeconfirmarloscambios
alarchivo/etc/sysconfig/iptables,esposiblecopiarreglasiptablesenestearchivo
desdeotraversindelsistemadeestearchivo.Estoproporcionaunaformarpidadedistribuir
conjuntosdereglasiptablesamuchasmquinas.
Importante
Siseestdistribuyendoelarchivo/etc/sysconfig/iptablesaotrasmquinas,escriba
/sbin/service iptables restartparaquelasnuevasreglastomenefecto.
5.Scriptsdecontroldeiptables
HaydosmtodosbsicosparacontrolariptablesbajoRedHatEnterpriseLinux:
Herramientadeconfiguracindeniveldeseguridad(system-configsecuritylevel)Unainterfazgrficaparacrear,activaryguardarreglasbsicasde
cortafuegos.Paramsinformacinsobrecomoutilizarestaherramienta,consulteelcaptulo
llamadoConfiguracinbsicadelcortafuegosenelManualdeadministracindelsistemade
RedHatEnterpriseLinux.
startSisetieneuncortafuegosofirewall(esdecir,
/etc/sysconfig/iptablesexiste),todoslosiptablesenejecucinson
detenidoscompletamenteyluegoarrancadosusandoelcomando/sbin/iptablesrestore.Ladirectrizstartslofuncionarsinosecargaelmdulodelkernel
ipchains.
stopSielcortafuegosestenejecucin,sedescartanlasreglasdelcortafuegosque
seencuentranenmemoriaytodoslosmdulosiptablesyayudantessondescargados.
SisecambialadirectivaIPTABLES_SAVE_ON_STOPdentrodelarchivode
configuracin/etc/sysconfig/iptables-configdesuvalorpordefectoa
yes,seguardanlasreglasactualesa/etc/sysconfig/iptablesycualquier
reglaexistentesemoveralarchivo/etc/sysconfig/iptables.save.
Paramsinformacinsobreelarchivodeconfiguraciniptables-config,refirase
aSeccin5.1.
restartSielcortafuegosestenejecucin,lasreglasdelmismoqueseencuentran
enmemoriasedescartanysevuelvaainiciarelcortafuegossiestconfiguradoen
/etc/sysconfig/iptables.Ladirectrizrestartslofuncionarsinoest
cargadoelmdulodelkernelipchains.
SiladirectivaIPTABLES_SAVE_ON_RESTARTdentrodelarchivodeconfiguracin/
etc/sysconfig/iptables-configsecambiadesuvalorpordefectoayes,las
reglasactualessonguardadasa/etc/sysconfig/iptablesycualquierregla
existentesemovernalarchivo/etc/sysconfig/iptables.save.
Paramsinformacinsobreelarchivodeconfiguraciniptables-config,refirase
aSeccin5.1.
statusImprimeelestadodelcortafuegosunalistadetodaslasreglasactivasal
indicadordecomandos.Sinosecarganoconfiguranreglasdelcortafuegos,tambin
indicaestehecho.
Unalistadelasreglasactivas,conteniendodireccionesIPdentrodelistasdereglasa
menosqueelvalorpordefectoparaIPTABLES_STATUS_NUMERICseacambiadoa
nodentrodelarchivodeconfiguracin/etc/sysconfig/iptables-config.
ConsultelaSeccin5.1paramsinformacinsobreelarchivoiptables-config.
panicDescartatodaslasreglasdelcortafuegos.Lapolticadetodaslastablas
configuradasestestablecidaaDROP.
saveGuardalasreglasdelcortafuegosa/etc/sysconfig/iptablesusando
iptables-save.Paramsinformacin,consultelaSeccin4.
Sugerencia
ParautilizarlosmismoscomandosinitscriptparacontrolarelfiltradodelaredparaIPv6,
sustituyaip6tablesporiptablesenloscomandos/sbin/servicelistadosenesta
seccin.ParamsinformacinsobreIPv6yelfiltradodered(netfilter),consultelaSeccin6.
5.1.Archivodeconfiguracindescriptsdecontroldeiptables
Elcomportamientodelosscriptsdeiniciodeiptablesescontroladoporelarchivodeconfiguracin
/etc/sysconfig/iptables-config.Acontinuacinsepresentaunalistadelasdirectivas
contenidasdentrodeestearchivo:
IPTABLES_MODULESEspecificaunalistaseparadaporespaciosdemdulosiptables
adicionalesacargarcuandoseactivauncortafuegos.Estopuedeincluirseguimientode
conexionesyayudantesNAT.
IPTABLES_MODULES_UNLOADLimpialosmdulosaliniciarodetenerse.Estadirectiva
aceptalosvaloressiguientes:
yesElvalorpordefecto.Estareglasedebeconfigurarparaquealcanceunestado
correctoparaeliniciooparadadelcortafuegos.
noEstaopcinsolamentedeberaserconfiguradasihayproblemasparalimpiarlos
mdulosdefiltradodepaquetesdered.
IPTABLES_SAVE_ON_STOPGuardalasreglasdelcortafuegosactualesa
/etc/sysconfig/iptablescuandosedetieneelcortafuegos.Estadirectivaaceptalos
valoressiguientes:
yesGuardalasreglasexistentesa/etc/sysconfig/iptablescuandese
detieneelcortafuegos,moviendolaversinanterioralarchivo
/etc/sysconfig/iptables.save.
noElvalorpordefecto.Noguardalasreglasexistentescuandosedetieneel
cortafuegos.
IPTABLES_SAVE_ON_RESTARTGuardalasreglasactualesdelcortafuegoscuandoeste
sereinicia.Estadirectivaaceptalosvaloressiguientes:
yesGuardalasreglasexistentesa/etc/sysconfig/iptablescuandose
reiniciaelcortafuegos,moviendolaversinanterioralarchivo
/etc/sysconfig/iptables.save.
noElvalorpordefecto.Noguardalasreglasexistentescuandosereiniciael
cortafuegos.
IPTABLES_SAVE_COUNTERGuardayrestauratodoslospaquetesycontadoresdebytes
entodaslascadenasyreglas.Estadirectivaaceptalosvaloressiguientes:
yesGuardalosvaloresdelcontador.
noElvalorpordefecto.Noguardalosvaloresdelcontador.
IPTABLES_STATUS_NUMERICMuestradireccionesIPenunasalidadeestadoenvezde
dominiosynombresdehost.Estadirectivaaceptalosvaloressiguientes:
yesElvalorpordefecto.SolamentedevuelvedireccionesIPdentrodeunasalidade
estado.
noDevuelvedominiosonombresdehostenlasalidadeestado.
6.ip6tablesyIPv6
Siestainstaladoelpaqueteiptables-ipv6,elfiltradodelaredbajoRedHatEnterpriseLinux
puedefiltrarlaprximageneracindelprotocolodeInternetIPv6.Elcomandoutilizadopara
manipularelfiltradodereddeIPv6esip6tables.Lamayoradelasdirectivasparaestecomando
sonidnticaaaquellasusadasporiptables,exceptoquelatablanatannoescompatible.Esto
significaquetodavanoesposiblerealizartareasdetraduccindedireccionesderedIPv6,talescomo
enmscaradoyreenviodepuertos.
Lasreglasguardadasparaip6tablessonalmacenadasenelarchivo
/etc/sysconfig/ip6tables.Lasreglasviejasguardadasporlosscriptsdeiniciode
ip6tablessonguardadasenelarchivo/etc/sysconfig/ip6tables.save.
Elarchivodeconfiguracinparalosscriptsdeiniciodeip6tableses
/etc/sysconfig/ip6tables-configylosnombresparacadadirectrizvarianligeramente.
Porejemplo,ladirectriziptables-configIPTABLES_MODULESesIP6TABLES_MODULES
enelarchivoip6tables-config.