it-swarm-pt.tech

Como configurar um firewall simples no Ubuntu?

Alguém poderia dar alguns passos simples com exemplo de configuração de como configurar um firewall simples no Ubuntu (usando apenas o console)? Apenas o acesso ssh, http e https deve ser permitido.

18
klew

Sudo ufw padrão negar

Sudo ufw permitir http

Sudo ufw permitir https

Sudo ufw permitir ssh

Sudo ufw enable

20
Nerdfest

Use este script.

Apenas decida se deseja permitir a entrada de ICMP (ping) ou não.

# Clear any existing firewall stuff before we start
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush

# As the default policies, drop all incoming traffic but allow all
# outgoing traffic.  This will allow us to make outgoing connections
# from any port, but will only allow incoming connections on the ports
# specified below.
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT

# Allow all incoming traffic if it is coming from the local loopback device
iptables -A INPUT -i lo -j ACCEPT

# Accept all incoming traffic associated with an established
# connection, or a "related" connection
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow incoming connections
# SSH
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -j ACCEPT
# HTTP
iptables -A INPUT -p tcp -i eth0 --dport 80 -m state --state NEW -j ACCEPT
# HTTPS
iptables -A INPUT -p tcp -i eth0 --dport 443 -m state --state NEW -j ACCEPT

# Allow icmp input so that people can ping us
iptables -A INPUT -p icmp -j ACCEPT

# Reject all other incoming packets
iptables -A INPUT -j REJECT
14
Mikeage

Conforme observado em comentários a outra resposta, você não quer perder sua conexão antes de permitir a porta ssh. Na página de manual:

"GESTÃO REMOTA

Ao executar o ufw enable ou iniciar o ufw por meio de seu initscript, o ufw irá liberar suas correntes. Isso é necessário para que o ufw possa manter um estado consistente, mas pode eliminar as conexões existentes (por exemplo, ssh). ufw suporta a adição de regras antes de habilitar o firewall, então os administradores podem fazer:

ufw allow proto tcp from any to any port 22

antes de executar 'ufw enable'. As regras ainda serão liberadas, mas a porta ssh será aberta após a ativação do firewall. Por favor, note que uma vez que ufw é 'habilitado', ufw não irá liberar as cadeias ao adicionar ou remover regras (mas irá ao modificar uma regra ou alterar a política padrão). "

Portanto, aqui está uma abordagem que usa um script para defini-lo. Você será desconectado quando executar este script, mas depois de executá-lo, você poderá fazer o login novamente por meio de ssh.

Coloque o seguinte em um script e chame-o de start-firewall.sh

#!/bin/sh
ufw allow ssh
ufw enable
ufw default deny
ufw allow http
ufw allow https

E então torná-lo executável e executá-lo fazendo

$ chmod + x start-firewall.sh
$ Sudo ./start-firewall.sh

Para saber mais, leia o página man .

8
Hamish Downer

Se você se familiarizar com scripts iptables, terá controle total sobre todos os recursos do firewall. Ele está longe de ser tão amigável quanto o Firestarter, mas pode ser feito no console com os editores nano/vi. Confira este tutorial voltado para o Ubuntu.

2
spoulson

Quicktables me ajudou a aprender as regras do iptables. Basta executar o script e ele irá gerar um script iptables para você ... então você pode abri-lo e ver os comandos associados gerados pelas perguntas que ele fez a você. É um ótimo recurso de aprendizagem.

Infelizmente, ele não é mais mantido.

http://qtables.radom.org/

1
JP Richardson

Eu realmente gosto de usar firehol ( pacote ).

Para criar regras de configuração que você deseja, você precisa editar o arquivo/etc/default/firehol e alterar START_FIREHOL = YES

E você gostaria de fazer seu /etc/firehol/firehol.conf parecer assim.

version 5

interface any IfAll
    client any AnyClient accept
    server "ssh http https" accept
    # Accept everything from trusted networks
    server anystateless AllInside accept src "10.3.27.0/24"

Uma das grandes coisas sobre firehol é o comando 'try'. Você pode ajustar seu arquivo de configuração e fazer uma 'tentativa de firehol', se você estava conectado via ssh, e algo sobre o que você alterou matou seu acesso à rede, então o firehol reverterá as alterações. Para que as mudanças realmente entrem em vigor, você deve dizer commit.

1
Zoredache

Eu preferiria Shorewall . É fácil de configurar, mas flexível ao mesmo tempo.

1
Artyom Sokolov

Talvez você deva dar uma olhada em http://iptables-tutorial.frozentux.net/iptables-tutorial.html . Além disso, você pode encontrar mais informações em lartc.org

0
hyperboreean