Crie uma máquina virtual para ser o firewall como feito no "firewall para uma rede interna", e adicione uma nova rede, a zona desmilitarizada (DMZ).
Na criação da máquina virtual coloque o nome do servidor como fw.testes.com.br.
Nesta nova configuração a máquina virtual terá três placas de rede
Adaptador 1 - modo bridge - eth0 em modo DHCP
Adaptador 2 - modo rede interna (intnet) - eth1 com IP 192.168.0.1/24
Adaptador 3 - modo rede interna (dmz) - eth2 com IP 192.168.10.1/24.
Na criação da máquina virtual lembre-se de ativar as três placas de rede, e durante a instalação já coloque os respectivos IPs nas placas de rede.
Após realizada a instalação vamos desativar alguns serviços, para isto execute os comandos abaixo.
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig hidd off
chkconfig ip6tables off
chkconfig iptables off
chkconfig isdn off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig hidd off
chkconfig ip6tables off
chkconfig iptables off
chkconfig isdn off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig rpcgssd off
chkconfig rpcidmapd off
Agora vamos criar um usuário suporte para usarmos como conexão remota.
[root@fw ~]# adduser suporte
Coloque uma senha para o usuário suporte.
[root@fw ~]# passwd suporte
Configurar o acesso para conexão via ssh. Edite o arquivo de configuração do ssh.
[root@fw ~]# vim /etc/ssh/sshd_config
Descomente a linha abaixo (retire o #)
HostKey /etc/ssh/ssh_host_dsa_key
Desabilite o login para o root.
PermitRootLogin no
Libere somente para o usuário suporte adicionando a linha abaixo ao final do arquivo.
AllowUsers suporte
Ajuste o arquivo hosts.conf.
[root@fw ~]# vim /etc/hosts
Deixe com o seguinte conteúdo.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.1 fw.testes.com.br fw
::1 localhost6.localdomain6 localhost6
192.168.0.1 fw.testes.com.br fw
Edite o arquivo sysctl.conf e altere os valores abaixo.
[root@fw ~]# vim /etc/sysctl.conf
Altere a variável abaixo.
net.ipv4.ip_forward = 1
Agora configuramos um firewall básico onde deixará inicialmente passar todas as requisições oriundas da rede interna.
[root@fw ~]# mkdir bin
[root@fw ~]# cd bin
[root@fw bin]# vim firewall.sh
[root@fw ~]# cd bin
[root@fw bin]# vim firewall.sh
Neste arquivo teremos as regras relacionadas abaixo.
#!/bin/bash
# Variável para interface de rede externa
EXT_IF=eth0
# Variável para interface de rede interna
INT_IF=eth1
# Variável para interface de rede DMZ
DMZ_IF=eth2
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Acesso da rede interna ------
iptables -A FORWARD -i $INT_IF -o $EXT_IF -p tcp -m multiport --dports 25,80,110,443,587 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i $INT_IF -o $EXT_IF -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i $INT_IF -o $EXT_IF -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#------------------------------
#Mascaramento
iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE
# Variável para interface de rede externa
EXT_IF=eth0
# Variável para interface de rede interna
INT_IF=eth1
# Variável para interface de rede DMZ
DMZ_IF=eth2
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
iptables -F
iptables -F -t nat
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Acesso da rede interna ------
iptables -A FORWARD -i $INT_IF -o $EXT_IF -p tcp -m multiport --dports 25,80,110,443,587 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i $INT_IF -o $EXT_IF -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i $INT_IF -o $EXT_IF -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#------------------------------
#Mascaramento
iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE
Altere o arquivo para que seja executável.
[root@fw bin]# chmod 700 firewall.sh
Coloque para que ele seja chamado quando o servidor seja iniciado.
[root@fw bin]# echo "/root/bin/firewall.sh" >> /etc/rc.local
Instale um pacote que sera muito útil para monitorar o tráfego no firewall.
[root@fw bin]# yum install iptraf
Com os IPs corretamente configurados e um firewall inicial, começaremos com a configuração do servidor de nomes e depois com vários servidores, aguardem.
Nenhum comentário:
Postar um comentário