Netfilter faz a filtragem de pacotes
Linux em kernels da série 2.4.x e 2.6.x. Permite a filtragem de pacotes (endereço de rede e portas), NAT e outros pacotes. Reprojetado e altamente melhorado do kernel anterior 2.2.x, ipchains e ipfwadm do kernel 2.0.x.
Netfilter é um conjunto de estruturas dentro do kernel permitindo que os módulos registrem funções com a rede.
Um registro das informações é retornado para informar o destino desse pacote. DENY, ACCEPT, REJECT são as informações retornadas para informar o destino/solicitação.
DROP - Rejeita o pacote, sem envio de mensagem.
REJECT - Faz a mesma função do DROP, com a diferença de que envia uma mensagem ICMP "icmp-port-unreachable" para a máquina de origem.
Iptables é uma estrutura de tabela para a definição de conjuntos de regras. Cada regra dentro de uma tabela (IP) consiste em solicitação e uma ação (regras).
Netfilter, ip_tables, rastreamento de conexão (ip_conntrack, nf_conntrack) e o NAT são subsistemas juntos para construir as principais partes da estrutura.
Referência:
http://www.netfilter.org
Shoreline Firewall (netfilter)
Site do desenvolvedor:
www.shorewall.net/index.htm
Vá em Documentation (Documentações) que lá vai constar item por item e outras coisas que se pode adicionar ao Shorewall.
Utilizando o "shorewall" você estará usando o iptables, porém de uma maneira mais fácil.
# yum install shorewall
Verificando os processos que estão para ser iniciados durante o reboot:
# chkconfig --list
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
shorewall 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Note que o Shorewall encontra-se off. Ou seja, toda vez que a máquina for reiniciada, o Shorewall não irá subir.
# chkconfig shorewall on
Deixando ele (shorewall) habilitado aparecerá assim:
shorewall 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Arquivos de configuração do Shorewall:
- /etc/shorewall/shorewall.conf
- /etc/shorewall/interfaces
- /etc/shorewall/masq
- /etc/shorewall/policy
- /etc/shorewall/rules
- /etc/shorewall/zones
Onde:
- interfaces - Definição do que cada interface fará
- masq - Definição de Masquerade/SNAT (eth0, eth1, eth2...)
- police - Políticas (ACCEPT, DROP, REJECT ...)
- rules - Regras do firewall
- zones - Declaração de zonas
Configuração do Shorewall
Mudar no arquivo shorewall.conf:
STARTUP_ENABLED=No
Para:
STARTUP_ENABLED=Yes
e:
SHOREWALL_COMPILER=
Para:
SHOREWALL_COMPILER=perl
# cat /etc/shorewall/interfaces
#
# Shorewall version 4 - Interfaces File
#
# For information about entries in this file, type "man shorewall-interfaces"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-interfaces.html
#
#######################################
#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect tcpflags,dhcp,routefilter,nosmurfs,logmartians
loc eth1 detect tcpflags,nosmurfs
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
# cat masq
#
# Shorewall version 4 - Masq file
#
# For information about entries in this file, type "man shorewall-masq"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-masq.html
#
#######################################
#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth0 200.x.x.x
eth0:1 200.y.y.y
eth1 10.x.y.z
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Obs.: Ler muito bem esse manual, tem diversas opções a serem configuradas.
# cat policy
#
# Shorewall version 4 - Policy File
#
# For information about entries in this file, type "man shorewall-policy"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-policy.html
#
#######################################
#SOURCE DEST POLICY LOG LIMIT:BURST
fw loc ACCEPT
fw net ACCEPT
fw fw ACCEPT
loc fw ACCEPT
loc net ACCEPT
loc loc ACCEPT
net fw DROP info
net loc DROP info
net net DROP info
all all DROP info
# LEVEL
#LAST LINE -- DO NOT REMOVE
Obs.: Deixei essa última linha (all all DROP info) porque eu decreto o que passa e não passa no firewall e irá gerar um log do que for.
# cat rules
#
# Shorewall version 4 - Rules File
#
# For information on the settings in this file, type "man shorewall-rules"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-rules.html
#
############################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK
# PORT PORT(S) DEST LIMIT GROUP
#SECTION ESTABLISHED
#SECTION RELATED
SECTION NEW
### NET to FW
ACCEPT net fw icmp echo-request
ACCEPT net fw tcp 81
ACCEPT net fw tcp 22
### LOC to FW
ACCEPT loc fw tcp ssh
ACCEPT loc fw icmp echo-request
ACCEPT loc fw udp snmp
### LOC to NET
ACCEPT loc net udp domain
ACCEPT loc net tcp domain
ACCEPT loc net tcp http,https
ACCEPT loc net icmp echo-request
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
# cat zones
#
# Shorewall version 4 - Zones File
#
# For information about this file, type "man shorewall-zones"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-zones.html
#
#######################################
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
loc ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
# service shorewall start
Se apresentar algum erro:
# shorewall debug restart
Você poderá verificar onde está dando o erro informado.