Cara Mengatur Firewall pada Server Ubuntu
Diterbitkan: 15 Februari 2025 pukul 21.33.48 UTC
Artikel ini menjelaskan dan memberikan beberapa contoh tentang cara menyiapkan firewall pada GNU/Linux menggunakan ufw, yang merupakan kependekan dari Uncomplicated FireWall - dan namanya memang sesuai, ini benar-benar cara yang sangat mudah untuk memastikan Anda tidak membuka lebih banyak port daripada yang seharusnya.
How to Set Up a Firewall on Ubuntu Server
Informasi dalam posting ini didasarkan pada Ubuntu Server 14.04 x64. Ini mungkin atau mungkin tidak valid untuk versi lain. (Pembaruan: Saya dapat mengonfirmasi bahwa informasi dalam tulisan ini pada dasarnya masih valid dan berfungsi pada Ubuntu Server 24.04, namun dalam kurun waktu 10 tahun terakhir, ufw telah menjadi agak "lebih pintar" dengan memiliki profil untuk aplikasi server yang umum (sebagai contoh, Anda bisa mengaktifkan "Nginx full" alih-alih port 80 dan 443 secara terpisah) dan menonaktifkan/mengaktifkan seluruh firewall untuk mendapatkan aturan baru yang diterapkan tidak lagi diperlukan)
Ketika saya pertama kali memulai dengan server GNU/Linux (Ubuntu), menyiapkan firewall melibatkan pembuatan dan pemeliharaan secara manual file konfigurasi yang berpotensi rumit untuk iptables. Namun, baru-baru ini saya menemukan ufw, yang merupakan kependekan dari Uncomplicated Firewall - dan memang benar :-)
Instalasi Ubuntu Server 14.04 saya sudah menginstal ufw, tetapi jika Anda belum, cukup instal dari repositori:
UFW sebenarnya hanyalah alat yang menyederhanakan konfigurasi iptables - di belakang layar, masih iptables dan firewall kernel Linux yang melakukan pemfilteran, jadi ufw tidak kurang atau lebih aman dari keduanya. Namun, karena ufw membuatnya jauh lebih mudah untuk mengkonfigurasi firewall dengan benar, ufw dapat mengurangi risiko kesalahan manusia dan oleh karena itu mungkin lebih aman untuk admin yang tidak berpengalaman.
Jika server Anda dikonfigurasi dengan IPv6 dan juga IPv4, pastikan bahwa ini diaktifkan untuk UFW juga. Edit berkas /etc/default/ufw dan cari baris yang mengatakan IPV6=yes. Pada instalasi saya, baris itu sudah ada di sana, tetapi jika belum atau jika tertulis tidak, Anda harus mengeditnya
Kemudian cukup gunakan prompt perintah untuk mengaktifkan port yang ingin Anda buka. Jika Anda terhubung ke server Anda melalui ssh, pastikan untuk mengizinkannya juga atau dapat mengganggu koneksi Anda dan mungkin mengunci Anda keluar dari server Anda ketika Anda mengaktifkannya - tergantung pada apakah Anda memiliki akses fisik ke server atau tidak, ini mungkin agak merepotkan; -)
Sebagai contoh, jika Anda menggunakan ssh pada port 22 standar dan Anda mengonfigurasi server web yang mendukung koneksi tidak terenkripsi (HTTP pada port 80) dan terenkripsi (HTTPS pada port 443), Anda akan mengeluarkan perintah berikut ini untuk mengonfigurasi ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Jika Anda membutuhkan lebih banyak aturan, cukup tambahkan seperti di atas.
Jika Anda memiliki alamat IP statis dan hanya perlu untuk dapat terhubung melalui ssh dari satu lokasi, Anda juga dapat membatasi koneksi ssh ke satu alamat asal seperti ini:
Tentu saja, masukkan alamat IP Anda sendiri.
Setelah selesai, aktifkan ufw dengan memasukkan:
Dan Anda selesai! Firewall sudah berjalan dan akan secara otomatis memulai saat Anda me-reboot server Anda :-)
Jika Anda membuat perubahan pada konfigurasi ufw, Anda mungkin perlu menonaktifkan dan mengaktifkannya lagi untuk menerapkannya, seperti ini:
sudo ufw enable
Untuk melihat konfigurasi saat ini, cukup masukkan:
Jika ufw tidak diaktifkan, ini hanya akan menampilkan pesan "tidak aktif", jika tidak, ini akan mencantumkan aturan yang saat ini didefinisikan.