Experimentando o iptables

Problemas ou dúvidas sobre segurança no Epidemic Linux.
Avatar do usuário
Bequimão
Epidemic Administrador
Mensagens: 466
Registrado em: Dom Out 10, 2010 10:40 am
Localização: Mannheim, Alemanha

Experimentando o iptables

Mensagempor Bequimão » Qua Jan 02, 2013 6:32 am

Olá amigos,

Continuação de Escanear as portas do próprio sistema
Como prometi, pesquisei e testei um pouco o firewall com iptables.

Primeiro tem 3 conjuntos de regras para o tratamento de pacotes ip, em inglês targets (alvos) ou chains (cadeias). Os nomes são INPUT (entrada), OUTPUT (saída) e FORWARD (remessa). Cada target tem uma sequência de regras, e o primeiro acerto termina o processamento do pacote (com algumas exceções).

Primeiro passo: limpar as regras existentes:

Código: Selecionar todos

# iptables -F


Agora vamos cuidar do target INPUT.
Logar os pacotes rejeitados:

Código: Selecionar todos

# iptables -A INPUT -i eth0 -j LOG --log-prefix "DROP - "

-A = adicionar uma regra, -i = nome do interface
A minha maquina tem 4 interfaces: eth0, eth1, wlan0 e wlan1.

Fechar a entrada (todas as portas) sem notificar o remetente:

Código: Selecionar todos

# iptables -A INPUT -i eth0 -j DROP


Agora temos a segurança máxima, nenhum pacote entra! Infelizmente as conexões à internet não funcionam mais. O browser ou o cliente de e-mail não recebe mais as respostas dos servidores! Por isso, vamos inserir uma primeira regra, que aceita as respostas das conexões já estabelecidas:

Código: Selecionar todos

# iptables -I INPUT 1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

-I n = inserir na posição n. ACCEPT = aceitar

Listar as regras por enquanto:

Código: Selecionar todos

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere             LOG level warning prefix "DROP - "
DROP       all  --  anywhere             anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         


Agora já temos um firewall completo. Infelizmente tudo se perde na hora do reboot. Para evitá-lo vamos instalar o pacote iptables-persistent.

Código: Selecionar todos

# apt-get install iptables-persistent

Na primeira vez aparece um dialogo para salvar as regras existentes. Depois se tem que salvar modificações com:

Código: Selecionar todos

# iptables-save > /etc/iptables/rules.v4


Bom sucesso,
Bequimão


Fonte: Heike Jurzik, Debian GNU/Linux. Das umfassende Handbuch, 4ª edição, Galileo press, pg. 702.
Windows é chato, Linux não funciona.
Avatar do usuário
Bequimão
Epidemic Administrador
Mensagens: 466
Registrado em: Dom Out 10, 2010 10:40 am
Localização: Mannheim, Alemanha

Re: Experimentando o iptables

Mensagempor Bequimão » Sex Jan 25, 2013 1:58 pm

Sem comentários, sem respostas?

A história continua. Testei esta dica no siduction com sucesso. Mais tarde, reparei no Epidemic que não houve logs no arquivo /var/log/dmesg. A razão: o Epidemic usa o interface eth1 em vez de eth0. Nada mal. Então pensei em omitir o interface:

Código: Selecionar todos

# iptables -A INPUT -j DROP

A quebra do sistema foi espetacular: Não consegui mais desligar o sistema, e no reboot a inicialização do kdm parou no meio. Os programas locais usam o sistema ip para mensagens do sistema! Então se tem que permitir a entrada oriunda do próprio sistema.

Código: Selecionar todos

iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT

127.0.0.0 é o endereço do próprio sistema e loopback é o nome do interface.

A forma final dos meus testes ficou assim:

Código: Selecionar todos

root@ebox1:~# cat /etc/iptables/rules.v4
# Generated by iptables-save v1.4.14 on Wed Jan 16 20:10:03 2013
*filter
:INPUT DROP [154:24383]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [26243:1432320]
-A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Jan 16 20:10:03 2013
root@ebox1:~#
root@ebox1:~# cat /etc/iptables/rules.v6
# Generated by ip6tables-save v1.4.14 on Wed Jan 16 20:10:03 2013
*filter
:INPUT DROP [41:7766]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [56:8822]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Jan 16 20:10:03 2013

"-m conntrack --ctstate" é uma sustituição do iptables-save para "-m state --state".
Mudei a regra geral (policy) para INPUT e FORWARD para DROP.

Vejam também http://wiki.debian.org/DebianFirewall
Acho que este firewall é bem simples e completo para implementar no Epidemic do futuro!

Abraços
Bequimão
Windows é chato, Linux não funciona.
Avatar do usuário
PauloCreto
Epidemic Administrador
Mensagens: 780
Registrado em: Qua Mai 25, 2011 6:59 am
Localização: São Caetano de Odivelas - Pará
Contato:

Re: Experimentando o iptables

Mensagempor PauloCreto » Sex Jan 25, 2013 11:19 pm

Ola Bequimao, eu acompanho seus topicos amigo mas ainda nao me sinto confiante de usar o iptablle pelo motivo de que como comecei no ubuntu e neste usei sempre o UFW mesmo porque sinto confiaanca nele para um desktop pessoal. E quaundo vi que no Debian ele esta nos repositorios

Código: Selecionar todos

apt-cache policy ufw
e apenas ele e o simples comando

Código: Selecionar todos

# ufw enable
que eu uso.
Creto kde-look1 kde-look2
São Caetano de Odivelas - Soure/Ilha do Marajó - Pará
Não basta conquistar a sabedoria, é preciso usá-la. (Cícero)
Imagem
Avatar do usuário
jamesbenedito
Desenvolvedor
Mensagens: 2683
Registrado em: Ter Mar 13, 2007 7:58 am

Re: Experimentando o iptables

Mensagempor jamesbenedito » Dom Jan 27, 2013 8:56 am

Oi pessoal,

@Bequimão
, muito legal as dicas que você postou. Realmente os programas do KDE utilizam a interface de loopback para a comunicação com o sistema. Por isso é que ocorreu a quebra, quando você rodou o comando:

Código: Selecionar todos

# iptables -A INPUT -j DROP


Mutito legal também as informações que estão no link que você postou: http://wiki.debian.org/DebianFirewall

Com isso já temos quase tudo o que precisamos para a criação do futuro firewall do Epidemic, que virá com direito a interface gráfica e ícone no systray.

Abraços,
James.
Imagem
Avatar do usuário
Bequimão
Epidemic Administrador
Mensagens: 466
Registrado em: Dom Out 10, 2010 10:40 am
Localização: Mannheim, Alemanha

Re: Experimentando o iptables

Mensagempor Bequimão » Dom Fev 03, 2013 9:58 am

Oi James,

obrigado pela estimação da minha dica! Mas não vejo a necessidade de um programa especial do Epidemic com interface gráfico. O ufw que o Paulo recomendou tem também uma interface gráfica. Ainda não testei este programa, mas a única preocupação minha é se alguém instale um firewall particular, que este programa não iria limpar a configuração existente.

@ Paulo: Comecei direto com o iptables porque queria entender o funcionamento básico. Neste ponto sou bastante teimoso, me custe tanto tempo e tantas quebras como quiser. Igualmente criei o LVM no meu sistema no terminal como superusuário na primeira tentativa. Agora uso exclusivamente o KPVM, um programa muito confortável e profissional. Digo isto porque acho que o suporte do LVM no eInstaller é bem mais importante de que um firewall gráfico.

Sobretudo tenho que ressaltar que e não tenho um firewall no lado do hardware e embora todos os derivados do Debian incluindo o Epidemic vieram sem firewall preinstalado, tenho muita certeza de que os meus sistemas nunca foram invadidas. Vi nos logs escaneamentos da China e de outros lugares, embora a grande maioria eram do próprio provedor. Agora deixei de escrever arquivos de log.

Abraços
Bequimão

editado em 6 de fevereiro
Beq.
Windows é chato, Linux não funciona.
Avatar do usuário
atf
Desenvolvedor
Mensagens: 160
Registrado em: Sáb Out 06, 2012 9:24 am
Localização: Rio de Janeiro
Contato:

Re: Experimentando o iptables

Mensagempor atf » Seg Fev 04, 2013 10:50 am

Um detalhe importante que, geralmente passa despercebido, é o modo de conexão à rede.
Se você está atrás de um NAT, a maioria dos casos de conexão doméstica, não tem que se preocupar com "firewall". Isso é função para o seu roteador ou, no mais das vezes, do roteador de seu fornecedor de acesso. Por padrão eles impedem a entrada de qualquer ligação "não estabelecida".
Mas atenção: se você usa um "modem" do tipo DSL (para velox, speedy, etc...) configurado em modo "bridge", mantenha seu "iptables" bem configurado, de preferência como o Bequimão mostrou pois, com certeza, você vai ser "metralhado" com tentativas de "root-login" por força bruta. E não se esqueça de uma senha forte.
atf
LinuxUser#142898
Avatar do usuário
Bequimão
Epidemic Administrador
Mensagens: 466
Registrado em: Dom Out 10, 2010 10:40 am
Localização: Mannheim, Alemanha

Re: Experimentando o iptables

Mensagempor Bequimão » Qua Mar 13, 2013 2:56 pm

Olá,

desculpem a demora, mais pesquisei mais um pouco. O meu sistema tem um modem a cabo sem firewall. Nunca ouvi dizer que aqui na Alemanha tem um firewall por parte dos provedores. Então usei algumas instalações do Debian incluindo o Epidemic sem firewall nenhum durante algum tempo. Mesmo assim, tenho confiança de que nunca foram invadidas por causa de falta de um ouvidor (listener). Algumas distros, como o Debian e o Ubuntu vem por padrão sem firewall pre-configurado, outras como o Mageia, openSuSE ou Fedora instalam um firewall.

A grande maioria dos escaneamentos das portas vem de dentro da rede de meu provedor. Neste caso não se trata de tentativas de invasão, porém de um interesse legitimo do provedor de fiscalizar o trafego na rede.

Abraços
Bequimão
Windows é chato, Linux não funciona.

Voltar para “Firewall e Segurança”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante