¿Alguien podría dar algunos pasos simples con un ejemplo de configuración de cómo configurar un firewall simple en Ubuntu (usando solo la consola)? Solo se debe permitir el acceso ssh, http y https.
¿Alguien podría dar algunos pasos simples con un ejemplo de configuración de cómo configurar un firewall simple en Ubuntu (usando solo la consola)? Solo se debe permitir el acceso ssh, http y https.
Respuestas:
sudo ufw predeterminado negar
sudo ufw permitir http
sudo ufw permite https
sudo ufw permitir ssh
sudo ufw enable
Usa este script.
Simplemente decida si desea permitir ICMP entrante (ping) o no.
# 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
Como se señaló en los comentarios a otra respuesta, no desea perder su conexión antes de permitir el puerto ssh. Desde la página del manual:
"GESTIÓN REMOTA
Al ejecutar ufw enable o iniciar ufw a través de su initscript, ufw vaciará sus cadenas. Esto es necesario para que ufw pueda mantener un estado consistente, pero puede desconectar las conexiones existentes (por ejemplo, ssh). ufw admite agregar reglas antes de habilitar el firewall, por lo que los administradores pueden hacer:
ufw allow proto tcp from any to any port 22
antes de ejecutar 'ufw enable'. Las reglas aún se eliminarán, pero el puerto ssh se abrirá después de habilitar el firewall. Tenga en cuenta que una vez que ufw esté 'habilitado', ufw no vaciará las cadenas al agregar o quitar reglas (pero lo hará al modificar una regla o cambiar la política predeterminada) ".
Así que aquí hay un enfoque que utiliza un script para configurarlo. Se cerrará la sesión cuando ejecute este script, pero una vez ejecutado, puede iniciar sesión nuevamente a través de ssh.
Ponga lo siguiente en un script y llámelo start-firewall.sh
#!/bin/sh
ufw allow ssh
ufw enable
ufw default deny
ufw allow http
ufw allow https
Y luego hazlo ejecutable y ejecútalo haciendo
$ chmod + x start-firewall.sh
$ sudo ./start-firewall.sh
Para obtener más información, lea la página del manual .
Quicktables me ayudó a aprender las reglas de iptables. Simplemente ejecute el script y generará un script de iptables para usted ... luego puede abrirlo y ver los comandos asociados generados por las preguntas que le hizo. Es un gran recurso de aprendizaje.
Lamentablemente, ya no se mantiene.
Realmente me gusta usar firehol ( paquete ).
Para crear las reglas de configuración que desee, deberá editar el archivo / etc / default / firehol y cambiar START_FIREHOL = YES
Y usted querría hacer que su /etc/firehol/firehol.conf se vea así.
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"
Una de las mejores cosas de firehol es el comando 'probar'. Puede ajustar su archivo de configuración y hacer un 'intento de firehol', si se conectó a través de ssh, y algo sobre lo que cambió mató su acceso a la red, entonces firehol revertirá los cambios. Para que los cambios entren en vigencia, debe decir commit.
Preferiría Shorewall . Es fácil de configurar pero flexible al mismo tiempo.
Tal vez debería echar un vistazo a http://iptables-tutorial.frozentux.net/iptables-tutorial.html . También puede encontrar más información en lartc.org
sudo apt-get install firestarter
Luego, busque en el menú Sistema-> Administración.