| 0 comentários ]

Olá amigos!

Hoje vou mostrar um exemplo prático de um firewall básico usando o IPTABLES




#!/bin/bash

### Firewall Linux

# carrega o modulo NAT
modprobe iptable_nat

# compartilha a conexao
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 >/proc/sys/net/ipv4/ip_forward

# configuracao para proxy transparente
#ptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Abilitando conexoes para o ssh - porta 22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Abilitando as conexoes para a rede local
iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT


#redirecionamento para utorrent e emule para a maquina 250
## utorrent
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 42228 -j DNAT --to-dest 192.168.0.250
iptables -A FORWARD -p tcp -i ppp0 --dport 42228 -d 192.168.0.250 -j ACCEPT


# Fechando todas as conexoes
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -p udp --syn -j DROP



Uma opção muito interessante é poder garar logs.

O iptables tem um target extension denominado LOG, que permite que qualquer pacote que se encaixe na regra do iptables seja enviado para o syslog ou dmesg.
Esse target é não-terminal, ou seja, para um dado pacote que é validado na regra, ele continua sendo avaliado nas regras subsequentes. Portanto, se vc quer descartar o pacote após gerar um log de sua chegada, vc deve criar outra regra idêntica, mas com o target REJECT ou DROP, ou colocar a política default como DROP (recomendado), e criar regras apenas para o que é permitido.

Veja abaixo um exemplo.


iptables -I INPUT 1 -m limit -p tcp --destination-port 22 -j LOG --log-level 1 --log-prefix 'SSH >'



O comando acima inclui uma regra para gerar uma mensagem no syslog para qualquer acesso SSH (porta 22). O nível do log é 1 (alert) e a mensagem será prefixada com o texto "SSH >"

Vc deve adicionar ao seu arquivo /etc/syslog.conf a linha abaixo.

*.=alert -/var/log/iptables

Isso enviará as mensagens para o arquivo /var/log/iptables.
Reinicie o syslogd para a alteração ser carregada.

Por hoje é isso galera.

Abraços!

0 comentários

Postar um comentário