BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

1. BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

Thiago
thiago_th

(usa Red Hat)

Enviado em 01/08/2012 - 09:16h

Bom dia,

Aqui na empresa utilizo um servidor com Opensuse 11.4 como proxy e servidor DHCP. Configurei no DHCPD.CONF IPs fixos para todos os computadores da rede e configurei um range de 192.168.0.5 até 192.168.0.10 para dispositivos que se conectarem pela rede wireless e não possuírem IP fixo configurado. Tenho notado nos relatórios do SARG alguns IPs estranhos, como 186.55.68.12, 46.55.87.10, etc. Tem como bloquear, colocando algum comando dentro do arquivo DHCPD.CONF, as conexões de qualquer IP fora do range especificado pelo DHCP e de qualquer outro que não esteja especificado com IP fixo?

Obrigado!!!


  


2. MELHOR RESPOSTA

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/08/2012 - 15:11h

Fiz umas alterações que estão entre 3 linhas seguidas de ###########################

Veja se entende a logica das mudanças qualquer duvida posta ai:

=====================================
. /etc/rc.status
rc_reset


case "$1" in
start)
echo -n "Starting Firewall Rules: "

iptables -F
iptables -F -t nat
iptables -X
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

echo 1 > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

###############################
###############################
###############################

## Definindo politica padrão (Nega entrada e permite saida)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

## estava mais abaixo coloquei aqui para poder usar a variavel

LAN="192.168.0.0/24"

## Estabelece relação de confiança entre maquinas da rede local $iface_int(rede local)

## Abaixo deve alterar para sua ethX que recebe o IP da rede interna 192.168.0.x eu acredito que seja a eth1
iface_int=eth1

iptables -A INPUT -i $iface_int -s $LAN -j ACCEPT
iptables -A INPUT -i $iface_int -m state –state NEW -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

## liberando o INPUT externo para o firewall ##

# Porta abertas externamente ## eth0= sua placa com IP externo

iptables -A INPUT -i eth0 -p tcp -m multiport –dport 6559,8062,8061,8060,8080,5511,8866,6550,5550,4550,8081,2222,2223,1004,22 -j ACCEPT

###############################
###############################
###############################

########REGRAS DE QOS PARA VOIP

##LIMPAR REGRAS
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root

#eth1

tc qdisc add dev eth1 root handle 1: htb default 20

tc class add dev eth1 parent 1: classid 1:1 htb rate 1900kbps

###RESERVA PARA O VOIP
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 300kbps ceil 300kbps prio 0

###RESTANTE DOS PACOTES
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 1600kbps ceil 1600kbps prio 7


tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 1
tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 1

##ATAS DO VOIP
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.122 flowid 1:10

match ip src 192.168.0.167 flowid 1:20
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.124 flowid 1:10


iptables -t mangle -A PREROUTING -i eth1 -s 192.168.0.122 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -i eth1 -s 192.168.0.124 -j TOS --set-tos 16

#eth0

tc qdisc add dev eth0 root handle 1: htb default 20

tc class add dev eth0 parent 1: classid 1:1 htb rate 1900kbps

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 300kbps ceil 300kbps prio 0
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 1600kbps ceil 1600kbps prio 7

tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 1
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 1

##ATAS VOIP
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.122 flowid 1:10
#tc filter add dev eth0 protocol ip parent 1:0 prio 7 u32 match ip src 192.168.0.167 flowid 1:20
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.124 flowid 1:10

iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.122 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.124 -j TOS --set-tos 16

###########################FIM DO QOS


echo -n "trojans, "
iptables -A FORWARD -d 208.185.211.71 -j DROP
iptables -A FORWARD -d 200.216.69.230 -j DROP

###############################
###############################
###############################

### BLOQUEAR CONEXOES EXTERNAS A PORTA 3128 - 02/08/2012
iptables -A INPUT -i eth1 -p tcp -s 192.168.0.0/255.255.255.0 --dport 3128 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j DROP

###############################
###############################
###############################

echo -n "transproxy, "

iptables -A PREROUTING -t nat -s $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

NEW,ESTABLISHED,RELATED -j MASQUERADE
##################

### FTP

iptables -A FORWARD -p tcp -s $LAN --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -s $LAN --dport 20 -j ACCEPT

###########REDIRECIONAMENTOS

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 2222 -j DNAT --to-destination 192.168.0.254:22
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 2223 -j DNAT --to-destination 192.168.0.253:22


#####REGRAS DO SERVIDOR 1######
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8081 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 8081 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4550 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 4550 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5550 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 5550 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6550 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 6550 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8866 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 8866 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5511 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 5511 -d 192.168.0.1 -j ACCEPT


##########REGRAS DO SERVIDOR 2########
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8080 -d 192.168.0.2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8060 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8060 -d 192.168.0.2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8061 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8061 -d 192.168.0.2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8062 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8062 -d 192.168.0.2 -j ACCEPT

##########REGRAS DA VPN PARA O SERVIDOR 3############
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 6559 -j DNAT --to-dest 192.168.0.3
iptables -A FORWARD -p udp -i eth0 --dport 6559 -d 192.168.0.3 -j ACCEPT

##########GERADOR DE LOGS############
iptables -A INPUT -p tcp --dport 1004 -j LOG
iptables -A FORWARD -p tcp --dport 1004 -j LOG
iptables -A OUTPUT -p tcp --dport 1004 -j LOG
iptables -A INPUT -p tcp --dport 22 -j LOG
iptables -A FORWARD -p tcp --dport 22 -j LOG
iptables -A OUTPUT -p tcp --dport 22 -j LOG

###############################
###############################
###############################

# Fecha todas as porta que não foram abertas por nenhum regra acima

iptables -A INPUT -i eth0 -j REJECT

###############################
###############################
###############################

echo ok

rc_status -v
;;
stop)
echo -n "Shutting down Firewall Rules"

iptables -F
iptables -t nat -F
iptables -X

rc_status -v
;;
restart)
$0 stop && $0 start

rc_status
;;
reload)

;;
status)
echo "Checking for Firewall Rules: "
echo "============================ "
iptables -nL
echo
echo "----------------- NAT Table: "
iptables -nL -t nat
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
rc_exit


3. Externo

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 01/08/2012 - 13:28h

O problema é que seu proxy esta sendo usado externamente apenas feche a porta 3128 (Squid para o acesso externo)


iptables -A INPUT -p tcp -s 192.168.0.0/255.255.255.0 --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j DROP


Isso impede que usuário externo usem seu proxy mas permite sua rede interna , mas seria bom configurar um firewall para fechar todas as portas externamente.


4. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

Thiago
thiago_th

(usa Red Hat)

Enviado em 02/08/2012 - 09:53h

Opa, obrigado aí pela ajuda!

Eu utilizo um firewall aqui sim, com IPTABLES, esqueci de mencionar na abertura do tópico.
Se eu bloquear todas as portas externamente, eu terei problemas para acessar sites, serviços ssh, etc?


Como procedo para fechar todas as portas externamente, apenas?

Obrigado aí pela ajuda!!!


5. INPUT

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/08/2012 - 13:15h

thiago_th escreveu:

Opa, obrigado aí pela ajuda!

Eu utilizo um firewall aqui sim, com IPTABLES, esqueci de mencionar na abertura do tópico.
Se eu bloquear todas as portas externamente, eu terei problemas para acessar sites, serviços ssh, etc?


Como procedo para fechar todas as portas externamente, apenas?

Obrigado aí pela ajuda!!!


Não bloqueando o INPUT o que não vai funcionar é apenas o acesso externo a sua rede como SSH via IP externo banco de dados se acessar de fora pr dentro de sua rede, mas claro que pode escolher o que deixar aberto e fechar o restante.

Posta seu firewall para ver o que pode ser feito pra melhorar.

Se quiser dar uma olhada tem um script básico que bloqueia apenas o INPUT:
http://www.andrecanhadas.com.br/?p=351


6. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

Thiago
thiago_th

(usa Red Hat)

Enviado em 02/08/2012 - 14:32h

Boa tarde,
Segue abaixo o meu script:

=====================================
. /etc/rc.status
rc_reset


case "$1" in
start)
echo -n "Starting Firewall Rules: "

iptables -F
iptables -F -t nat
iptables -X
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

echo 1 > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

########REGRAS DE QOS PARA VOIP

##LIMPAR REGRAS
tc qdisc del dev eth0 root
tc qdisc del dev eth1 root

#eth1

tc qdisc add dev eth1 root handle 1: htb default 20

tc class add dev eth1 parent 1: classid 1:1 htb rate 1900kbps

###RESERVA PARA O VOIP
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 300kbps ceil 300kbps prio 0

###RESTANTE DOS PACOTES
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 1600kbps ceil 1600kbps prio 7



tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 1
tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 1

##ATAS DO VOIP
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.122 flowid 1:10

match ip src 192.168.0.167 flowid 1:20
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.124 flowid 1:10


iptables -t mangle -A PREROUTING -i eth1 -s 192.168.0.122 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -i eth1 -s 192.168.0.124 -j TOS --set-tos 16

#eth0

tc qdisc add dev eth0 root handle 1: htb default 20

tc class add dev eth0 parent 1: classid 1:1 htb rate 1900kbps

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 300kbps ceil 300kbps prio 0
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 1600kbps ceil 1600kbps prio 7

tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 1
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 1

##ATAS VOIP
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.122 flowid 1:10
#tc filter add dev eth0 protocol ip parent 1:0 prio 7 u32 match ip src 192.168.0.167 flowid 1:20
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.124 flowid 1:10

iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.122 -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -i eth0 -s 192.168.0.124 -j TOS --set-tos 16

###########################FIM DO QOS

LAN="192.168.0.0/24"

echo -n "trojans, "
iptables -A FORWARD -d 208.185.211.71 -j DROP
iptables -A FORWARD -d 200.216.69.230 -j DROP



###BLOQUEAR CONEXOES EXTERNAS A PORTA 3128 - 02/08/2012
iptables -A INPUT -p tcp -s 192.168.0.0/255.255.255.0 --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -j DROP

echo -n "transproxy, "

iptables -A PREROUTING -t nat -s $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

NEW,ESTABLISHED,RELATED -j MASQUERADE
##################

### FTP

iptables -A FORWARD -p tcp -s $LAN --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -s $LAN --dport 20 -j ACCEPT

###########REDIRECIONAMENTOS

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 2222 -j DNAT --to-destination 192.168.0.254:22
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 2223 -j DNAT --to-destination 192.168.0.253:22


#####REGRAS DO SERVIDOR 1######
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8081 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 8081 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4550 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 4550 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5550 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 5550 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6550 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 6550 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8866 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 8866 -d 192.168.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5511 -j DNAT --to-dest 192.168.0.1
iptables -A FORWARD -p tcp -i eth0 --dport 5511 -d 192.168.0.1 -j ACCEPT

##########REGRAS DO SERVIDOR 2########
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8080 -d 192.168.0.2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8060 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8060 -d 192.168.0.2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8061 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8061 -d 192.168.0.2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8062 -j DNAT --to-dest 192.168.0.2
iptables -A FORWARD -p tcp -i eth0 --dport 8062 -d 192.168.0.2 -j ACCEPT

##########REGRAS DA VPN PARA O SERVIDOR 3############
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 6559 -j DNAT --to-dest 192.168.0.3
iptables -A FORWARD -p udp -i eth0 --dport 6559 -d 192.168.0.3 -j ACCEPT

##########GERADOR DE LOGS############
iptables -A INPUT -p tcp --dport 1004 -j LOG
iptables -A FORWARD -p tcp --dport 1004 -j LOG
iptables -A OUTPUT -p tcp --dport 1004 -j LOG
iptables -A INPUT -p tcp --dport 22 -j LOG
iptables -A FORWARD -p tcp --dport 22 -j LOG
iptables -A OUTPUT -p tcp --dport 22 -j LOG


echo ok

rc_status -v
;;
stop)
echo -n "Shutting down Firewall Rules"

iptables -F
iptables -t nat -F
iptables -X

rc_status -v
;;
restart)
$0 stop && $0 start

rc_status
;;
reload)

;;
status)
echo "Checking for Firewall Rules: "
echo "============================ "
iptables -nL
echo
echo "----------------- NAT Table: "
iptables -nL -t nat
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
rc_exit


7. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/08/2012 - 15:17h

Tem um portscan online para ver se tem alguma porta aberta que não deveria:
http://www.t1shopper.com/tools/port-scan


8. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

Thiago
thiago_th

(usa Red Hat)

Enviado em 02/08/2012 - 16:09h

Pow, consegui entender sim!

Vlw aí pela ajuda! Irei colocar este script para funcionar amanhã de manhã, e posto o resultado!

Na parte de QOS, você acha que eu deveria mudar algo?

Obrigado!


9. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/08/2012 - 16:42h

Bom o QOS vai depender de sua estrutura e necessidades. A ultima vez que precisei usei o webhtb que facilita a criação de regras, vou ficar te devendo essa.


10. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

Thiago
thiago_th

(usa Red Hat)

Enviado em 03/08/2012 - 17:06h

Boa tarde!

Rodei o script com as regras que você me passou e o servidor trava, fica super lento e ninguém acessa nada. Aí tenho que reiniciá-lo com o script antigo para que tudo volte a funcionar. Muito estranho. O meu proxy é uma máquina com CORE 2 DUO E7500, 3GB de memporia DDR3. Será que tem alguma regra em conflito?

Vlw aí pela ajuda!


11. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 03/08/2012 - 18:05h

thiago_th escreveu:

Boa tarde!

Rodei o script com as regras que você me passou e o servidor trava, fica super lento e ninguém acessa nada. Aí tenho que reiniciá-lo com o script antigo para que tudo volte a funcionar. Muito estranho. O meu proxy é uma máquina com CORE 2 DUO E7500, 3GB de memporia DDR3. Será que tem alguma regra em conflito?

Vlw aí pela ajuda!


Estranho não sei o que pode ser nas regras não tem nada que altere o trafego na sua rede interna para fora somente de fora para dentro.


12. Re: BLOQUEAR CONEXÕES DE IPS [RESOLVIDO]

Thiago
thiago_th

(usa Red Hat)

Enviado em 03/08/2012 - 18:11h

O estranho é que o servidor fica impossível de utilizar. Parece que estoura o limite de memória, sei lá. Tenho que desligar ele diretamente e ligar. Muito estranho. Quando volto com o outro script, nada ocorre.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts