Configuração do shorewall¶
Introdução¶
Este é um roteiro emergencial para a cofiguração manual de firewall, para situações em que não haja configuração automatizada já disponível.
Uma vez que o bootstrap estiver concluído, os módulos puppet-firewall e puppet-shorewall e poderão ser utilizados para gerenciar o firewall.
No entanto, se você for substituir o presente procedimento pela sua versão
automatizada, certifique-se de apagar os arquivos
/etc/shorewall/{masq,policy,zones,rules,interfaces}
.
Procedimento¶
De início, instale o shorewall:
apt-get install shorewall
É necessário que o iptables esteja configurado para encaminhar os pacotes de
uma porta externa para os vservers. As seguinte diretiva precisa ser alterada
na configuração original no arquivo /etc/shorewall/shorewall.conf
:
IP_FORWARDING=Yes
O arquivo /etc/shorewall/interfaces
deve conter a interface de rede:
#ZONE INTERFACE BROADCAST OPTIONS
- eth0 detect tcpflags,blacklist,routefilter,nosmurfs,logmartians,norfc1918
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
O arquivo /etc/shorewall/zones
deve conter as zonas da rede:
###############################################################################
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
vm ipv4
net ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
O arquivo /etc/shorewall/hosts
associa zonas a subredes:
#ZONE HOST(S) OPTIONS
vm eth0:192.168.0.0/24
net eth0:0.0.0.0/0
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS LINE -- DO NOT REMOVE
O arquivo /etc/shorewall/policy
define as regras para tráfego de pacotes:
###############################################################################
#SOURCE DEST POLICY LOG LIMIT:BURST
# LEVEL
vm net ACCEPT
$FW net ACCEPT
$FW vm ACCEPT
net all DROP info
# THE FOLLOWING POLICY MUST BE LAST
all all REJECT info
#LAST LINE -- DO NOT REMOVE
E o arquivo /etc/shorewall/rules
define exceções às regras gerais:
################################################################
#ACTION SOURCE DEST PROTO DEST
SSH/ACCEPT net $FW
Ping/ACCEPT net $FW
HTTP/ACCEPT net $FW
HTTPS/ACCEPT net $FW
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Adicionamos máscaras NAT aos pacotes da rede interna através do /etc/shorewall/masq
:
###############################################################################
#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth0:!192.168.0.0/24 192.168.0.0/24
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Habilite o shorewall mudando o valor de startup de /etc/default/shorewall
para 1
:
startup=1
Finalmente podemos ligar o shorewall:
/etc/init.d/shorewall start