Używam serwera Ubuntu, teraz próbuję włączyć zaporę za pomocą następujących poleceń:
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow www
ufw allow https
ufw enable
Próbowałem też zrobić ufw default deny incoming
ostatnią, ale nadal nie mam szczęścia, kiedy włączam zaporę, blokuje ona wszystko, gdy ustawię domyślną opcję odmowy, ale kiedy ustawię na zezwalanie, działa dobrze, tak jak reguły są ignorowane. co może być tego przyczyną?
EDYTOWAĆ
To jest mój wynik. iptables -L -v -n
Próbowałem również zaproponowanego rozwiązania, ale wciąż nie mam szczęścia, działa dobrze tylko wtedy, gdy go wykonujędefault allow incoming
Chain INPUT (policy DROP 30 packets, 1764 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2 packets, 104 bytes)
pkts bytes target prot opt in out source destination
Chain ufw-after-forward (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-after-input (0 references)
pkts bytes target prot opt in out source destination
0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:137
0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:138
0 0 ufw-skip-to-policy-input tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:139
0 0 ufw-skip-to-policy-input tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445
0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ufw-skip-to-policy-input udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:68
0 0 ufw-skip-to-policy-input all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type BROADCAST
Chain ufw-after-logging-forward (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
Chain ufw-after-logging-input (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
Chain ufw-after-logging-output (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-after-output (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-forward (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 4
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ufw-user-forward all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-before-input (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ufw-logging-deny all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 3
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 4
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 11
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 12
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
0 0 ufw-not-local all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
0 0 ACCEPT udp -- * * 0.0.0.0/0 239.255.255.250 udp dpt:1900
0 0 ufw-user-input all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-before-logging-forward (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-logging-input (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-logging-output (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-before-output (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ufw-user-output all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-logging-allow (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW ALLOW] "
Chain ufw-logging-deny (2 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID limit: avg 3/min burst 10
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "
Chain ufw-not-local (1 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type MULTICAST
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type BROADCAST
0 0 ufw-logging-deny all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 10
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-reject-forward (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-reject-input (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-reject-output (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-skip-to-policy-forward (0 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-skip-to-policy-input (7 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-skip-to-policy-output (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-track-forward (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-track-input (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-track-output (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
Chain ufw-user-forward (1 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-input (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:443
Chain ufw-user-limit (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/min burst 5 LOG flags 0 level 4 prefix "[UFW LIMIT BLOCK] "
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain ufw-user-limit-accept (0 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ufw-user-logging-forward (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-logging-input (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-logging-output (0 references)
pkts bytes target prot opt in out source destination
Chain ufw-user-output (1 references)
pkts bytes target prot opt in out source destination
ufw enable
, a następnie wklej wyniksudo iptables -L -v -n
swojego pytania. Jestem ciekawy, co tak naprawdę bazujenetfilter
/iptables
robi z regułami ufw. :)iptables
dane, jeśli z wyłączeniem tych dwóch pierwszych wierszy nadal występuje ten problem.Odpowiedzi:
Otwórz terminal i wpisz następujące polecenia:
Zacznij od wykonania resetu, który usunie wszystkie istniejące reguły:
Kolejny,
Spowoduje to wyświetlenie listy dostępnych profili aplikacji, takich jak OpenSSH i inne. Aby uzyskać informacje o aplikacji, wpisz następujące polecenie, tak jak w tym przykładzie:
Oto wynik:
Aby zezwolić na dostęp OpenSSH, możesz użyć następującej reguły:
W przeciwieństwie do Debiana, www i https zwykle nie są uwzględniane jako profile aplikacji, jednak wiemy, że działają one na portach 80 i 443, więc użyj następujących poleceń:
Jeśli chcesz dodać UDP, po prostu to zrób.
Wyłącz i włącz ufw, aby zastosować zmiany:
Aby pokazać swoje zasady:
Wreszcie, jednym z mniej przyjaznych aspektów ufw jest sposób, w jaki reguły odmowy zwykle przebijają reguły zezwalające. Na przykład nie można ustawić wszystkiego na odmowę, a następnie ustawić portów na zezwalanie. Wszystkie porty będą nadal blokowane. Zobacz tutaj, aby uzyskać więcej informacji .
Możesz dodać te reguły, aby globalnie blokować wszystkie porty oprócz 22, 53, 80 i 443. Dodałem port 53, aby zezwolić na żądania DNS. Jeśli nie musisz wykonywać zapytań DNS, po prostu odpowiednio zmodyfikuj reguły.
Aby ustawić te reguły blokowania tylko dla połączeń przychodzących, należy użyć
sudo ufw deny in 1:22/tcp
na przykład. Alternatywnie, wybierz dla wychodzącychsudo ufw deny out 1:22/tcp
i tak dalej.źródło
ufw default block incoming
po ustawieniu tych reguł?sudo ufw status verbose
. Jeśli się nie mylę, jawne ustawienie tej reguły nie zezwoli na dozwolone porty. Jeśli chcesz zablokować wszystkie porty oprócz tych, naprawdę polecam sprawdzenie tego wątku, ponieważ dokładnie tak robią. Jest bardzo dokładny, blokuje wszystkie oprócz tych i będziesz mieć otwarte porty, które chcesz. ubuntuforums.org/showthread.php?t=1893751out
jeśli powiemdeny
bez mówienia, że jest konkretnie na zewnątrz, nadal nie działa. co może być tego przyczyną?Do Twojej wiadomości: na wypadek, gdyby inni mieli ten problem.
W szczegółowym wyjściu iptables zauważyłem, że w łańcuchach INPUT, OUTPUT i FORWARD brakuje reguł ufw. Mój system skończył się tak, kiedy uruchomiłem iptables -F, aby usunąć moje niestandardowe reguły FW po włączeniu ufw w pewnym momencie. Wygląda na to, że ufw nie dodaje ponownie reguł najwyższego poziomu, jeśli niektóre własne łańcuchy już istnieją w iptables.
Skończyłem odinstalowywanie ufw, restartowanie, uruchomiłem „iptables -F” (aby usunąć poprzednie reguły iptables, które były nadal aktywne), a następnie ponownie instalowałem i konfigurowałem ufw. Reguły ufw najwyższego poziomu powróciły. Odinstalowanie / ponowne zainstalowanie może nie być konieczne. Usunięcie wszystkich reguł ufw z iptables poprzez wyłączenie ufw i ponowne uruchomienie mogło załatwić sprawę.
Oto jak powinny wyglądać łańcuchy najwyższego poziomu (w Debianie 9.4).
źródło
iptables -X
w celu usunięcia wszystkich niewbudowanych łańcuchów, a następnie ponowne uruchomienieufw
również działało dla mnie.Mam ten sam problem, coś w rodzaju przykręconej konfiguracji z
ufw
ifail2ban
** na początku łańcucha iptables. Wszystko zostało zablokowane, gdy tylko zacząłem ufw - nawet bez reguł w samymufw
łańcuchu.ufw
reset nie pomógł. Całkowicie ponownie go zainstalowałem, to zadziałało.źródło
Dla mnie ten problem został rozwiązany przez ustawienie reguły od
To jedyna rzecz, która działała, nie zezwalając na port 53, zezwalając na dns itp.
źródło