Czy ktoś mógłby podać kilka prostych kroków z przykładem konfiguracji, jak skonfigurować prostą zaporę ogniową na Ubuntu (używając tylko konsoli)? Należy zezwolić tylko na dostęp ssh, http i https.
Czy ktoś mógłby podać kilka prostych kroków z przykładem konfiguracji, jak skonfigurować prostą zaporę ogniową na Ubuntu (używając tylko konsoli)? Należy zezwolić tylko na dostęp ssh, http i https.
Odpowiedzi:
sudo ufw default deny
sudo ufw zezwala na http
sudo ufw zezwala na https
sudo ufw pozwalają ssh
sudo ufw enable
Użyj tego skryptu.
Po prostu zdecyduj, czy chcesz zezwolić na przychodzące ICMP (ping), czy nie.
# 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
Jak zauważono w komentarzach do innej odpowiedzi, nie chcesz utracić połączenia przed zezwoleniem na port ssh. Ze strony podręcznika:
"ZDALNE ZARZĄDZANIE
Podczas uruchamiania ufw enable lub uruchamiania ufw przez skrypt startowy ufw opróżnia łańcuchy. Jest to wymagane, aby ufw mógł utrzymać spójny stan, ale może porzucić istniejące połączenia (np. Ssh). ufw obsługuje dodawanie reguł przed włączeniem zapory, więc administratorzy mogą:
ufw allow proto tcp from any to any port 22
przed uruchomieniem „ufw enable”. Reguły nadal będą opróżniane, ale port ssh będzie otwarty po włączeniu zapory. Należy pamiętać, że po włączeniu ufw, ufw nie opróżni łańcuchów podczas dodawania lub usuwania reguł (ale zrobi to podczas modyfikacji reguły lub zmiany domyślnej polityki). ”
Oto podejście, które wykorzystuje skrypt do jego ustawienia. Zostaniesz wylogowany po uruchomieniu tego skryptu, ale po uruchomieniu go możesz zalogować się ponownie za pomocą ssh.
Umieść następujący skrypt w skrypcie i nazwij go start-firewall.sh
#!/bin/sh
ufw allow ssh
ufw enable
ufw default deny
ufw allow http
ufw allow https
A następnie uczyń go wykonywalnym i uruchom go, wykonując
$ chmod + x start-firewall.sh
$ sudo ./start-firewall.sh
Aby dowiedzieć się więcej, przeczytaj stronę podręcznika .
Quicktables pomogło mi nauczyć się zasad iptables. Po prostu uruchom skrypt, a wygeneruje dla ciebie skrypt iptables ... następnie możesz go otworzyć i wyświetlić powiązane polecenia wygenerowane na podstawie zadanych przez ciebie pytań. To świetne źródło wiedzy.
Niestety nie jest już utrzymywany.
Naprawdę lubię używać firehol ( pakiet ).
Aby utworzyć reguły konfiguracji, które chcesz, musisz edytować plik / etc / default / firehol i zmienić START_FIREHOL = TAK
I chciałbyś, aby twój /etc/firehol/firehol.conf wyglądał tak.
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"
Jedną ze wspaniałych cech ognistego ognia jest polecenie „spróbuj”. Możesz dostosować swój plik konfiguracyjny i wykonać „próbę ognistej”, jeśli łączysz się przez ssh, a coś o tym, co zmieniłeś, zabiło dostęp do sieci, to ogniste ogniwo cofnie zmiany. Aby zmiany rzeczywiście weszły w życie, musisz powiedzieć zatwierdzić.
Wolałbym Shorewall . Jest łatwy w konfiguracji, ale jednocześnie elastyczny.
Może powinieneś spojrzeć na http://iptables-tutorial.frozentux.net/iptables-tutorial.html . Możesz także znaleźć więcej informacji na lartc.org
sudo apt-get install firestarter
Następnie spójrz w menu System-> Administracja.