Qualcuno potrebbe dare alcuni semplici passaggi con un esempio di configurazione come impostare un semplice firewall su Ubuntu (usando solo la console)? Dovrebbe essere consentito solo l'accesso a ssh, http e https.
Qualcuno potrebbe dare alcuni semplici passaggi con un esempio di configurazione come impostare un semplice firewall su Ubuntu (usando solo la console)? Dovrebbe essere consentito solo l'accesso a ssh, http e https.
Risposte:
sudo ufw default nega
sudo ufw consentire http
sudo ufw consentire https
sudo ufw consentire ssh
sudo ufw enable
Usa questo script.
Decidi se vuoi consentire l'ICMP (ping) in arrivo o meno.
# 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
Come notato nei commenti a un'altra risposta, non si desidera perdere la connessione prima di consentire la porta SSH. Dalla pagina man:
"GESTIONE REMOTA
Quando si esegue ufw enable o si avvia ufw tramite il suo initscript, ufw scaricherà le sue catene. Ciò è necessario affinché uww possa mantenere uno stato coerente, ma potrebbe eliminare le connessioni esistenti (ad esempio ssh). ufw supporta l'aggiunta di regole prima di abilitare il firewall, quindi gli amministratori possono fare:
ufw allow proto tcp from any to any port 22
prima di eseguire 'ufw enable'. Le regole verranno comunque cancellate, ma la porta ssh sarà aperta dopo aver abilitato il firewall. Si noti che una volta che ufw è 'abilitato', ufw non svuota le catene quando si aggiungono o rimuovono le regole (ma quando si modifica una regola o si cambia la politica di default). "
Quindi ecco un approccio che utilizza uno script per impostarlo. Verrai disconnesso quando esegui questo script, ma dopo averlo eseguito puoi accedere di nuovo su ssh.
Inserisci quanto segue in uno script e chiamalo start-firewall.sh
#!/bin/sh
ufw allow ssh
ufw enable
ufw default deny
ufw allow http
ufw allow https
E poi renderlo eseguibile ed eseguirlo facendo
$ chmod + x start-firewall.sh
$ sudo ./start-firewall.sh
Per saperne di più, leggi la pagina man .
Quicktables mi ha aiutato a imparare le regole di iptables. Basta eseguire lo script e genererà uno script iptables per te ... quindi puoi aprirlo e visualizzare i comandi associati generati dalle domande che ti ha posto. È un'ottima risorsa per l'apprendimento.
Sfortunatamente, non viene più mantenuto.
Mi piace molto usare firehol ( pacchetto ).
Per creare le regole di installazione che ti piacciono dovresti modificare il file / etc / default / firehol e cambiare START_FIREHOL = YES
E vorresti rendere il tuo /etc/firehol/firehol.conf simile a questo.
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 delle grandi cose di firehol è il comando 'prova'. Puoi regolare il tuo file di configurazione ed eseguire un "tentativo di Firehol", se sei connesso tramite ssh, e qualcosa su ciò che hai modificato ha interrotto l'accesso alla tua rete, quindi Firehol annulla le modifiche. Per rendere effettive le modifiche, è necessario dire commit.
Preferirei Shorewall . È facile da configurare ma flessibile allo stesso tempo.
Forse dovresti dare un'occhiata a http://iptables-tutorial.frozentux.net/iptables-tutorial.html . Inoltre puoi trovare maggiori informazioni su lartc.org
sudo apt-get install firestarter
Quindi, cerca nel menu Sistema-> Amministrazione.