Anda di halaman 1dari 6

ConfigurandoFirewall Configurando um Firewall no Linux Ubuntu Contedo Contedo Configurando um Firewall no Linux Ubuntu Introduo Estudo de caso real

O Script Introduo Navegar na internet pode ser muito perigoso. Vrus, programas maliciosos, ou scripts feitos por crackers. Vrios so os meios que o seu computador pode ser danificado. Ento para impedir (ou pelo menos dificultar) que esses ataques ocorram na sua mquina, vamos usar o iptables para configurar um firewall no Linux Ubuntu. por Cristiano Meira Magalhes Estudo de caso real O objetivo desse tutorial construir um script para configurar o software iptables, que ir montar um firewall. A nossa necessidade parte de um estudo real em uma pequena empresa. Essa empresa contm 4 computadores: - Escritrio (localhost) - Secretria (192.168.0.5) - Caixa - Balco (192.168.0.7) Necessidades: - O computador do escritrio deve usar servios de e-mail do Gmail, e comunicadores YahooMesseger, MSN, Jabber e ICQ. - O computador da secretria deve apenas usar a web, comunicadores Jabber e Skype e ter acesso ao e-mail. - O computador do caixa deve apenas ter acesso aos servios da web. O computador do Escritrio o que serve acesso internet e ele est ligado aos demais atravs de uma rede interna. O Script 1) Configure o seu Linux para fazer NAT. 1.1) Log como root $ sudo su 1.2) Edite o arquivo /proc/sys/net/ipv4/ip_forward $ echo 1 > /proc/sys/net/ipv4/ip_forward 1.3) Edite a varivel no arquivo /etc/network/options $ sudo gedit /etc/network/options faa: ip_forward=yes 2) Copie e cole o contedo do quadro abaixo em um novo documento de texto e salve como "iptstart.sh"

IP_LOCAL=172.16.23.22 IP_DNS=172.16.23.21 apagueTabelas () { echo ## ---------------------------------## Tabelas FILTER e NAT ## ---------------------------------echo \ \ -\>IPTables: Apagando regras em tabelas FILTER e NAT sudo iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X } abraTudo () { apagueTabelas echo ## ---------------------------------## Configurando polticas ## ---------------------------------echo \ \ -\>IPTables: Abrindo todas as sadas e entradas do sistema sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT echo ## ---------------------------------## Configurando NAT ## ---------------------------------echo \ \ -\>IPTables: Configurando acesso da rede interna para a Internet sudo iptables -t nat -A POSTROUTING -s 192.168.0.5 -o wlan0 -j MASQUERADE } fecheTudo() { apagueTabelas echo ## ---------------------------------## Configurando polticas ## ---------------------------------echo \ \ -\>IPTables: Trancando todas as sadas e entradas do sistema sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT DROP } construaModoSeguro () { apagueTabelas echo ## ---------------------------------## Configurando polticas ## ---------------------------------echo \ \ -\>IPTables: Configurando polticas para valores seguros

sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT DROP echo ## ---------------------------------## Configurando INPUT ## ---------------------------------echo \ \ -\>IPTables: Liberando que servios e mquinas comuniquem com vc ## Permite entradas para uma faixa de endereos da rede local sudo iptables -A INPUT -p tcp -s 192.168.0.0/255.255.255.0 -j ACCEPT ## Permite entradas na porta 80 (Apache) sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Permite que localhost receba dados para localhost sudo iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT # Permite que entre somente pacotes de uma conexo j estabelecida sudo iptables -A INPUT -p tcp --syn -j DROP echo ## ---------------------------------## Configurando OUTPUT ## ---------------------------------echo \ \ -\>IPTables: Liberando acesso de programas e servios para o uso da Internet ## Permite sadas para uma faixa de endereos da rede local sudo iptables -A OUTPUT -p tcp -d 192.168.0.0/255.255.255.0 -j ACCEPT # Libera uso de servios que estejam escutando localhost, como o CURPS e o POSTFIX sudo iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT # Libera a consulta ao servidor DNS sudo iptables -A OUTPUT -s $IP_LOCAL -d $IP_DNS -j ACCEPT ## Libera resposta para requisies web vindos de fora (Apache) sudo iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT # Libera consulta aos servios da web (HTTP) sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 80 -j ACCEPT # Libera consulta aos servios da web (HTTPS, MSN) sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 443 -j ACCEPT # Libera consulta a caixa postal do e-mail (SMTP) #sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 25 -j ACCEPT # Libera envio de e-mails (POP3) #sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 110 -j ACCEPT # Libera consulta a caixa postal do GMail sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 995 -j ACCEPT # Libera envio de e-mail do GMail sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 465 -j ACCEPT sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 587 -j ACCEPT # Libera o uso da rede Jabber sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 5222 -j ACCEPT # Libera o uso da rede MSN sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 1863 -j ACCEPT # Libera o uso do IRC sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 6667 -j ACCEPT # Libera o uso do ICQ sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 5190 -j ACCEPT # Libera o uso do YahooMesseger sudo iptables -A OUTPUT -s $IP_LOCAL -p tcp --dport 5050 -j ACCEPT

echo ## ---------------------------------## Configurando FORWARD ## ---------------------------------echo \ \ -\>IPTables: Configurando acesso de programas e servicos da rede interna a Internet ## Protees diversas contra portscanners, ping of death, ataques DoS, etc. ## Contra Ping of Death sudo iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT ## Contra Ping sudo iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT ## Contra port scanners avanados (nmap) sudo iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT ## Contra pacotes danificados (NO FUNCIONA?) #sudo iptables -A FORWARD -m unclean -j DROP ## Outros ataques #sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #sudo iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP ## Ignora pings #sudo echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all # Libera consulta aos servios da web (Sada e Entrada) sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 80 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --sport 80 -j ACCEPT #Libera o uso de servios da web (HTTPS, MSN) sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 443 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --dport 443 -j ACCEPT #libera o uso de servios do MSN sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 1863 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --dport 1863 -j ACCEPT # Libera consulta a servios de e-mail (Sada e Entrada) sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 25 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --sport 25 -j ACCEPT sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 110 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --sport 110 -j ACCEPT # Libera a consulta ao servidor DNS (Sada e Entrada) sudo iptables -A FORWARD -s 192.168.0.5 -d $IP_DNS -j ACCEPT sudo iptables -A FORWARD -s $IP_DNS -d 192.168.0.5 -j ACCEPT # Libera consulta a servios do Skype #sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 55017 -j ACCEPT #sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --sport 55017 -j ACCEPT # Libera consulta a servios do Jabber sudo iptables -A FORWARD -s 192.168.0.5 -p tcp --dport 5222 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.5 -p tcp --sport 5222 -j ACCEPT # Libera consulta aos servios da web (Sada e Entrada) sudo iptables -A FORWARD -s 192.168.0.2 -p tcp --dport 80 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.2 -p tcp --sport 80 -j ACCEPT #Libera o uso de servios da web (HTTPS, MSN) sudo iptables -A FORWARD -s 192.168.0.2 -p tcp --dport 443 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 443 -j ACCEPT # Libera consulta a servios do Jabber sudo iptables -A FORWARD -s 192.168.0.2 -p tcp --dport 5222 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.2 -p tcp --sport 5222 -j ACCEPT

# Libera consulta aos servios da web (Sada e Entrada) sudo iptables -A FORWARD -s 192.168.0.7 -p tcp --dport 80 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.7 -p tcp --sport 80 -j ACCEPT #Libera o uso de servios da web (HTTPS, MSN) sudo iptables -A FORWARD -s 192.168.0.7 -p tcp --dport 443 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.7 -p tcp --dport 443 -j ACCEPT # Libera consulta a servios do Jabber sudo iptables -A FORWARD -s 192.168.0.7 -p tcp --dport 5222 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.7 -p tcp --sport 5222 -j ACCEPT echo ## ---------------------------------## Configurando NAT ## ---------------------------------echo \ \ -\>IPTables: Configurando acesso da rede interna para a Internet sudo iptables -t nat -A POSTROUTING -s 192.168.0.5 -o wlan0 -j MASQUERADE ## ************************************ ## * ATENO * ## ************************************ ## 1 ) Log como root ## $ sudo su ## 2 ) Edite o arquivo /proc/sys/net/ipv4/ip_forward ## echo 1 > /proc/sys/net/ipv4/ip_forward ## 3 ) Edite a variavel no arquivo /etc/network/options ## ip_forward=yes ## ************************************ } echo Configurando iptables... case "$1" in abra) echo -n "Iniciando montagem da pasta servidor:" abraTudo ;; feche) echo -n "Desmontando a pasta servidor:" fecheTudo ;; seguro) construaModoSeguro ;; *) exit 1 ;; esac echo echo Configurao de tabelas completa. echo

exit 0 3) Modifique os endereos IPs do script j salvo conforme a configurao da sua rede. 4) Execute o script Para abrir todas as portas: $ iptstart.sh abra Para fechar todas as portas: $ iptstart.sh feche Para configurar o seu firewall para permitir que somente saia e somente entre no seu computador aquilo que voc realmente est usando e conhece. $ iptstart.sh segura

Anda mungkin juga menyukai