fag_oliv
(usa Gentoo)
Enviado em 17/08/2007 - 17:16h
Senhores ... conforme o prometido estou de volta com mais dúvidas ... bom alterei o firewall, que segue logo abaixo, aguardo suas sugestões e questionamentos. Quanto as dúvidas, eu tenho mania de gostar de logar tudo, ou seja, quero tudo logado de alguma maneira. Como eu faço para registrar todas as tentativas de conexões, como ssh, portas fechadas que não possui serviço ?,
Vi alguma como:
iptables -A INPUT -p tcp --dport 5050 -j LOG
No entanto essa opção so registra atividades nessa porta. Correto ? Como eu faço pra registrar toda atividade que esta ocorrendo nas portas.
Tenho dúvidas também sobre o Socket, tenho que definir sempre o tipo de socket ? se eu não qual a opção Default? o que pode acontecer caso eu não defina ?
#!/bin/bash
# ----------------------------------------------------------
# Limpando Regras
# ----------------------------------------------------------
/sbin/iptables -F # LIMPA AS CADEIAS DE IMPUT, OUTPUT E FORWARD
/sbin/iptables -F -t nat # LIMPA A TABELA NAT
#!/bin/bash
# ----------------------------------------------------------
# Definindo Politicas
# ----------------------------------------------------------
# Tabela filter
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
# Tabela nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
# Tabela mangle
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
# ----------------------------------------------------------
# Ativa modulos
# ----------------------------------------------------------
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
# ----------------------------------------------------------
# Ativa proteções basicas
# ----------------------------------------------------------
##### Proteção contra IP Spoofing #####
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >$i
done
# O iptables define automaticamente o número máximo de conexões simultâneas
# com base na memória do sistema. Para 32MB = 2048, 64MB = 4096, 128MB = 8192,
# sendo que são usados 350 bytes de memória residente para controlar
# cada conexão.
# Quando este limite é excedido a seguinte mensagem é mostrada:
# "ip_conntrack: maximum limit of XXX entries exceed"
#
# Como temos uma rede simples, vamos abaixar este limite. Por outro lado isto
# criará uma certa limitação de tráfego para evitar a sobrecarga do servidor.
echo "2048" > /proc/sys/net/ipv4/ip_conntrack_max
### FILTRANDO PACOTES ICMP ###
iptables -A INPUT -p icmp -s 0/0 --icmp-type 0 -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -s 0/0 --icmp-type 8 -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -s 0/0 --icmp-type 3 -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -s 0/0 --icmp-type 11 -m limit --limit 1/s -j ACCEPT
### FILTRANDO PACOTES FRAGMENTADOS ###
/sbin/iptables -A INPUT -f -j DROP
### BLOQUEANDO ATAQUE "SMURFF" (PING DE BROADCAST), ping -b "ip"
### NAO FUNCIONA COM DHCP, POR QUE DHCP FAZ UM BROADCAST PARA GANHAR IP
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# ----------------------------------------------------------
# Definindo socks válidos
# ----------------------------------------------------------
#
### NO IPTABLES TEMOS QUE DIZER QUAIS SOCKETS SAO VALIDOS EM UMA CONEXAO
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ----------------------------------------------------------
# Liberar conexões de Fora para Dentro
# ----------------------------------------------------------
# QUALQUER IP QUE VENHA DE LOCALHOST, OK.
iptables -A INPUT -i lo -j ACCEPT
#SAMBA
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
#SSL
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 563 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#SSH
iptables -A INPUT -p tcp --dport 22058 -j ACCEPT
#SMTP
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#POP
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#NET
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#NTLMAPS
iptables -A INPUT -p tcp --dport 5050 -j ACCEPT
# ----------------------------------------------------------
# Liberar conexões de Dentro para Fora
# ----------------------------------------------------------
#CONSIDERANDO QUE MINHA REGRA NA TABELA FILTER É ACCEPT, NÃO É NECESSÁRIO REALIZAR ALTERAÇÕES NESTA CADEIA.
#NET
#iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
#SSH
#iptables -A OUTPUT -p tcp --dport 22058 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 86 -j ACCEPT
#MSN
#iptables -A OUTPUT -p tcp --dport 1863 -j ACCEPT
#SMTP
#iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
#POP
#iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 563 -j ACCEPT
###############################################
echo "Firewall...........[ok]"