instalando o firewall no linux

6
DOMINGO, 27 DE JUNHO DE 2010 Instalando o Firewall no Linux Postado por Cesar Augustus Silva às 14:25 Linux Seguranca Shell Script Tutorial Hoje irei mostrar como instalar o Firewall para poder proteger as máquinas de pacotes indesejáveis no GNU/Linux. Instalando o Firewall Debian/Ubuntu [email protected]'s # apt-get install iptables Fedora/CentOS [email protected]'s # yum install iptables Slackware Baixe o pacote do Iptables e instale: ftp://ftp.slackware-brasil.com.br/slackware(...)/n/iptables-1.4.2-i486-1.tgz [email protected]'s # installpkg iptables-1.4.2-i486-1.tgz Criando o Script do Firewall Debian/Ubuntu e Fedora/CentOS Crie um arquivo com o nome "firewall" em "/etc/init.d/", adicione o script do firewall e atribui as permissões: [email protected]'s # chmod 0755 /etc/init.d/firewall Para iniciar o firewall sempre que ligar a máquina, execute os seguintes comandos: Debian/Ubuntu [email protected]'s # update-rc.d firewall defaults Fedora/CentOS [email protected]'s # chkconfig --add firewall # chkconfig firewall on

Upload: cesar-augustus-silva

Post on 10-Oct-2014

379 views

Category:

Documents


1 download

DESCRIPTION

Hoje irei mostrar como instalar o Firewall para poder proteger as máquinas de pacotes indesejáveis no GNU/Linux.

TRANSCRIPT

Page 1: Instalando o Firewall no Linux

DOMINGO, 27 DE JUNHO DE 2010

Instalando o Firewall no LinuxPostado por Cesar Augustus Silva às 14:25

Linux Seguranca Shell Script Tutorial

Hoje irei mostrar como instalar o Firewall para poder proteger as máquinas de pacotesindesejáveis no GNU/Linux.

Instalando o Firewall

Debian/Ubuntu

[email protected]'s

# apt-get install iptables

Fedora/CentOS

[email protected]'s

# yum install iptables

Slackware

Baixe o pacote do Iptables e instale:

ftp://ftp.slackware-brasil.com.br/slackware(...)/n/iptables-1.4.2-i486-1.tgz

[email protected]'s

# installpkg iptables-1.4.2-i486-1.tgz

Criando o Script do Firewall

Debian/Ubuntu e Fedora/CentOS

Crie um arquivo com o nome "firewall" em "/etc/init.d/", adicione o script do firewall eatribui as permissões:

[email protected]'s

# chmod 0755 /etc/init.d/firewall

Para iniciar o firewall sempre que ligar a máquina, execute os seguintes comandos:

Debian/Ubuntu

[email protected]'s

# update-rc.d firewall defaults

Fedora/CentOS

[email protected]'s

# chkconfig --add firewall# chkconfig firewall on

Page 2: Instalando o Firewall no Linux

Slackware

Crie um arquivo com o nome "rc.firewall" em "/etc/rc.d/", adicione o script do firewall ecoloque para iniciar o firewall sempre que ligar a máquina atribuindo a permissão:

[email protected]'s

# chmod 0755 /etc/rc.d/rc.firewall

Script Firewall

Esse Script Firewall que eu criei e utilizo, tem várias regras com proteções e tudo mais.Algumas regras estão comentadas, bastando descomentar que a regra será adicionada aorecarregar o firewall e permitindo o tráfego.

Baixe o script completo: Debian/Ubuntu, Fedora/CentOS e Slackware.

#!/bin/bash## Shell Script - Firewall# =======================# Autor:- CESAR AUGUSTUS SILVA# Email:- [email protected]#

# IP da RedeNETWORK=192.168.0.0/24

# Interface da Rede Local - LANILAN=eth0

# Interface da Rede Externa - InternetINET=ppp0

IPT=/sbin/iptables

/sbin/modprobe iptable_filter/sbin/modprobe iptable_nat/sbin/modprobe iptable_mangle

Page 3: Instalando o Firewall no Linux

/sbin/modprobe ipt_LOG/sbin/modprobe ipt_REDIRECT/sbin/modprobe ipt_MASQUERADE

INTERNET () { # Mascaramento $IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE

# Ativando o redirecionamento de pacotes echo 1 > /proc/sys/net/ipv4/ip_forward}

LIMPAR () { # Removendo regras $IPT -F $IPT -t nat -F $IPT -t mangle -F

# Apagando chains $IPT -X $IPT -t nat -X $IPT -t mangle -X

# Zerando contadores $IPT -Z $IPT -t nat -Z $IPT -t mangle -Z}

PARAR () { # Limpando regras LIMPAR

# Política Padrão $IPT -P INPUT ACCEPT $IPT -P OUTPUT ACCEPT $IPT -P FORWARD ACCEPT

# Compartilhando a Internet INTERNET}

INICIAR () { # Limpando regras LIMPAR

# Política Padrão $IPT -P INPUT DROP $IPT -P OUTPUT ACCEPT $IPT -P FORWARD DROP

# Compartilhando a Internet INTERNET

########################## ATRIBUINDO SEGURANÇA ########################## # Proteção para SYN Flood echo 1 > /proc/sys/net/ipv4/tcp_syncookies # Rejeitar requisição de ICMP Echo destinado a Broadcasts e Multicasts echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Ignorar Mensagens Falsas de icmp_error_responses

Page 4: Instalando o Firewall no Linux

echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

for i in /proc/sys/net/ipv4/conf/*; do # Não Redirecionar Mensagens ICMP echo 0 > $i/accept_redirects # Proteção a Ataques IP Spoofing echo 0 > $i/accept_source_route # Permitir que Pacotes Forjados sejam logados pelo próprio kernel echo 1 > $i/log_martians # Verificar Endereço de Origem do Pacote (Proteção a Ataques IP Spoofing) echo 1 > $i/rp_filter done

#################### ADICIONANDO REGRAS P/ SERVIDORES #################### # Apache - Servidor Web #$IPT -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Apache TomCat - Servidor Web #$IPT -A INPUT -p tcp --dport 8080 -j ACCEPT

# Bind9 - Servidor DNS #$IPT -A INPUT -p udp --dport 53 -j ACCEPT

# DanGuardian - Servidor Proxy #$IPT -A INPUT -i $ILAN -p tcp --dport 8080 -j ACCEPT

# DHCP - Servidor DHCP #$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT # IPP - Protocolo de Impressão na Internet #$IPT -A INPUT -i $ILAN -p tcp --dport 631 -j ACCEPT #$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 138,631 -j ACCEPT

# NFS - Servidor NFS #$IPT -A INPUT -p tcp -m multiport --dports 111,2049,51049 -j ACCEPT #$IPT -A INPUT -p udp -m multiport --dports 111,49176 -j ACCEPT

# ProFTP - Servidor FTP #$IPT -A INPUT -i $ILAN -p tcp --dport 21 -j ACCEPT #$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 49152:49162 -j ACCEPT

# Postfix - Servidor de E-mail #$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 25,110 -j ACCEPT #$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 465,995 -j ACCEPT

# PostgreSQL - Servidor Postgresql #$IPT -A INPUT -i $ILAN -p tcp --dport 5432 -j ACCEPT

# Samba - Serviços de Diretório da Microsoft #$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 445,139 -j ACCEPT #$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 137,138 -j ACCEPT

# Squid - Servidor Proxy #$IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT

# SSH - Servidor SSH #$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 10 -j DROP

Page 5: Instalando o Firewall no Linux

#$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --set #$IPT -A INPUT -i $ILAN -p tcp --dport 22 -j ACCEPT

# VNC - Servidor de Acesso Remoto #$IPT -A INPUT -p tcp --dport 5900 -j ACCEPT

# Webmin - Gerenciador Web de Servidor #$IPT -A INPUT -i $ILAN -p tcp --dport 10000 -j ACCEPT

##################### ADICIONANDO REGRAS P/ SERVIÇOS ##################### # DNS - Serviço de Nomes de Dominios #$IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT

# FTP - Protocolo de Transferência de Arquivo #$IPT -A FORWARD -o $INET -p tcp --dport 21 -j ACCEPT

# HTTP - Protocolo de Transferência de Hypertext #$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 80,8080 -j ACCEPT

# HTTPS - Protocolo de Transferência de Hypertext Seguro #$IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT

# MSNMS - Serviço de Mensageiro de Rede da Microsoft #$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 1863,7001 -j ACCEPT #$IPT -A FORWARD -o $INET -p udp --dport 7001 -j ACCEPT

# NTP - Protocolo para sincronização dos relógios #$IPT -A FORWARD -o $INET -p udp --dport 123 -j ACCEPT

# Ping #$IPT -A INPUT -i $ILAN -p icmp --icmp-type 8 -j ACCEPT #$IPT -A FORWARD -o $INET -p icmp --icmp-type 8 -j ACCEPT

# POP3 - Protocolo de Correio #$IPT -A FORWARD -o $INET -p tcp --dport 110 -j ACCEPT

# POP3S - Protocolo de Correio Seguro #$IPT -A FORWARD -o $INET -p tcp --dport 995 -j ACCEPT # PPTP - Protocolo de Encapsulamento Ponto a Ponto #$IPT -A FORWARD -o $INET -p tcp --dport 1723 -j ACCEPT

# RDP - Protocolo de Área de Trabalho Remota #$IPT -A FORWARD -o $INET -p tcp --dport 3389 -j ACCEPT

# SSDP - Protocolo para Descoberta de Serviços Simples #$IPT -A INPUT -i $ILAN -p udp --dport 1900 -j ACCEPT

# SSH - Shell Seguro #$IPT -A FORWARD -o $INET -p tcp --dport 22 -j ACCEPT

# SMTP - Protocolo Simples para Transferência de Correio #$IPT -A FORWARD -o $INET -p tcp --dport 25 -j ACCEPT

# SSMTP - Protocolo Simples para Transferência de Correio Seguro #$IPT -A FORWARD -o $INET -p tcp --dport 465 -j ACCEPT

# TELNET #$IPT -A FORWARD -o $ILAN -p tcp --dport 23 -j ACCEPT

# VNC - Computação em Rede Virtual

Page 6: Instalando o Firewall no Linux

#$IPT -A FORWARD -o $ILAN -p tcp --dport 5900 -j ACCEPT

# XMPP - Protocolo de Presença e Mensagens Extensiva #$IPT -A FORWARD -o $INET -p tcp --dport 5222 -j ACCEPT

# Manter Conexões Estabelecidas $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando o Tráfego na Interface loopback $IPT -A INPUT -i lo -j ACCEPT

################################## LOG ################################### $IPT -A INPUT -p tcp -m multiport ! --dports 0:1056 -j DROP $IPT -A INPUT -p udp -j DROP $IPT -A INPUT -p icmp -j DROP $IPT -A INPUT -m limit --limit 3/m --limit-burst 3 -j LOG --log-prefix "LOG-FW: "}

case "$1" in start) echo " * Starting Firewall iptables" INICIAR ;; stop) echo " * Stopping Firewall iptables" PARAR ;; restart|reload) echo " * Reloading Firewall iptables" INICIAR ;; *) echo " * Usage: $0 {start|stop|restart|reload}" exit 1esac

exit 0

Testando a Segurança

Vamos agora fazer um pequeno teste para sabermos se estamos "invisíveis" na internet.Lembre-se: "Não se pode atacar o que não se pode ver".

1) Vá para o endereço: http://www.grc.com/default.htm2) Clique em "ShieldsUP"3) Clique em "Proceed"4) Clique em "All Service Ports"

As portas até 1024 serão testadas e se o resultado final for um "PASSED" em verde, suamáquina não responde a pacotes ICMP e, portanto, tem uma segurança a mais na internet.

A obra Instalando o Firewall no Linux de Cesar Augustus Silva foi licenciada com uma Licença

Creative Commons - Atribuição - Partilha nos Mesmos Termos 3.0 Não Adaptada.

Permissões adicionais ao âmbito desta licença podem estar disponíveis em

http://creativecommons.org/.

http://blog.cesar.augustus.nom.br/instalando-o-firewall-no-linux.html