Configurar un firewall lógico, por medio de iptables, en Linux o en Windows
Uso de iptables o ipchains Linux para configurar una puerta de enlace a Internet / firewall / router para el hogar o la oficina
Los métodos de conexión de la red a la Internet:
Utilice ipchains / iptables Linux y reenvío IP para configurar Linux como cortafuegos y el router. Este es el método que abarca este tutorial.
Utilice software de proxy SOCKS gateway ejecuta en Linux. (Ver más abajo CALCETINES )
Utilice un router CISCO - tutorial de configuración. (Nota: Serie PIX se prefieren para el uso del cortafuegos.)
Este tutorial cubre con un ordenador Linux como una pasarela entre una red privada e Internet. Cualquier conexión a Internet, ya sea un PPP de acceso telefónico, DSL, cable módem o una línea T1 puede ser utilizado. En el caso de la mayoría de las conexiones PPP de acceso telefónico y conexiones de cable módem, se emite sólo una única dirección IP permitiendo sólo un ordenador para conectarse a Internet a la vez. Usando Linux y iptables / ipchains se puede configurar una puerta de enlace que permitirá a todos los equipos de una red privada para conectarse a Internet a través de la puerta de enlace y una dirección IP externa, usando una tecnología llamada "traducción de direcciones de red" (NAT) o enmascaramiento y privadas subredes. Iptables / ipchains también se pueden configurar para que el equipo Linux actúa como un servidor de seguridad, proporcionando protección a la red interna.
búsqueda
| Home Page | Tutoriales Linux | Condiciones | Política
de Privacidad | Publicidad | Contacto |
Tutoriales YoLinux relacionados:
Versiones Firewall vs versiones del núcleo de Linux:Nota: Las referencias a ipfwadm e ipchains se
Buscar
° Linux Networking
° Linux Sys administración
° de configuración del sitio Web
° Internet Security
° YoLinux Índice de Tutoriales
Información Gratis Tecnología Revistas y documentos descargados
refieren a software obsoleto viejo.
Comando Firewall
Linux Kernel Version
Red Hat Version
iptables 2.4.x, 2.6.x7,1-9,0, Fedora 1,2,3
ipchains 2.2.x 6.x, 7.0
ipfwadm 2.0.x 5.x
Nota: Red Hat 7,1 a 9,0 y el kernel por defecto Linux 2.4 puede usar ipchains o iptables, pero no ambos. Iptables es el firewall preferido ya que apoya el "Estado" y puede reconocer si una conexión de red ya ha sido "establecidos" o si la conexión está relacionada con la conexión anterior (necesario para ftp que hace varias conexiones en puertos diferentes). Ipchains no. Normas Ipchain tienen prioridad sobre las reglas de iptables. Durante el inicio del sistema, el kernel intenta activar ipchains, entonces intenta activar iptables. Si se han activado las reglas ipchain, el kernel no arranca iptables.
Red Hat 7.1 no soporta ipchains menos que se configura esa opción (durante la instalación o posterior). Si durante la instalación, seleccione "Desactivar Firewall - sin protección", entonces ipchains no estará disponible y se debe confiar en iptables para una configuración de servidor de seguridad manual. (Sólo iptables. Ipchains no estarán disponibles)
GUI de configuración:
iptables: La herramienta de configuración GUI / usr / bin / redhat-config-securitylevel se puede utilizar para elegir un firewall preconfigurado (Alta, Media o sin cortafuegos) o puede ser usado para configurar manualmente las reglas basadas en los servicios de red de su servidor ofrecerá . El script de inicio / etc / rc.d /
Anuncios
Jobs
Desarrolla
dor Web
de Leading
Game
Developer
Alemania
Interactivo
Selección
Superior
Oracle
DBA -
Proyectos
...
Jersey
City, NJ
Casa
Solariega
Consulting
MySQL /
PHP Web
Developer
Baton
Rouge,
LA
Shoppers
Choice.co
m
Hablando
japonés
Forex
Trading
Support ...
San
Francisco,
CA
Joseph
Harry Ltd
Especialist
a Técnico -
...
Canberra,
Australian
Capital ...
init.d / iptables usarán reglas almacenadas en / etc / sysconfig / iptables .
ipchains: La herramienta que hace esto es lokkit (o / usr / bin / gnome-lokkit ), que utiliza ipchains para configurar las opciones de firewall para las opciones de alta y baja seguridad. Apoyar ipchains después de la instalación, ejecute / usr / bin / gnome-lokkit y configurar un servidor de seguridad. Se configurará ipchains para activar el firewall. Lokkit generará el archivo / etc / sysconfig / ipchains . (Utilizado por init script de / etc / rc.d / init.d / ipchains que se pide / sbin / ipchains-restore )
Para ver si ipchains y la configuración Lokkit se invoca durante el inicio del sistema, utilice el comando:
chkconfig - list | grep ipchains
El Red Hat default 7.1 + Linux 2.4 kernel está compilado para soportar tanto iptables e ipchains. El soporte para ipchains está disponible en una configuración de kernel y compilación. Durante make xconfig o make menuconfig activar la función: "IP: Netfilter Configuration" ipchains "(2.2-style) apoyo" +.
Revise su instalación mediante el comando: rpm-q iptables ipchains Estos paquetes se deben instalar. Los comandos de iptables e ipchains son las interfaces de comando para configurar reglas de cortafuegos del kernel. The Hat 7.1 kernel por defecto de Red soporta iptables e ipchains. (Pero no ambos al mismo tiempo.)
[Potencial Pitfall] : Al realizar una actualización en lugar de una nueva instalación, el software de actualización no se instalará iptables que no existía
Vela
(Canberra)
Business
Analyst
Necesario
para
Liderar ...
Reino
Unido
Selección
Interactiva
El mejor
diseñador
Java/J2EE
y ...
Leamingto
n Spa,
Warwicksh
ire,
Reino ...
CompriseI
T
ATG
eCommerc
e
Java/J2EE
Developer
Fall City,
WA
Solicitud
Tecnología
-Robyn
Honquest
Mayores
J2EE Web
Developer
Riverwood
s, IL
Requisito
para
Oracle
Sr.Pragra
mmer
Alpharetta,
GA
achillessys
tems
PUBLIQU
E UN
TRABAJO
>
DESARROL
en el sistema anterior. Se llevará a cabo una actualización a una nueva versión de ipchains. Si usted desea usar iptables, debe instalar manualmente el RPM iptables. ie: rpm-ivh iptables-XXX.i386.rpm
[Potencial Pitfall] : El núcleo del sistema operativo Linux puede cargar o no cargar lo que había esperado. Utilice el comando lsmod para ver si se han cargado ip_tables o ip_chains.
El cambio de un sistema que va de ipchains a iptables: (Red Hat 7,1-9,0 - Linux kernel 2.4 específica)
Secuencia Comando Descripción
1chkconfig - del ipchains
Retire ipchains del proceso de arranque / inicialización del sistema
2chkconfig - add iptables
Añadir iptables para proceso de arranque / inicialización del sistema
3 ipchains-F Enjuague reglas ipchains
4service ipchains stop
Detener ipchains. También: / etc / init.d / ipchains detienen
5ipchains rmmod
Descargue módulo del kernel ipchains. Módulo del kernel iptables no se puede cargar si se carga el módulo ipchains
6service iptables start
Cargar el módulo kernel iptables. También: / etc / init.d / iptables dejan
Traducción de direcciones de red (NAT):Un individuo en un equipo en la red privada puede apuntar su navegador a un sitio en Internet. Esta solicitud se reconoce a estar más allá de la red local por lo que se encamina a la pasarela de Linux
LADO POR JOBTHREA
D
a través de la dirección de red privada. La solicitud de la página web se envía al sitio web utilizando la dirección IP de Internet externa de la puerta de enlace. La solicitud se devuelve a la puerta de entrada, que luego se traduce la dirección IP a la computadora en la red privada que hizo la solicitud. Esto se conoce como enmascaramiento de IP. La interfaz de software que le permite a uno para configurar el kernel de enmascaramiento es iptables (Linux kernel 2.4) o ipchains (Linux kernel 2.2)
El sistema pasarela tendrá dos direcciones IP y conexiones de red, una para la red interna, y el otro a la Internet pública externa.
Una nota sobre las direcciones IP de red privada: Un conjunto de direcciones IP ha sido reservado por la IANA para redes privadas. Van desde 192.168.0.1 a 192.168.254.254 para una pequeña empresa típica o red doméstica y se les conoce como CIDR direcciones de red privadas a menudo. Mayoría de las redes privadas se ajustan a este esquema.
Bloquear
AlcanceNotación
CIDR
Máscara de
subred por
defecto
Número de
Servidores
Bloque de 24 bits en la clase A
10.0.0.010.255.255.255
10.0.0.0 / 8
255.0.0.0
16777216
Bloque de 20 bits en la clase B
172.16.0.0
172.31.255.255
172.16.0.0/12
255.240.0.0
1048576
Bloque 192.168 192.168.25 192.168.0 255.255 65536
de 16 bits en la clase C
.0.0 5.255 .0/16 .0.0
El número real de los ejércitos será menor que en la lista porque las direcciones de cada subred se reservarán como dirección de difusión, etc
Esto se detalla en el RFC 1918 - Asignación de direcciones para Internets privadas. Para obtener una descripción de las redes de clase A, B, y vea la descripción de la clase de red Tutorial YoLinux .
Las redes privadas se pueden subdividir en varias subredes si lo deseas. Ejemplos:
AlcanceNotación
CIDR
Máscara de subred
por defecto
Número de
Servidores
10.2.3.0 10.2.4.255 10.2.3.0/23255.255.254.0
512
172.16.0.0
172.17.255.255
172.16.0.0/15
255.254.0.0 132608
192.168.5.128
192.168.5.255
192.168.5.128/25
255.255.255.128
128
Ejemplo 1: Linux conectado a través de PPPEn este ejemplo se utiliza una computadora Linux conectado a Internet a través de una línea telefónica y un módem (PPP). La puerta de enlace Linux está conectado a la red interna utilizando una tarjeta ethernet. La red interna se compone de PC de Windows.
La máquina Linux debe estar configurado para la red interna privada y PPP para la conexión de acceso telefónico. Ver el tutorial PPP para configurar la conexión de acceso telefónico. Utilice el ifconfig comando para configurar la red privada. es decir (como root)
/ Sbin / ifconfig eth1 192.168.10.101 netmask 255.255.255.0 broadcast 192.168.10.255
Esto a menudo se configura durante la instalación o se puede configurar mediante la herramienta Gnome ordenada (o la herramienta de administración Linuxconf o netcfg para los sistemas Red Hat antiguos). Cambios del sistema realizados con el ifconfig o ruta comandos son no permanentes y se pierden al reiniciar el sistema. Ajustes permanentes se llevan a cabo en los scripts de configuración realizados durante el arranque del sistema. (Es decir, / etc / sysconfig / ... ) Ver el tutorial Networking YoLinux para más información sobre la asignación de direcciones de red.
Ejecute una de las siguientes secuencias de comandos en el equipo de puerta de enlace Linux:
iptables:
01 iptables - ras # Borrar todas las reglas en mesas de filtrado y NAT
02iptables - tabla nat - ras
03iptables - delete-cadena # Eliminar todas las cadenas que no están en filtros por defecto y la tabla nat
04iptables - tabla nat - delete-chain
05
06 # Configurar el reenvío de IP y enmascaramiento
07iptables - tabla nat - append POSTROUTING - out-interface ppp0-j MASQUERADE
08iptables - append FORWARD - en la interfaz eth0-j ACCEPT # Suponiendo una tarjeta de red para LAN local
09
10 echo 1> / proc/sys/net/ipv4/ip_forward # Activa el reenvío de paquetes de kernel
ipchains:
1! # / Bin / sh
2ipchains-F forward # eliminar todas las reglas y los ajustes
3ipchains-P adelante DENY # defecto es denegar el reenvío de paquetes
4ipchains-A hacia el s 192.168.10.0/24-j MASQ # Usar la dirección IP de puerta de enlace para la red privada
5ipchains-A hacia delante-i ppp0-j MASQ conexión externa a Internet # conjuntos
6echo 1> / proc/sys/net/ipv4/ip_forward # Activa el reenvío de paquetes de kernel
Una conexión PPP como se describe por el YoLinux PPP tutorial va a crear la conexión de red PPP como la ruta por defecto.
Ejemplo 2: Linux conectado a través de DSL, Cable, T1Conexiones de alta velocidad a Internet en el resultado de una conexión ethernet a la pasarela. Por lo tanto se requiere la entrada de poseer dos tarjetas de interfaz de red Ethernet (NIC), uno para la conexión a la red interna privada y otra de la Internet pública. Las tarjetas de red Ethernet se nombran ETH y se numeran únicamente desde 0 hacia arriba.
Utilice el ifconfig comando para configurar las interfaces de red.
1/ Sbin / ifconfig eth0 netmask 255.255.255.0 broadcast XXX.XXX.XXX.XXX xxx.xxx.xxx.255 # Internet
2/ Sbin / ifconfig eth1 192.168.10.101 netmask 255.255.255.0 broadcast 192.168.10.255 LAN # Privada
Ver también las notas sobre la adición de un segundo NIC .
Esto a menudo se configura durante la instalación o se puede configurar mediante la herramienta Gnome ordenada (o la herramienta de administración Linuxconf o netcfg para los sistemas Red Hat antiguos). Cambios del sistema realizados con el ifconfig o ruta comandos son no permanentes y se pierden al reiniciar el sistema. Ajustes permanentes se llevan a cabo en los scripts de configuración realizados durante el arranque del sistema. (Es decir, / etc / sysconfig / ... ) Ver el tutorial Networking YoLinux para más información sobre la asignación de direcciones de red.
Ejecute el script adecuado en el equipo linux donde eth0 está conectado a Internet y eth1 está conectada a una LAN privada:
iptables:
01# Eliminar y lavar. Tabla por defecto es "filtro". Otros como "nat" deben indicarse expresamente.
02iptables - ras # Borrar todas las reglas en mesas de filtrado y NAT
03iptables - tabla nat - ras
04iptables - delete-cadena # Eliminar todas las cadenas que no están en filtros por defecto y la tabla nat
05 iptables - tabla nat - delete-chain
06
07# Configurar el reenvío de IP y enmascaramiento
08 iptables - tabla nat - append POSTROUTING - out-interface eth0-j MASQUERADE
09 iptables - append FORWARD - en la interfaz eth1-j ACCEPT
10
11echo 1> / proc/sys/net/ipv4/ip_forward # Activa el reenvío de paquetes de kernel
ipchains:
1! # / Bin / sh
2ipchains-F forward # eliminar reglas
3ipchains-P adelante DENY # defecto es denegar el reenvío de paquetes
4ipchains-A hacia el s 192.168.10.0/24-j MASQ # Usar la dirección IP de puerta de enlace para la red privada
5ipchains-A hacia delante-i eth1-j MASQ # Establece conexión a Internet hasta externa
6echo 1> / proc/sys/net/ipv4/ip_forward
Crear una ruta para los paquetes internos:
route add-net 192.168.10.0 netmask 255.255.255.0 gw XXX.XXX.XXX.XXX dev eth1
Donde XXX.XXX.XXX.XXX es la puerta de entrada a Internet definido por el ISP. Para obtener más información sobre enrutamiento ver el tutorial de redes YoLinux
Nota: Si bien esta configuración requiere que el equipo de puerta de enlace Linux tiene dos tarjetas de red, si sólo tiene una ranura PCI disponible, puede usar una tarjeta como la Intel Pro 100 y Pro 1000 de doble puerto que tiene dos conexiones de Ethernet que se encuentran en un solo tarjeta. (Esto es lo que yo uso) Yolinux Hardware tutorial: Más sobre tarjetas de interfaz de red
Intel PCI Dual Pro 100 o 1000 Pro tarjeta NIC admite dos conexiones físicas Ethernet (eth0, eth1) en una tarjeta. Cumplimiento de normas: IEEE 802.3-LAN, IEEE 802.3u-LAN, Plug and Play Tecnología de conectividad: Cable - 10Base-T, 100Base-
TX Protocolo de interconexión de datos: Ethernet, Fast Ethernet Procesador: 82550 - Intel
Texto originalUsing Linux iptables or ipchains to set up an internet gateway / firewall / router for home or officeSugiere una traducción mejor
Opciones Iptables: (Linux kernel 2.4/2.6 firewall)General / sbin / iptables formato añadir reglas: iptables [-t | - Tabla de mesa ] - comando [cadena] [-i interface ] [-p protocolo ] [-s dirección [ puerto [: puerto]]] [-d dirección [ puerto [: puerto ]]]-j política
Seis reglas "en cadena" predefinidos están disponibles:
ENTRADA SALIDA ENTRADA ADELANTE PREROUTING POSTROUTING Cadenas definidas por el usuario (sólo darle un nuevo nombre en
lugar de uno de los nombres predefinidos)
opciones de iptables:
- Mesa
-tDescripción
filtrar Tabla por defecto. Esto se utiliza si no se especifica
nat Traducción de direcciones de red
Comando(Utili
ce uno)
Descripción
-A - append
Anexar regla a la cadena
-D - delete
Eliminar la regla de la
Opción del comando
Descripción
-S - fuente
Dirección de origen del paquete
-D - destino
Dirección de destino del
Definición de
directivas
Descripción
ACEPTAR
Vamos paquete a través de
DROP Denegar paquetes sin respuesta
RECHA Denegar
exprimidor
Se utiliza para la Calidad de Servicio (QoS) y el tratamiento preferencial
crudo Permite la optimización. es decir, ignorar la coincidencia de estado firewall para el puerto 80 para una mayor velocidad debido a un menor procesamiento. Requiere el parche del kernel
cadena
-I - inserto
Inserte regla al inicio o al número de secuencia especificado en la cadena.
-R - replace
Reemplace la regla
-F - ras
Lave todas las reglas
-Z - cero
Cero los contadores de bytes en todas las cadenas
-L - Lista
Enumere todas las reglas. Añadida la opción - line-
numbers obtener el número de regla.
-N - nueva cadena
Crear una nueva cadena
-X Eliminar
paquete
-I - in-interface
Paquete de interfaz está llegando a
-O - out-interface
Paquete de interfaz se va a
-P - Protocolo
Protocolo:
° tcp - sport puerto [: puerto] - dport puerto [: puerto] - SYN ° udp icmp ° ° mac ...
-J - Salta
Objetivo para enviar paquetes a
-F - fragmento
Fragmento juego
-C - set-contadores
Establecer contador de paquetes / bytes
-M tcp - match
° - source-portpuerto [:
ZAR paquetes y notificar al remitente
VOLVER Manejado por destinos predeterminados
MARK Se utiliza para la respuesta de error. Utilice con la opción - reject-with tipo
MASQUERADE
Se utiliza con nat mesa y DHCP.
LOG Registrar en archivo y especificar mensaje: ° - log-level # ° - log-prefix "prefijo " ° - log-tcp-sequence ° - log-tcp-options ° - log-ip-options
ULOG Registrar en archivo y especificar mensajes de registro userpace
SNAT Válido en PREROUTING cadena. Utilizado por los nat.
- delete-chain
cadena definida por el usuario
-P - Política
Establecer la política por defecto para una cadena
-E - la cadena de cambio de nombre
Cambiar el nombre de una cadena
tcp puerto](# puerto o rango: #) ° - destination-port puerto [: puerto]° - tcp-flags
Estado-m partido estatal -
- Estado ESTABLISHED ° ° RELACIONADOS° NUEVA ° VÁLIDA (. contenido Push, no se espera recibir este paquete)
REDIRECT
Se utiliza con la tabla nat. Salida.
DNAT Válido en cadena POSTROUTING.Salida.
COLA Pase paquete al espacio de usuario.
Para la información completa consulte la página del manual de iptables .
Opciones Ipchains: (Linux kernel 2.2 firewall)Formato general / sbin / ipchains para añadir reglas: ipchains-A | I [cadena] [-i interface ] [-p protocolo ] [-y] [-s dirección [ puerto [: puerto ]]] [-d dirección[ puerto [: puerto ]]]-j política [-l]
opciones de ipchains:
Comando
Descripción
-UnAñadir regla a la cadena
-D Eliminar la regla de la
Opción del
comando
Descripción
-SDirección de origen del paquete
-D Dirección de
Objetivos del
sistema (política)
Descripción
ACEPTARVamos paquete a través de
cadena
-MeInserte regla
-RReemplace la regla
-FLave todas las reglas
-LEnumere todas las reglas
-NCrear una nueva cadena
-X
Eliminar cadena definida por el usuario
-PAjuste por defecto targe
destino del paquete
-IPaquete de interfaz está llegando a
-P Protocolo
-JObjetivo para enviar paquetes a
-YFor-p tcp. Packet es paquete SYN.
- Icmp-type
For-p icmp.
-L
Iniciar el paquete a syslog. / var / log /
messages disponibles en defecto de Red Hat 6.0 + kernel
NEGARDenegar paquetes
RECHAZAR
Denegar paquetes y notificar al remitente
MASQDelantero mascarada cadena
REDIRECTEnviar a un puerto diferente
VOLVER
Manejado por destinos predeterminados
Cuatro tipos de regla de la cadena están disponibles:
Cadena de entrada IP Cadena de salida IP Cadena de reenvío IP Definido por el usuario cadenas (sólo darle un nuevo nombre en
lugar de los nombres incorporados: entrada, salida o hacia delante)
Para la información completa consulte la página del manual de ipchains . Para agregar reglas de firewall leer los enlaces que aparecen a continuación.
Configuración del PC en la red de la oficina: Todos los PC de la red de la oficina privada debe establecer su
"puerta de entrada" es la dirección IP de red privada local del equipo de puerta de enlace Linux.
El DNS debe fijarse a la de la ISP en el Internet.
Windows 95 Configuración:
Seleccione "Start" Ajustes de Panel de control "+" " Seleccione el icono "Red" Seleccione la ficha "Configuración" y haga doble clic en el
componente "TCP / IP" para la tarjeta ethernet. (NO el TCP / IP -> Adaptador de Acceso telefónico a)
Seleccione las fichas:o "Gateway": Utilice la dirección IP de la red interna de la
máquina Linux. (192.168. XXX.XXX )o "Configuración DNS": Utilice las direcciones IP de los
servidores de nombres de dominio de ISP. (Dirección IP de Internet Actual)
o "Dirección IP": La dirección IP (. 192.168 XXX.XXX - estática) y la máscara de red (normalmente 255.255.255.0 para una pequeña red de la oficina local) del PC también se pueden configurar aquí.
Ordenadores Linux:
Dirección IP :. Uso ifconfig o comandos netcfg de establecer la dirección IP y la máscara de red Ver Asignación de una dirección IP parte de la guía de aprendizaje en red.
Pasarela : La pasarela se configura con el comando route. Esto también se puede ajustar por la herramienta de la herramienta GUI / usr / bin / netcfg o consola de / usr / sbin / netconfig. También es almacenada por el sistema en el archivo / etc / sysconfig / network.
DNS : Configurar el archivo / etc / resolv.conf para configurar el DNS y el dominio predeterminado. Consulte la configuración de archivos de red parte de la guía de aprendizaje en red.
Firewall simple para el sistema Linux de escritorio:
1 iptables-P ENTRADA DROP2 iptables-P FORWARD DROP3 iptables-A estado ENTRADA-m - estado ESTABLECIDO, RELACIONADO-j ACCEPT
4 iptables-A INPUT-i lo-j ACCEPT
5 iptables-A OUTPUT-o lo-j ACCEPT
Permitir conexiones de red que ya han sido establecidos (iniciado por host) y en relación con su conexión. FTP requiere esto, ya que puede utilizar varios puertos en apoyo de la transferencia de archivos.) Permitir la entrada / salida de red del mismo (lo).
La adición de más normas de seguridad para la puerta de enlace:iptables:
Negar un host específico: iptables-I INPUT-s XXX.XXX.XXX.XXX -j DROP
Bloquear los puertos mediante la adición de las siguientes reglas de firewall:
01 # Permitir el acceso de bucle invertido. Esta regla debe venir antes de que las normas que niegan el acceso al puerto!
02 iptables-A INPUT-i lo-p all-j ACCEPT # artículo para que el equipo sea capaz de acceder a la misma a través de bucle de retorno
03 iptables-A OUTPUT-o lo-p all-j ACCEPT
04
05 iptables-A INPUT-p tcp-s 0/0-d 0/0 - dport 2049-j DROP # Bloquear NFS
06 iptables-A INPUT-p udp-s 0/0-d 0/0 - dport 2049-j DROP # Bloquear NFS
07 iptables-A INPUT-p tcp-s 0/0-d 0/0 - dport 6000:6009-j DROP # Block X-Windows
08 iptables-A INPUT-p tcp-s 0/0-d 0/0 - dport 7100-j DROP # servidor de fuentes Block X-Windows
09 iptables-A INPUT-p tcp-s 0/0-d 0/0 - dport 515-j DROP # puerto de impresora Bloquear
10 iptables-A INPUT-p udp-s 0/0-d 0/0 - dport 515-j DROP # puerto de impresora Bloquear
11 iptables-A INPUT-p tcp-s 0/0-d 0/0 - dport 111-j DROP # Bloquear Sun RPC / NFS
12 iptables-A INPUT-p udp-s 0/0-d 0/0 - dport 111-j DROP # Bloquear Sun RPC / NFS
13 iptables-A INPUT-p all-s localhost-i eth0-j DROP # Denegar paquetes que dicen ser de la interfaz loopback.
Estas reglas se pueden ejecutar por su cuenta para proteger su sistema mientras está conectada a Internet o pueden ser añadidos al final de los guiones iptables NAT gateway anteriores.
Depuración y registro:
1 iptables-A INPUT-j LOG - log-prefix "INPUT_DROP:"
2 iptables-A OUTPUT-j LOG - log-prefix "OUTPUT_DROP:"
Agregue esto a la final de sus reglas y usted debería ser capaz de supervisar conexiones caídas en / var / log / messages . Yo no registro de este método debido al volumen enorme de mensajes que genera. Use este para la depuración o el seguimiento a corto plazo de la red.
Otro enfoque para firewalls es dejar caer todo y luego permitir el acceso a cada puerto que necesite.
01 iptables-F
02 iptables-A INPUT-i lo-p all-j ACCEPT # Permitir el acceso libre por la interfaz loopback
03 iptables-A OUTPUT-o lo-p all-j ACCEPT
04 iptables-A INPUT-i eth0-m state - state ESTABLISHED, RELATED-j ACCEPT # Acepta conexiones establecidas
05 iptables-A INPUT-p tcp - tcp-option! 2-j REJECT - reject-with tcp-reset
06 iptables-A INPUT-p tcp-i eth0 - dport 21-j ACCEPT # Abrir puerto ftp
07 iptables-A INPUT-p udp-i eth0 - dport 21-j ACCEPT
08 iptables A-tcp-I INPUT-p eth0 - dport 22-j ACCEPT # puerto Abra Secure Shell
09 iptables-A INPUT-p udp-i eth0 - dport 22-j ACCEPT
10 iptables-A INPUT-p tcp-i eth0 - dport 80-j ACCEPT # Abra el puerto HTTP
11 iptables-A INPUT-p udp-i eth0 - dport 80-j ACCEPT
12 iptables-A INPUT-p tcp - sin-s 192.168.10.0/24 - destination-port 139-j ACCEPT # Acepta conexión local Samba
13 iptables-A INPUT-p tcp - syn s trancas - destination-port 139-j ACCEPT
14iptables-P ENTRADA DROP # Borra todos los otros intentos de conexión. Sólo se permiten conexiones definidas anteriormente.
ipchains:
Este script configura las reglas de firewall para un equipo Linux con dos
puertos Ethernet. Un puerto se conecta el ordenador a Internet con una dirección externa deXXX.XXX.XXX.XXX . El otro puerto Ethernet conecta el equipo a una red interna de 192.168.10.0 a 192.168.10.255. Este script es más complejo pero prefirió los guiones anteriores, debido a la mayor seguridad de que las reglas de firewall adicionales ofrecen. El script funciona con un sistema que ejecuta portsentry. Para más información sobre portsentry ver el YoLinux Internet Security: Tutorial portsentry .
Internet interfaz de red externa: eth0 interfaz de red privada interna: eth1 Local interfaz virtual loopback: lo
Código de entrada para ipchains firewall y NAT:
01 ! # / Bin / sh
02
03 Reglas # Flush
04 ipchains-F adelante05 salida de ipchains-F
06 entrada ipchains-F
07
08 # Set default negar toda
09 ipchains-P input DENY
10 salida de ipchains-P DENY11 ipchains-P DENY adelante
12
13 # Agregar reglas
14
15 # Aceptar paquetes de sí mismo (localhost) (s) Ource a sí mismo (d) detino
16 # Mantiene el registro del sistema, X-Windows o cualquier servicio basado en socket trabajo.
17 ipchains-A input-j ACCEPT-p all-s localhost localhost-d-i lo
18 ipchains-A output-j ACCEPT-p all-s localhost localhost-d-i lo
19
20 # Denegar y log (opción-l) paquetes falsificados de red externa
(eth0) que imitan las direcciones IP internas21 ipchains-A input-j REJECT-p all-s 192.168.10.0/24-i eth0-l
22
23 # Acepta solicitudes / respuestas de / a su propia máquina cortafuegos
24 ipchains-A input-j ACCEPT-p all-d XXX.XXX.XXX.XXX-i eth0
25 ipchains-A output-j ACCEPT-p all-s XXX.XXX.XXX.XXX-i eth0
26
27 # Permitir fuente de paquetes de salida (s) de destino (d)
28 ipchains-A input-j ACCEPT-p all-s 192.168.10.0/24-i eth1
29 ipchains-A output-j ACCEPT-p all-s 192.168.10.0/24-i eth1
30
31 # Denegar y log (opción-l) fuera de los paquetes de Internet que dicen ser de la interfaz de loopback
32 ipchains-A input-j REJECT-p all-s localhost-i eth0-l
33
34 ipchains-A hacia el s 192.168.10.0/24-j MASQ35 ipchains-A hacia delante-i eth1-j MASQ
36
37 # Habilitar el reenvío de paquetes
38 echo 1> / proc/sys/net/ipv4/ip_forward
Notas:
Para este ejemplo se supone que la red privada es de 192.168.10.0 a 192.168.10.255
La -d 0.0.0.0 / 0 se refiere a la totalidad oa cualquier dirección de destino del paquete. (Destino en este caso es irrelevante y puede ser omitido la declaración-d))
localhost se refiere a la interfaz loopback en 127.0.0.1
Red Hat 7.1 se configurar reglas de firewall como una opción durante la instalación. Tenga en cuenta que las reglas del firewall se generan para ipchains. La herramienta de configuración de / usr / bin / gnome-lokkit se utilizó para realizar esta configuración.
Ejemplo de la configuración de seguridad: / etc / sysconfig / ipchains Este es el archivo de configuración para el script / etc / rc.d / init.d / ipchains (que llama a / sbin / ipchains-restore ), que pueden ser invocados durante el arranque del sistema.
01 # Configuración del Firewall escrito por lokkit
02 No se recomienda el Manual de personalización # de este archivo.
03 # Nota: ifup-post perforará los servidores de nombres de corriente a través de la
04 # Firewall, tales entradas * no * estar aquí.
05 : Entrada de ACCEPT
06 : ACEPTAR adelante
07 : Salida de ACCEPT
08 -A input-s 0/0-d 0/0 80-p tcp-y-j ACCEPT # Permitir el acceso HTTP WWW al servidor web
09 -A input-s 0/0-d 0/0 22-p tcp-y-j ACCEPT # Permitir el acceso SSH (Secure Shell)
10 -A input-s 0/0 67:68-d 0/0 67:68-p udp-i eth0-j ACCEPT # Permitir DHCP / BOOTPC
11 -A input-s 0/0 67:68-d 0/0 67:68-p udp-i eth1-j ACCEPT
12 -A input-s 0/0-d 0/0-i lo-j ACCEPT
13 -A input-s 0/0-d 0/0-i eth1-j ACCEPT # eth1 acceso a la red interna en Aceptar. Goes eth0 exteriores a través de reglas de firewall
14 -A INPUT-p tcp-s 0/0-d 0/0 0:1023-y-j REJECT # Esto se apaga telnet, FTP, se unen ...! El uso para una estación de trabajo sólo
15 -A INPUT-p tcp-s 0/0-d 0/0 2049-y-j REJECT
16 -A input-p udp-s 0/0-d 0/0 0:1023-j REJECT # Workstation o explícitamente puertos que el anterior con 80, 22
17 -A input-p udp-s 0/0-d 0/0 2049-j REJECT # Block NFS
18 -A INPUT-p tcp-s 0/0-d 0/0-6000:6009 y-j REJECT # Bloquear conexiones X-Window remotos
19 -A INPUT-p tcp-s 0/0-d 0/0 7100-y-j REJECT # Bloquear conexiones servidor de fuentes remotas
Nota: Una vez que ipchains han sido invocadas para el kernel 2.4 (RH 7.1), uno no puede usar iptables. Usted puede utilizar uno o el otro, pero no ambos.
Guardar / Restaurar una tablas / configuración ipchains:
: Iptables página del manual de iptables-save
/ Sbin / iptables-save> / etc / sysconfig / iptables.rules / sbin / iptables-restore </ etc / sysconfig / iptables.rules
Ipchains: página ipchains-save hombre
/ Sbin / ipchains-save> / etc / sysconfig / ipchains.rules / sbin / ipchains-restore </ etc / sysconfig / ipchains.rules
El script de inicio de sistema busca el nombre del archivo / etc / sysconfig / ipchains en lugar de / etc / sysconfig / ipchains.rules . Esto hará que las reglas de acceso al guión de inicio que invocar las reglas sobre el arranque del sistema. Ver el tutorial YoLinux proceso Init para más información sobre los scripts de inicio y los procedimientos de arranque del sistema.
También vea: cómo desactivar ICMP y mirar invisible para hacer ping .
configuración del archivo proc: Activar el soporte del núcleo de Linux para la parodia y DOS
(Denial Of Service) Protección:
echo 1> / proc/sys/net/ipv4/tcp_syncookies
Primero debe ser compilado en el núcleo. (Incluido en el kernel por defecto Redhat) Por defecto la instalación de Red Hat ha deshabilitado esta (puesto a 0).Esto ayuda a prevenir contra el común "ataque de inundación SYN. Un equipo que se conecta (peer) no puede recibir mensajes de error confiables de un servidor cargado con más de syncookies habilitados.
Para más información sobre las cookies SYS ver: CERT Advisory CA-96.21
Encienda la fuente de Verificación de la dirección: (Desactivado de forma predeterminada en Red Hat instalar - se establece en 0)
echo 1> / proc/sys/net/ipv4/conf / eth0 / rp_filter O echo 1> / proc/sys/net/ipv4/conf / todas / rp_filter
Indique la interfaz adecuada para su instalación.
El primer ejemplo impide ataques de suplantación en contra de sus redes externas solamente.
IP spoofing es una técnica donde un host envía paquetes que dicen ser de otro host. También se utiliza para ocultar la identidad del atacante.
La página Man TCP - Manual del Programador de Linux y / usr / src / linux / proc.txt [link] (Kernel 2.4) cubierta / proc/sys/net/ipv4 / * descripción del archivo.
Ver también:
archivo local: / usr / src / linux / Documentation / proc.txt página man proc
Notas Forwading IP:Elija una de las siguientes acciones para permitir que el kernel Linux que transmita paquetes IP:
1. Inmediatamente permitir el reenvío de paquetes. La configuración no se conserva en el reinicio pero establece un indicador en el propio núcleo.
echo 1> / proc/sys/net/ipv4/ip_forward
2. Otro método consiste en modificar el archivo de configuración del kernel Linux: / etc / sysctl.conf Establezca el siguiente valor:
net.ipv4.ip_forward = 1
Esto configurará el sistema para permitir el reenvío de paquetes en el arranque del sistema. Se almacena en el archivo de configuración y, por tanto leer y puesta sobre el arranque del sistema. Si se establece en "0", entonces no habrá ningún reenvío de paquetes.
comandos de red: / etc / sysconfig / network
FORWARD_IPV4 = true
Cambie el valor predeterminado "false" a "true".
Todos los métodos anteriores darán lugar a un valor de ficheros proc de "1" para permitir el reenvío de paquetes TCP. Las opciones 2 y 3 configuraciones de arranque establecidos en un archivo de configuración y no entrarán en vigor hasta que el arranque del sistema. Prueba de la configuración actual del kernel: cat / proc/sys/net/ipv4/ip_forward
Nota: El / proc directorio no está en el disco duro, pero está presente en el núcleo en ejecución.
Notación CIDR:
La notación "/ 24" se refiere a la utilización de los primeros 24 bits de una dirección IP 32. El es el equivalente a usar la máscara de bits de 255.255.255.0 . Para decirlo de otra manera, se especifica un rango de direcciones IP: de 0 a 255 para el último octeto, mientras que los tres primeros se mantienen constantes.
Ejemplo: 192.168.103.0/24 se refiere al rango de direcciones IP 192.168.103.0 a 192.168.103.255
La notación "/ 32" se refiere a una única dirección IP, ya que implica que los 32 bits de la dirección IP son significativas.
Herramientas de configuración:Herramientas de la GUI y scripts existen para ayudarle con la configuración de ipchains. Ver:
Firestarter - Configuración del servidor de seguridad y el monitor hit en tiempo real para el escritorio Gnome. Configura ipchains (kernel 2.2) y iptables (kernel 2.4)
Firewall Builder - iptables, ipfilter y OpenBSD PF. (GTK -)
Se incluye con Red Hat 7.x es el GUI herramienta Gnome gnome-lokkit. (Ipchains)
Herramientas para la configuración de iptables:
Webmin - Linux herramienta de administración web Shorewall NARC: Netfilter Regla automática Configurator
Enlaces e información:iptables:
IpTables.org - Netfilter / iptables página de inicio Iptables Linux sintaxis - por Shane Chen ipmenu - aplicación basada en consola para ver y editar iptables y
cadenas. Bastille Linux - sistema de endurecimiento de Seguridad (guión) IPTables Firewall Guión - Bob Sully
ipchains:
Página del manual de ipchains Página del manual de ifconfig Ipchains HOWTO - LDP - Paul Russell Linux Firewall Guión - ipchains e ipfwadm scripts y configuración. (Es el
más lujoso que he visto.) - Craig Zeller linas.org: Linux NAT, equilibrio de carga y alta disponibilidad TrinityOS: NAT, MASQ Links Config / etc / rc.d / init.d / firewall script del servidor de archivos Web Config / etc / rc.d / init.d script / firewall - Mail Server
Enlaces de redes pertinentes:
Conformación del tráfico - la asignación de ancho de banda utilizando tc - por Shane Chen
o ejemplos tc PPP de marcación a su ISP - TUTORIAL Página del manual de resolv.conf Página del manual de pppd Página Man para el chat Conexión a un ISP Redes resumen HOWTO - PLD
Modem HOWTO - PLD Modem Linux compartiendo mini-HOWTO Smoothwall.org - Web OS gestionado por Firewall, VPN, acceso
telefónico, detección de intrusiones, DMZ, dinámico DNS, DHCP, el reenvío de puertos, ...
DSLreports.com: Opiniones de los proveedores de DSL, medición de velocidad de ancho de banda, herramientas, información
Modem Sharing
Routers basados en Linux:
Leaf - Linux firewall de aplicaciones Embeded Eigerstein
SOCKS Proxy Servers:Yo ya no puedo encontrar la implementación de referencia NEC pero aquí hay algunas otras opciones del servidor proxy SOCKS para Linux:
sSOCKS5 Privoxy - SOKS 5, el almacenamiento en caché web, IPV6 suport DeleGate - software propietario Delegar Delegar
También se pueden configurar ssh para proporcionar capacidad de proxy SOCKS5:
ssh-f-N-D 0.0.0.0:1080 localhost
Dónde:
-D: el reenvío de puertos en el puerto 1080. La dirección IP 0.0.0.0 especifica la opción de socket INADDR_ANY lo que significa que se listeneing para las conexiones desde cualquier dirección IP.
-N: permanece inactivo y no permite la ejecución de comandos en el servidor local
-F: Ejecutar en el fondo como un demonio
Iptables se pueden utilizar para restringir aún más las fuentes de acceso IP puerto 1080 y añadir más restricciones de seguridad.
Libros:
"Linux Cortafuegos" de Robert L. Ziegler, Carl Constaintine ISBN # 0735710996, New Riders 10/2001
Segunda edición. (Focus: iptables) Esta es la más actualizada versión de este libro. En él se destacan los recientes cambios en el kernel 2.4 de Linux (incluyendo iptables). También incluye la cobertura de VPS y SSH. Scripts y ejemplos se proporcionan para casi cualquier condición o propósito que uno puede necesitar. Recomiendo altamente este libro para cualquier persona preocupada por la seguridad de Internet.
"Los cortafuegos de Linux" Robert L. Ziegler ISBN # 0-7357-0900-9, New Riders 11/1999
Primera edición. (Focus: ipchains) más completo firewall Linux / libro de seguridad en la publicación. Cubre ipchains, se unen y una revisión completa de las posibles configuraciones de firewall. Una nueva versión de este libro ha sido puesto en libertad. Ver el libro anteriormente.
"Red Hat Linux Cortafuegos" Bill McCarty ISBN # 0764524631, John Wiley and Sons
Red Hat Press
"Linux iptables Pocket Reference" de Gregor N. Purdy ISBN # 0596005695, O'Reilly; Edición: 1 (noviembre de 2004)
"Linux Routers: Una Guía para los administradores de red" por Tony Mancill ISBN # 0130090263, Prentice Hall PTR, 2 edición (15 de junio 2002)