Miklix

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.


Halaman ini telah diterjemahkan mesin daripada bahasa Inggeris untuk menjadikannya boleh diakses oleh seramai mungkin orang. Malangnya, terjemahan mesin belum lagi merupakan teknologi yang sempurna, jadi ralat boleh berlaku. Jika anda mahu, anda boleh melihat versi bahasa Inggeris asal di sini:

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:

sudo apt-get install ufw

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 22/tcp
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:

sudo ufw allow from 192.168.0.1 to any port 22

Sudah tentu, masukkan alamat IP anda sendiri sebagai ganti.

Apabila selesai, aktifkan ufw dengan memasukkan:

sudo ufw enable

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 disable
sudo ufw enable

Untuk melihat konfigurasi semasa, masukkan sahaja:

sudo ufw status

Jika ufw tidak diaktifkan, ini hanya akan menunjukkan mesej “tidak aktif”, jika tidak, ia akan menyenaraikan peraturan yang ditakrifkan pada masa ini.

Kongsi di BlueskyKongsi di FacebookKongsi di LinkedInKongsi di TumblrKongsi di XKongsi di LinkedInSematkan pada Pinterest

Mikkel Christensen

Mengenai Pengarang

Mikkel Christensen
Mikkel ialah pencipta dan pemilik miklix.com. Beliau mempunyai lebih 20 tahun pengalaman sebagai pengaturcara komputer/pembangun perisian profesional dan kini bekerja sepenuh masa untuk sebuah syarikat IT Eropah yang besar. Apabila tidak menulis blog, dia menghabiskan masa lapangnya dengan pelbagai minat, hobi dan aktiviti, yang mungkin sedikit sebanyak dapat dilihat dalam pelbagai topik yang diliputi di laman web ini.