Me ajudem com teste de firewall?

1. Me ajudem com teste de firewall?

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 27/07/2016 - 18:13h

Galera, seguinte.

Primeiramente, eu sou muito novato nesse assunto e gostaria de ajuda e esclarecimentos.
Estou acessando a internet pelo notebook, através do Wireless aqui de casa (não sei se isso implica na firewall) e o firewall que tenho é o seguinte:


#!/bin/bash
#Firewall para uso doméstico

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_owner
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_conntrack_ftp

# Firewall Start
firewall_start() {
# Limpa
iptables -X
iptables -Z
iptables -F
iptables -t nat -F

# Politica default
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# access loopback
iptables -A INPUT -i lo -j ACCEPT

# Conexão estabelecida
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Security
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1\s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

echo "Firewall Start."
}

# Firewall Stop
firewall_stop() {
# Limpa as regras
iptables -X
iptables -Z
iptables -F
iptables -t nat -F

# Politica default
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# acesso loopback
iptables -A INPUT -i lo -j ACCEPT

# Conexão estabelecida
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

echo "Firewall Stop (sem segurança)."
}

# Firewall Restart
firewall_restart() {
firewall_stop
sleep 3
firewall_start
}

# opções
case "$1" in
'start')
firewall_start
;;
'stop')
firewall_stop
;;
'restart')
firewall_restart
;;
*)
echo "rc.firewall start"
echo "rc.firewall stop"
echo "rc.firewall restart"
esac


Rodei esse firewall e fui no site https://www.grc.com/ e fiz os testes conforme esse tópico que encontrei aqui mesmo no VOL > https://www.vivaolinux.com.br/artigo/Teste-a-vulnerabilidade-de-seu-PC/?pagina=3

O teste deu FAILED, ai mudei alguns coisas no script do firewall, e mesmo assim o teste da FAILED e também não altera em nenhum resultado de portas no teste mudando o firewall. Fiz o teste (Common Ports)


--- Atualizado----

Esse é o resultado final do teste:

GRC Port Authority Report created on UTC: 2016-07-27 at 21:18:37

Results from scan of ports: 0, 21-23, 25, 79, 80, 110, 113,
119, 135, 139, 143, 389, 443, 445,
1002, 1024-1030, 1720, 5000

1 Ports Open
20 Ports Closed
5 Ports Stealth
---------------------
26 Ports Tested

The port found to be OPEN was: 443

Ports found to be STEALTH were: 22, 23, 80, 139, 445

Other than what is listed above, all ports are CLOSED.

TruStealth: FAILED - NOT all tested ports were STEALTH,
- NO unsolicited packets were received,
- A PING REPLY (ICMP Echo) WAS RECEIVED.





Alguem pode me ajudar? Esse firewall que estou usando pra uso domestico não bloqueia por que? Por causo que estou com conexão através de wireless?



Grato desde já. :)




  


2. Re: Me ajudem com teste de firewall?

Rodrigo P Freitas
Rpfreitas

(usa Linux Mint)

Enviado em 27/07/2016 - 22:10h

# Politica default
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# access loopback
iptables -A INPUT -i lo -j ACCEPT

# Conexão estabelecida
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Security
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1\s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

Olá Gabriel vamos pensar nós detalhes, se e a sua maquina local este firewall não vai resolver muito com relação a saída as pois esta tudo accept? a entrada esta drop as regras de foward não são necessárias pois você não faz roteamento entre placas então todas as regras de forward são inúteis. Se você não tem nenhum serviço disponível rodando em seu desktop não tem necessidade de estabilizar as conexões .



3. Re: Me ajudem com teste de firewall?

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 28/07/2016 - 01:11h

Rpfreitas escreveu:

# Politica default
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# access loopback
iptables -A INPUT -i lo -j ACCEPT

# Conexão estabelecida
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Security
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp -m limit --limit 1\s -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

Olá Gabriel vamos pensar nós detalhes, se e a sua maquina local este firewall não vai resolver muito com relação a saída as pois esta tudo accept? a entrada esta drop as regras de foward não são necessárias pois você não faz roteamento entre placas então todas as regras de forward são inúteis. Se você não tem nenhum serviço disponível rodando em seu desktop não tem necessidade de estabilizar as conexões .



Hum, peguei da net.

Então o resto é inutil? quer dizer que se eu usar apenas essas 3 linhas ...


iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT


...vão ser suficiente para ter uma segurança de firewall?

Então não entendo, porque se eu não usar a regra:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

a conexão não funciona.


4. Re: Me ajudem com teste de firewall?

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/07/2016 - 03:45h

Você poderia testar com o Nmap na sua própria máquina, que lhe dá as portas abertas.

E você também pode desabilitar o IPv6 se você não for usar.
Provavelmente não usará por enquanto.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Me ajudem com teste de firewall?

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 28/07/2016 - 18:43h

listeiro_037 escreveu:

Você poderia testar com o Nmap na sua própria máquina, que lhe dá as portas abertas.

E você também pode desabilitar o IPv6 se você não for usar.
Provavelmente não usará por enquanto.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden




Desculpe, como vejo portas aberta com nmap (já esta instalado). E acho que meu IPv6 está desabilitado já (não tenho certeza). Digitei o comando: ip a | grep inet6 e não retornou.

Como vejo isso?




6. porta abertas

Rodrigo P Freitas
Rpfreitas

(usa Linux Mint)

Enviado em 28/07/2016 - 19:29h

verificar portas abertas
netstat -tunlp
, este comando vai mostrar todas as portas aberta no seu computador um opção bacana e deixar o lo como accept em em input, muitas aplicações principalmente alguma distro baseada em ubuntu necessita da lo esta esta toda aberta, como avahi daemon, dnsmasq e outros.
Eu utilizo a muito tempo o mint e atuamente estou usando o mint 18 com seu próprio firewal onde apenas tenho liberado a interface lo e todo o resto e drop em input e forward e deixo o output como accept. Aplica esta regras na saída para ter volta garantida pelo o modulo nf_conntrack iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Depois testa com o nmap para ver a portas abertas

nmap -A -T4 -O seu ip
nmap -sS -sA seu ip
nmap -sU -sT seu ip


7. Re: Me ajudem com teste de firewall?

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/07/2016 - 19:37h

Avahi-daemon é uma outra coisinha que pode ser desabilitada e que de quebra esta ação fechará portas.

Geralmente uso o ifconfig para saber se o IPv6 está ativo.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



8. Re: Me ajudem com teste de firewall?

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 28/07/2016 - 21:45h

Rpfreitas escreveu:

verificar portas abertas
netstat -tunlp
, este comando vai mostrar todas as portas aberta no seu computador um opção bacana e deixar o lo como accept em em input, muitas aplicações principalmente alguma distro baseada em ubuntu necessita da lo esta esta toda aberta, como avahi daemon, dnsmasq e outros.
Eu utilizo a muito tempo o mint e atuamente estou usando o mint 18 com seu próprio firewal onde apenas tenho liberado a interface lo e todo o resto e drop em input e forward e deixo o output como accept. Aplica esta regras na saída para ter volta garantida pelo o modulo nf_conntrack iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Depois testa com o nmap para ver a portas abertas

nmap -A -T4 -O seu ip
nmap -sS -sA seu ip
nmap -sU -sT seu ip


Oi, o resultado dos meus comandos foi esse:

netstat:


Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:35729 0.0.0.0:* LISTEN 4940/plugin_host
udp 0 0 0.0.0.0:5353 0.0.0.0:* 8829/chromium
udp 0 0 0.0.0.0:68


nmap -A -T4 -O 192.168.0.100:


Starting Nmap 7.12 ( https://nmap.org ) at 2016-07-28 21:42 BRT
Nmap scan report for 192.168.0.100
Host is up (0.000084s latency).
All 1000 scanned ports on 192.168.0.100 are closed
Too many fingerprints match this host to give specific OS details
Network Distance: 0 hops

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.63 seconds


nmap -sU -sT 192.168.0.100:


Starting Nmap 7.12 ( https://nmap.org ) at 2016-07-28 21:42 BRT
Nmap scan report for 192.168.0.100
Host is up (0.00014s latency).
Not shown: 1998 closed ports
PORT STATE SERVICE
68/udp open|filtered dhcpc
5353/udp open|filtered zeroconf




O que significa?
Obrigado por ajudar :)


9. Re: Me ajudem com teste de firewall?

Rodrigo P Freitas
Rpfreitas

(usa Linux Mint)

Enviado em 01/08/2016 - 21:45h

O comando Netstat mostra que você tem aplicações com as seguintes portas aberta 68, 5353,35729. A porta 68 e o seu cliente dhcp, as outras duas portas tem que verificar estas aplicações chromium acho que o navegador a outra eu não sei.

O nmap -A -T4 -O e para fazer um fingerprint na sua interface e tentar descobrir algumas informações do seu S.O quando não está com firewall ativado costuma pegar mais informações no seu caso não encontrou nenhuma.

O nmap -sU -sT mostra que você tem duas portas abertas as mesma que o neststat encontrou, o cliente dhcp e necessário mas esta porta 5353 tem que verificar sua necessidade não conheço.


10. Re: Me ajudem com teste de firewall?

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 01/08/2016 - 23:00h

Rpfreitas escreveu:

O comando Netstat mostra que você tem aplicações com as seguintes portas aberta 68, 5353,35729. A porta 68 e o seu cliente dhcp, as outras duas portas tem que verificar estas aplicações chromium acho que o navegador a outra eu não sei.

O nmap -A -T4 -O e para fazer um fingerprint na sua interface e tentar descobrir algumas informações do seu S.O quando não está com firewall ativado costuma pegar mais informações no seu caso não encontrou nenhuma.

O nmap -sU -sT mostra que você tem duas portas abertas as mesma que o neststat encontrou, o cliente dhcp e necessário mas esta porta 5353 tem que verificar sua necessidade não conheço.


Então, não uso pra nada a porta 5353 e tambem nem sei que serviço é esse "zeroconf". Já dei um DRP nela, mas permanece open no nmap.


11. Re: Me ajudem com teste de firewall?

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/08/2016 - 00:15h

Bem interessante este seu Firewall, mas percebi algumas coisas estranhas, como por exemplo:
No seu post você diz que acessa a internet via Wireless pelo seu AP aí, e ao meu ver o chain "FORWARD" não é necessário. Porque ele é utilizado no redirecionamento/encaminhamento de trafego das placas de rede.
Se você usasse sua máquina como router para rotear internet para uma rede de máquinas Windows (por exemplo), aí sim seria necessário regras do tipo forward.
Mas, pra mim o "ideal" é:

1# iptables -P INPUT DROP
2# iptables -P FORWARD DROP
3# iptables -P OUTPUT ACCEPT
4# iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
5# iptables -I INPUT -s 192.168.1.2/255.255.255.0 -i wlp1s0 -j DROP
6# iptables -I INPUT -s 192.168.1.1 -d 192.168.1.5 -i wlp1s0 -p tcp -m tcp --dport 9494 -j ACCEPT

Onde em "5" dropa incoming TCP/UDP da rede exceto o gateway que é um AP (repare que quando não é especifado nenhum protocolo ambos são selecionados).
E em "6" aceita conexão incoming do router na minha porta 9494/TCP (que eu costumo usar para conexões from outside).

No seu caso (da porta 5353) poderia ser feito o seguinte:
# iptables -I INPUT -i <iface> -p udp -m udp --dport 5353 -j DROP 


Uma curiosidade:
a porta 5353 segundo a uma rápida olhada no Google é uma porta de serviços de MulticastDNS não oficiais.

Sempre que não for especificado protocolos, endereços, interfaces, filtros, portas sempre será usado a opção padrão que é ambos e, ou todos. Com exceção do chains e ações é claro, sempre será necessário especificar um chain e ação para cada tabela (filter e nat) que for usar em regra.

Espero ter ajudado em algo :)
--
Just bring us some beers, and then we can talk about our systems. :)



12. Re: Me ajudem com teste de firewall?

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 14/08/2016 - 15:20h

Legal galera, tô aprendendo, consegui deixar fechado as portas, porem pintou uma duvida.

Sempre que deixo o serviço do apache (httpd) e o ssh(sshd) iniciado, a porta 80 e a 22 ficam open.

Isso é comum? Não tem perigo elas ficarem aberta para conexões vinda de INPUT?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts