Saya menggunakan server ubuntu, Sekarang saya mencoba mengaktifkan firewall menggunakan perintah ini:
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow www
ufw allow https
ufw enable
Saya juga telah mencoba membuat yang ufw default deny incoming
terakhir tetapi masih tidak berhasil, ketika saya mengaktifkan firewall memblokir semuanya ketika saya mengatur default untuk menolak, tetapi ketika saya mengaturnya untuk memungkinkan, ia berfungsi dengan baik, seperti aturan yang diabaikan. apa yang bisa menyebabkan ini?
EDIT
Ini adalah hasil saya, iptables -L -v -n
saya juga mencoba solusi yang diusulkan tetapi masih tidak berhasil, itu berfungsi dengan baik hanya ketika saya membuatnyadefault 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
, lalu tempelkan outputsudo iptables -L -v -n
ke pertanyaan Anda. Saya ingin tahu apa yang mendasarinyanetfilter
/iptables
lakukan dengan aturan ufw. :)iptables
data jika, dengan dua baris pertama dikecualikan, Anda masih mengalami masalah ini.Jawaban:
Buka terminal dan ketik perintah berikut:
Mulailah dengan melakukan reset, yang akan menghapus semua aturan yang ada:
Lanjut,
Ini akan mencantumkan profil aplikasi yang tersedia, seperti, OpenSSH dan lainnya. Untuk mendapatkan info tentang aplikasi, ketikkan perintah berikut seperti dalam contoh ini:
Inilah hasilnya:
Untuk mengizinkan akses OpenSSH, Anda dapat menggunakan aturan berikut:
Tidak seperti Debian, www dan https biasanya tidak dimasukkan sebagai profil aplikasi, kami tahu ini beroperasi pada port 80 dan 443 jadi gunakan perintah berikut:
Jika Anda ingin menambahkan UDP lakukan saja ini juga.
Nonaktifkan dan aktifkan ufw untuk menerapkan perubahan:
Untuk menunjukkan aturan Anda:
Akhirnya, salah satu aspek yang kurang ramah dari ufw adalah bagaimana aturan deny biasanya memungkinkan aturan. Misalnya, Anda tidak dapat mengatur segala sesuatu untuk ditolak dan kemudian mengatur port untuk mengizinkan. Semua port masih akan diblokir. Lihat di sini untuk info lebih lanjut .
Anda dapat menambahkan aturan ini untuk secara global memblokir semua port kecuali 22, 53, 80, dan 443. Saya telah menambahkan port 53 untuk mengizinkan permintaan DNS. Jika Anda tidak perlu membuat permintaan DNS, cukup modifikasi aturannya.
Untuk menetapkan aturan blok ini hanya untuk masuk, Anda akan menggunakan
sudo ufw deny in 1:22/tcp
misalnya. Atau, atur keluarsudo ufw deny out 1:22/tcp
dan sebagainya.sumber
ufw default block incoming
setelah menetapkan aturan itu?sudo ufw status verbose
. Jika saya tidak salah, menetapkan aturan itu secara eksplisit tidak akan mengizinkan port yang diizinkan. Jika Anda ingin memblokir semua port kecuali itu, saya benar-benar menyarankan Anda memeriksa utas ini karena itulah yang mereka lakukan. Ini sangat menyeluruh, memblokir semua kecuali yang ada dan Anda akan memiliki port terbuka yang Anda inginkan. ubuntuforums.org/showthread.php?t=1893751out
jika saya mengatakandeny
tanpa mengatakan bahwa itu untuk keluar secara khusus, itu masih tidak berfungsi. apa yang bisa menjadi penyebabnya?FYI: kalau-kalau ada yang punya masalah ini.
Dalam output iptables yang terperinci, saya perhatikan aturan ufw tidak ada di rantai INPUT, OUTPUT, dan FORWARD. Sistem saya berakhir seperti ini ketika saya menjalankan iptables -F untuk menghapus aturan FW kustom saya setelah mengaktifkan ufw di beberapa titik. Tampaknya ufw tidak menambahkan aturan tingkat atas kembali jika beberapa rantai sendiri sudah ada di iptables.
Saya akhirnya menghapus instalasi ufw, me-reboot, menjalankan 'iptables -F' (untuk menghapus aturan iptables sebelumnya yang masih aktif), kemudian menginstal ulang dan mengkonfigurasi ufw. Aturan ufw tingkat atas sekarang kembali. Penghapusan / instal ulang mungkin tidak diperlukan. Hanya menghapus semua aturan ufw dari iptables dengan menonaktifkan ufw dan me-reboot mungkin telah melakukan trik.
Beginilah seharusnya rantai tingkat atas (pada Debian 9.4).
sumber
iptables -X
untuk menghapus semua rantai non-builtin dan kemudian memulai ulangufw
juga bekerja untuk saya.Saya mendapat masalah yang sama, semacam konfigurasi kacau dengan
ufw
danfail2ban
fu ** ed rantai iptables. Semuanya diblokir begitu saya mulai ufw - bahkan tanpa aturan dalamufw
rantai itu sendiri.ufw
reset tidak membantu. Saya benar-benar menginstalnya kembali, ini berhasil.sumber
Bagi saya masalah ini diselesaikan dengan menetapkan aturan dari
Itulah satu-satunya hal yang berhasil, tidak mengizinkan port 53, mengizinkan dns, dll.
sumber