Tem como vc passar as regras de Firewall ??
Versão Imprimível
Eh justamente isso que eu to precisando de ajuda, não sei como fazer as regras e onde faço, como já disse, sou nvoato nessa área, trabalhei apenas linux como DESKTOP, não usei linux como servidor, e conseguir configurar o SQUID, com a ajuda da galera aqui do forum e com pesquisas, porem ate agora não achei nada falando de configuração de firewall no opensuse 10.3, só ouvir falar, que o SQUID com o FIREWALL do proprio opensuse nao da certo, mas tbm não sei se é verdade, por isso estava querendo saber se tem como e como que faço pros 2 funcionarem juntos,
Digitando o comando iptables -nL tenho as seguintes regras em anexo. ( iptables.doc)
e os outros 2 anexos são do arrquivo SuseFirewall2( sao o mesmo arquivo porem com extensões diferentes)
Muito obrigado pela sua ajuda!!!
Grato.
Primeiro uma observação com relação aos anexos. Sempre prefira o uso de arquivos com formato txt, ou utilize sites como o pastebin.com (pastebin - collaborative debugging tool) para fazer referência a logs e arquivos de configuração, assim fica muito mais fácil visualizar as informações, não precisaria abrir o open office só pra isso, ok? :)
Quanto ao seu firewall... em uma olhada rápida no arquivo SuSEfirewall2.txt, seu firewall está completamente aberto.
A linha:
deixa aberto no firewall todos estes serviços para pessoas que estejam fora da sua rede. Faça uma limpeza nessas configurações, deixe apenas os serviços que você vai oferecer para a Internet, se é que algum deles vai realmente rodar no firewall (o que não é uma boa política). O mesmo vale para os serviços UDP, na verdade, todas as linhas que comecem com "FW_SERVICES_EXT_", já que são serviços que serão visíveis por pessoas fora da sua rede, devem conter o mínimo necessário para o provimento dos serviços pra internet.Citação:
FW_SERVICES_EXT_TCP="5801 5901 domain http https imap imaps ipp iscsi-target ldap ldaps microsoft-ds mysql netbios-ssn pbs pbs_mom pbs_resmom pbs_sched pop3 pop3s rsync smtp ssh svrloc xdmcp"
No caso dos serviços providos para a rede interna, estes ficam nas linhas iniciadas por "FW_SERVICES_INT_" e é nessas linhas que você vai liberar, por exemplo, a porta 3128/tcp para que seus usuários possam se conectar com o Squid. Mas o mesmo é válido aqui para os demais serviços. Desabilite todos os que não são utilizados e só libere acesso para aqueles estritamente necessários.
Eu não achei nessas configurações onde é que ficam as portas liberadas para saída. Mas eu, minha opinião pessoal, não gosto desses firewalls pré-prontos. Acho que vale muito a pena você entender como é que funciona o IPTables e tentar fazer as suas próprias regras, afinal de contas, só você conhece o seu ambiente e sabe o que você quer proteger nele. Esse firewall do SuSE é extremamente limitado, assim como a maioria desses baseados em "receita de bolo".
Veja o que consegue fazer por aí, se precisar de ajuda é só falar. Terei o maior prazer em te indicar material de leitura e até te ajudar a descomplicar o IPTables. ;)
Obrigado Galahad pela ajuda, cara, se nao for abusar demais da sua ajuda teria como vc me passar um tutorial de montar o firewall (iptables) ou vc mesmo me ajudar, tipow sou meio leigo no asunto e ate o momento, sem que tenho que criar um arquivo e no inicio dele colocar o comando
#!/bin/bash
para que ele vire um script, ai agora como que faco pra colocar a regra, e como faco a regra para que todas as requisições dos computadore da rede passe primeiro pela autenticação de usúarios???
Grato.
Maverick,
Uma excelente fonte para o iptables é o help do próprio iptables, bem como a man page, que eu consulto sempre que tenho alguma dúvida. Fora isso, o tópico que trata do firewall iptables no Guia Foca (Guia Foca GNU/Linux - Firewall iptables) também é uma ótima fonte de consulta. Também existe um artigo no wiki do Under-Linux que trata do assunto: Tutoriais/Seguranca/implemantacao-linux-iptables - UnderLinux Wiki
Mas vamos ao seu firewall básico:
Primeiro uma breve noção das tabelas disponíveis:
filter: faz filtragem dos pacotes
nat: faz tradução de endereçamento
mangle: modifica os pacotes
raw: trata os pacotes em seu estado original
As tabelas mais utilizadas são a filter, que é a tabela padrão e a nat, para fazer tradução de endereços e redirecionamento de portas.
Na tabela filter, temos as seguintes direções:
INPUT: pacotes que tem como destino a máquina do firewall
OUTPUT: pacotes que tem como origem a máquina do firewall
FORWARD: pacotes que atravessam o firewall
Na tabela nat, temos as direções:
PREROUTING: tratamento dos pacotes antes do início do roteamento
POSTROUTING: tratamento dos pacotes depois do roteamento
OUTPUT: tratamento dos pacotes que saem do firewall
O arquivo do firewall pode ser tanto um script shell, quanto um arquivo no formato iptables, mas para fins deste firewall básico, vamos ficar com o script shell.
Tá aí... você tem um firewall básico que permite a navegação via Squid, o acesso ao e-mail e consultas DNS.Citação:
------------ iptables.sh
#!/bin/bash
# Como existem diferenças nos paths de algumas distribuições,
# vamos deixar o script achar o executável:
IPT=`which iptables`
# Se o seu iptables estiver configurado como módulos no kernel, é
# necessário carregar alguns deles:
MODULOS="ip_tables nf_conntrack_ipv4 nf_conntrack"
for mod in ${MODULOS}; do
modprobe ${mod}
done
# Também precisamos acertar alguns detalhes com o kernel
# Habilita o roteamento entre as interfaces
sysctl -q -w net.ipv4.ip_forward=1
# Habilita o syncookies que ajuda a minimizar ataques de SYN Flood
sysctl -q -w net.ipv4.tcp_syncookies=1
# Limita o ICMP para o maximo de 100 requisicoes por minuto
sysctl -q -w net.ipv4.icmp_ratelimit=100
# Ignora ICMPs enviados para broadcast
sysctl -q -w net.ipv4.icmp_echo_ignore_broadcasts=1
# Nega redirecionamento de ICMP
sysctl -q -w net.ipv4.conf.all.accept_redirects=0
# Nao envia redirecionamento de pacotes ICMP
sysctl -q -w net.ipv4.conf.all.send_redirects=0
# Habilita filtro de "caminho de retorno" para evitar spoof
sysctl -q -w net.ipv4.conf.all.rp_filter=0
sysctl -q -w net.ipv4.conf.eth0.rp_filter=0
sysctl -q -w net.ipv4.conf.eth1.rp_filter=0
# Habilita log de pacotes desconhecidos/esquisitos
sysctl -q -w net.ipv4.conf.all.log_martians=0
# Definimos algumas variaveis para uso no script
IFEXT="eth0"
IFINT="eth1"
REDE_INTERNA="192.168.1.0/24"
FWINT="192.168.50.1"
# Se tiver IP Fixo
# FWEXT="200.x.y.z"
SRVMAIL="200.x.y.t"
# Pode ainda definir outras variaveis a seu gosto
# Tabela Filter
# Habilita trafego local
# Libera o acesso ao localhost de conexoes originadas no proprio firewall
${IPT} -A INPUT -i lo -j ACCEPT
${IPT} -A OUTPUT -o lo -j ACCEPT
${IPT} -A FORWARD -i lo -o lo -j ACCEPT
# Libera acesso SSH a partir da rede interna
${IPT} -A INPUT -i ${IFINT} -p tcp --dport 22 -s ${REDE_INTERNA} -j ACCEPT
# Libera acesso ao Squid
${IPT} -A INPUT -i ${IFINT} -p tcp --dport 3128 -s ${REDE_INTERNA} -j ACCEPT
# Libera o squid para navegar na Internet
${IPT} -A OUTPUT -p tcp -m multiport --dports 21,80,443 -j ACCEPT
# Libera consultas DNS em todas as direções
${IPT} -A INPUT -p tcp --dport 53 -j ACCEPT
${IPT} -A OUTPUT -p tcp --dport 53 -j ACCEPT
${IPT} -A FORWARD -p tcp --dport 53 -j ACCEPT
${IPT} -A INPUT -p udp --dport 53 -j ACCEPT
${IPT} -A OUTPUT -p udp --dport 53 -j ACCEPT
${IPT} -A FORWARD -p udp --dport 53 -j ACCEPT
# Libera acesso pop e smtp ao e-mail
${IPT} -A FORWARD -d ${SRVMAIL} -p tcp -m multiport --dports 25,110 -j ACCEPT
# Tabela NAT
# Cria regras para tratar spoof e SYNFlood
# Mantem as conexoes estabelecidas e faz controle do estado de novas conexoes
${IPT} -t nat -A PREROUTING -m state --state RELATED,ESTABLISHED -j ACCEPT
${IPT} -t nat -A PREROUTING -m state --state INVALID -j LOG --log-prefix "FW INVALID: "
${IPT} -t nat -A PREROUTING -m state --state INVALID -j DROP
${IPT} -t nat -A PREROUTING -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "FW NEWNOTSYN: "
${IPT} -t nat -A PREROUTING -p tcp ! --syn -m state --state NEW -j DROP
${IPT} -t nat -A PREROUTING -p tcp --syn -m state --state ! NEW -j LOG --log-prefix "FW SYNNOTNEW: "
${IPT} -t nat -A PREROUTING -p tcp --syn -m state --state ! NEW -j DROP
# Redireciona acessos HTTP para o Squid
${IPT} -t nat -A PREROUTING -p tcp -m multiport --dports 80,443 -j DNAT --to ${FWINT}:3128
# Faz masquerade dos pacotes que vão sair do firewall
${IPT} -t nat -A POSTROUTING -o ${IFEXT} -j MASQUERADE
# Se tiver IP Fixo, pode usar o SNAT
# ${IPT} -t nat -A POSTROUTING -o ${IFEXT} -j SNAT --to ${FWEXT}