Cara Sediakan Firewall pada Pelayan Ubuntu
Diterbitkan: 19 Mac 2025 pada 9:29:17 PTG UTC
Kemas kini terakhir: 19 Mac 2025 pada 10:07:51 PTG UTC
Artikel ini menerangkan dan memberikan beberapa contoh tentang cara menyediakan tembok api pada GNU/Linux menggunakan ufw, iaitu singkatan kepada Uncomplicated FireWall - dan nama itu sesuai, ia benar-benar cara yang sangat mudah untuk memastikan anda tidak mempunyai lebih banyak port terbuka daripada yang anda perlukan.
How to Set Up a Firewall on Ubuntu Server
Maklumat dalam pos ini adalah berdasarkan Ubuntu Server 14.04 x64. Ia mungkin sah atau tidak sah untuk versi lain. (Kemas kini: Saya boleh mengesahkan bahawa maklumat dalam pos ini pada asasnya masih sah dan berfungsi pada Ubuntu Server 24.04, namun dalam 10 tahun pertengahan, ufw telah menjadi sedikit lebih "bijak" dengan mempunyai profil untuk aplikasi server biasa (contohnya, anda boleh mengaktifkan "Nginx penuh" berbanding port 80 dan 443 secara berasingan) dan menonaktifkan/mengaktifkan keseluruhan firewall untuk mendapatkan peraturan baru yang diterapkan tidak lagi diperlukan)
Apabila saya mula-mula memulakan dengan server GNU/Linux (Ubuntu), penyediaan firewall melibatkan pembuatan dan penyelenggaraan fail konfigurasi yang berpotensi kompleks untuk iptables. Walau bagaimanapun, saya baru-baru ini menemui ufw, yang merupakan singkatan dari Uncomplicated Firewall – dan ia memang mudah :-)
Pemasangan saya bagi Ubuntu Server 14.04 sudah memasang ufw, tetapi jika server anda belum, pasangkannya dari repositori:
UFW sebenarnya hanya alat yang memudahkan konfigurasi iptables – di belakang tabir, ia masih iptables dan firewall kernel Linux yang melakukan penapisan, jadi ufw tidak kurang atau lebih selamat daripada ini. Walau bagaimanapun, kerana ufw memudahkan konfigurasi firewall dengan betul, ia mungkin mengurangkan risiko kesilapan manusia dan oleh itu mungkin lebih selamat untuk pentadbir yang kurang berpengalaman.
Jika server anda dikonfigurasikan dengan IPv6 serta IPv4, pastikan ia diaktifkan untuk UFW juga. Edit fail /etc/default/ufw dan cari baris yang mengatakan IPV6=yes. Pada pemasangan saya, ia sudah ada, tetapi jika tiada atau jika ia mengatakan tidak, anda perlu mengeditnya
Kemudian, gunakan prompt arahan untuk mengaktifkan port yang anda ingin buka. Jika anda disambungkan ke server melalui ssh, pastikan untuk membenarkannya juga atau ia mungkin mengganggu sambungan anda dan mungkin mengunci anda daripada server apabila anda mengaktifkannya – bergantung kepada sama ada anda mempunyai akses fizikal ke server atau tidak, ini mungkin agak tidak selesa ;-)
Sebagai contoh, jika anda menggunakan ssh pada port standard 22 dan anda mengkonfigurasi server web yang menyokong kedua-dua sambungan tidak disulitkan (HTTP pada port 80) dan disulitkan (HTTPS pada port 443), anda akan mengeluarkan arahan berikut untuk mengkonfigurasi ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Jika anda memerlukan lebih banyak peraturan, tambahkan sahaja seperti di atas.
Jika anda mempunyai alamat IP statik dan hanya perlu dapat menyambung melalui ssh dari satu lokasi, anda juga boleh mengehadkan sambungan ssh kepada satu alamat asal seperti ini:
Sudah tentu, masukkan alamat IP anda sendiri sebagai ganti.
Apabila selesai, aktifkan ufw dengan memasukkan:
Dan selesai! Firewall sedang berjalan dan akan secara automatik bermula apabila anda reboot server anda :-)
Jika anda membuat perubahan pada konfigurasi ufw, anda mungkin perlu menonaktifkan dan mengaktifkannya semula untuk memasukkannya ke dalam kesan, seperti ini:
sudo ufw enable
Untuk melihat konfigurasi semasa, masukkan sahaja:
Jika ufw tidak diaktifkan, ini hanya akan menunjukkan mesej “tidak aktif”, jika tidak, ia akan menyenaraikan peraturan yang ditakrifkan pada masa ini.