UFW: apa sebenarnya itu?

13

Apa itu UFW? Anda akan berpikir ini adalah pertanyaan yang mudah, tetapi semakin banyak sumber yang saya baca, semakin tidak jelas.

Akronim tersebut menjelaskan FireWall yang tidak rumit, seolah ufw benar-benar mengimplementasikan firewall itu sendiri. Dan memang di banyak tempat itu disebut sebagai firewall per se, seperti dalam artikel ini .

Halaman wiki bantuan Ubuntu di UFW mengatakan bahwa UFW adalah alat konfigurasi untuk iptables. (Pada gilirannya, halaman bantuan wiki pada firewall mengatakan bahwa iptables adalah basis data aturan firewall, dan itu juga firewall yang sebenarnya, seolah-olah database adalah firewall, yang jelas-jelas salah. Dan tentu saja 'iptables' juga nama program.)

Jika ufw adalah alat konfigurasi, maka kami mungkin mengharapkannya menjadi program yang Anda jalankan untuk mengonfigurasi sesuatu, dan setelah selesai, Anda keluar dengan konfigurasi yang telah dibuat. Itulah posisi dari jawaban yang diterima pertanyaan ini: Apakah FireWall yang tidak rumit (ufw) adalah layanan?

Tetapi jawaban lain untuk pertanyaan itu tidak setuju - tidak, ini layanan. Dan memang pada mesin 18.04 saya, saya melihat ufw berjalan sebagai layanan! Kenapa sih alat konfigurasi berjalan sebagai layanan ?!

Lebih jauh lagi, systemctl list-units --all --type=serviceshow ufw.serviceadalah loaded and active(dan juga exited?!) Belum ufw statusshow inactive.

Jadi, apa artinya ufw status = tidak aktif?

  1. "Firewall" itu (apa pun itu) tidak aktif? Itulah yang disarankan oleh dokumen halaman manual ufw untuk 'status'.

  2. Atau apakah itu berarti bahwa aturan yang dikonfigurasikan di ufw tidak aktif (tetapi yang lain yang dikonfigurasi dalam iptables aktif)?

  3. Atau apakah itu berarti ufw mulai saat bootup, menanamkan aturannya ke ipconfig (atau ke mana pun mereka pergi) sehingga mereka sekarang berlaku, dan sekarang ufw tidak ada hubungannya sehingga tidak aktif?

Yang menarik: Saya ingin mengikuti beberapa instruksi yang mengharuskan mengeluarkan beberapa perintah iptables, tetapi saya khawatir mereka akan bertentangan dengan, atau ditimpa oleh, aparat ufw.

gwideman
sumber
2
iptables adalah firewall. Ia juga memegang aturan, karena itu jelas perlu, tetapi menyebutnya 'database' sedikit demi sedikit karena kernel tidak memberikan persistensi; memuatnya saat boot harus diurus oleh beberapa alat seperti ufw.
Jan Hudec
@ JanHudec Saya melihat beberapa orang berbicara tentang iptables seolah-olah itu firewall, tetapi sejauh yang saya tahu, netfilter menyediakan fungsionalitas firewall, sementara iptables memberikan tanggal untuk netfilter. Saya suka poin Anda bahwa iptables hanya menyimpan data dalam memori, dan dengan demikian "database" juga menyesatkan.
gwideman
Saya pribadi akan menganggap netfilter sebagai bagian dari iptables, tetapi saya mungkin salah dalam poin ini.
Jan Hudec
Zanna mengedit pertanyaan saya untuk merapikan hal-hal seperti URL (terima kasih!), Tetapi telah mengganti "UFW" untuk semua contoh "ufw". Saya sekarang percaya bahwa huruf kecil adalah huruf yang tepat (seperti yang ditunjukkan pada manpages.ubuntu.com/manpages/xenial/en/man8/ufw.8.html dan wiki.ubuntu.com/UncomplicatedFirewall , tapi saya tidak tertarik dengan suntingan peranglah dengan ini Zanna tolong kembali ke huruf kecil jika Anda membeli bukti saya
gwideman

Jawaban:

21

ufw adalah ujung depan untuk netfilter / iptables, mekanisme Linux untuk perutean dan penyaringan lalu lintas internet.

ufw sepenuhnya opsional dan dimungkinkan untuk membuat firewall dan tabel routing secara langsung menggunakan perintah iptables. Beberapa orang lebih menyukai sintaks ufw, yang seharusnya membuatnya sedikit lebih mudah.

ufw itu sendiri bukan firewall, ini alat untuk mengatur konfigurasi netfilter / iptables. Ini terdaftar sebagai layanan karena harus dijalankan setiap kali mesin Anda dinyalakan. Saya tidak percaya itu tetap penduduk dalam memori setelah melakukan konfigurasi ini. "memulai kembali" layanan hanya menjalankan kembali skripnya. Bukan hal yang aneh jika distribusi Linux terdaftar sebagai layanan walaupun itu hanyalah skrip yang berjalan saat boot atau shutdown tanpa tetap berada di antaranya.

Jika Anda menggunakan ufw, Anda tidak dapat menetapkan aturan iptables Anda sendiri menggunakan skrip Anda sendiri, karena mereka akan ditimpa ketika ufw menetapkan sendiri. Ini juga berarti ufw dapat bertentangan dengan alat lain yang menetapkan aturan firewall.

Jika sudo ufw statusmengembalikan "tidak aktif", itu berarti ufw telah dinonaktifkan (dan tidak akan, misalnya, menerapkan kembali aturan apa pun saat startup). Anda perlu memastikan ufw diaktifkan sudo ufw enable, meskipun Anda juga harus mengonfigurasi aturan agar ini memiliki makna. Jika Anda yakin telah mengaktifkan ufw tetapi mengembalikan "tidak aktif" mungkin ada beberapa masalah lain.

Perhatikan bahwa "memulai" layanan tidak mengaktifkan ufw, itu hanya mengaktifkan skrip start-up. Jika ufw dinonaktifkan ketika skrip start-up berjalan, ia tidak akan melakukan apa pun.

Anda dapat mengetahui apakah aturan firewall Anda telah diterapkan pada waktu tertentu menggunakan iptables secara langsung:

sudo iptables -L
sudo ip6tables -L
thomasrutter
sumber
1
Catatan: Saya pribadi tidak menggunakan ufw, saya menggunakan paket yang disebut netfilter-persistent yang memungkinkan Anda untuk menulis aturan iptables asli menjadi file dan membuatnya diterapkan kembali saat boot. Saat boot, ia pada dasarnya melakukan apa yang ufw lakukan: menjalankan skrip start yang menerapkan konfigurasi. Perbedaannya adalah itu tidak menerjemahkan dari sintaks disederhanakan sendiri, itu hanya mengirim perintah iptables langsung ke iptables.
thomasrutter
Banyak barang bagus di sana. Terima kasih. Tentang ini: "Jika Anda menggunakan ufw, Anda tidak dapat menetapkan aturan iptables Anda sendiri menggunakan skrip Anda sendiri, karena mereka akan ditimpa ketika ufw menetapkan sendiri." Apakah ufw secara aktif menghapus semua aturan iptables yang ada? Atau apakah Anda hanya mengatakan dengan ufw dalam gambar, Anda tidak dapat mengandalkan perintah / aturan iptables yang berlaku karena mungkin ditimpa oleh ufw?
gwideman
Juga untuk thomas: "netfilter-persistent"> apakah itu berhubungan dengan iptables-persistent?
gwideman
Ya itu dulu namanya. Jika versi Ubuntu Anda memiliki keduanya, maka paket iptables-persistent mungkin hanya akan menjadi paket transisi untuk memberi orang-orang dari versi lama jalur peningkatan.
thomasrutter
1
Maaf jika saya bingung Anda menyebutkan resolv.conf, saya hanya menggunakan sebagai contoh konfigurasi lain di Ubuntu yang mungkin dikontrol oleh beberapa layanan lain yang menimpa setiap perubahan yang Anda buat secara langsung. Itu tidak terhubung.
thomasrutter