Konfigurasi firewall yang salah sering kali menjadi penyebab layanan tidak dapat diakses dan kegagalan koneksi jarak jauh. Panduan ini menyediakan prosedur standar yang aman untuk mengelola sistem firewall operasi (OS) pada instans Linux. Anda akan mempelajari cara memeriksa status firewall, mengaktifkannya secara aman, membuka port layanan tertentu, serta menonaktifkannya sementara saat melakukan troubleshooting.
Cara kerja
Lalu lintas ke instans Elastic Compute Service (ECS) melewati dua lapisan penyaringan: pertama grup keamanan, kemudian sistem firewall tingkat OS. Agar lalu lintas dapat mencapai aplikasi, baik grup keamanan maupun sistem firewall harus mengizinkannya.
Grup keamanan (lapisan jaringan cloud)
Fungsi: Grup keamanan berfungsi sebagai firewall virtual untuk instans Anda, mengontrol traffic inbound dan outbound. Komponen ini beroperasi di luar sistem operasi dan berfungsi sebagai lapisan pertahanan pertama.
Logika: Jika aturan grup keamanan menolak lalu lintas pada port tertentu (seperti port 22 untuk SSH), permintaan akan ditolak sebelum mencapai OS instans.
Sistem firewall (lapisan instans)
Fungsi: Sistem firewall adalah perangkat lunak yang berjalan di dalam sistem operasi Linux, seperti
firewalldatauufw. Secara default, firewall ini dinonaktifkan. Komponen ini menyediakan lapisan kontrol kedua yang lebih rinci atas lalu lintas yang telah melewati grup keamanan.Logika: Lalu lintas harus melewati grup keamanan sebelum sistem firewall. Keduanya merupakan checkpoint wajib, dan lalu lintas hanya akan mencapai aplikasi jika diizinkan oleh kedua lapisan ini
Petunjuk
Periksa status firewall
Sebelum melakukan perubahan apa pun, periksa status firewall saat ini.
Alibaba Cloud Linux, CentOS, atau Red Hat
Jalankan perintah berikut untuk memeriksa status layanan firewalld.
sudo firewall-cmd --statenot running: Firewall dinonaktifkan.running: Firewall diaktifkan.Jika muncul kesalahan
command not found,firewalldtidak terinstal. Jalankansudo yum install firewalld -yatausudo dnf install firewalld -yuntuk menginstalnya.
Ubuntu atau Debian
Jalankan perintah berikut untuk memeriksa status layanan ufw.
sudo ufw statusStatus: active: Firewall diaktifkan.Status: inactive: Firewall dinonaktifkan.Pada sistem Debian, jika muncul kesalahan
command not found,ufwtidak terinstal. Jalankansudo apt update && sudo apt install ufw -yuntuk menginstalnya untuk manajemen firewall yang lebih aman dan ramah pengguna.
Aktifkan firewall
Jangan pernah mengaktifkan firewall sebelum menambahkan aturan untuk mengizinkan akses jarak jauh. Hal ini dapat memutus koneksi Anda dan mengunci Anda dari instans. Selalu ikuti prinsip "izinkan dulu, baru aktifkan".
Alibaba Cloud Linux, CentOS, atau Red Hat
Izinkan layanan SSH secara permanen. Ini mencegah sesi jarak jauh Anda terputus.
sudo firewall-cmd --permanent --add-service=sshMuat ulang firewall untuk menerapkan perubahan.
sudo firewall-cmd --reloadMulai layanan firewall.
sudo systemctl start firewalld(Opsional): Atur agar firewall otomatis aktif saat boot. Ini memastikan perlindungan tetap aktif setelah reboot.
sudo systemctl enable firewalld
Ubuntu atau Debian
Tambahkan aturan untuk mengizinkan semua koneksi SSH.
sudo ufw allow sshAktifkan firewall. Saat diaktifkan,
ufwakan secara otomatis memuat aturanallowyang ada dan secara default terkonfigurasi untuk mulai saat boot.sudo ufw enableSaat menjalankan perintah ini, sistem akan menampilkan peringatan bahwa operasi tersebut dapat mengganggu koneksi yang sedang berjalan. Masukkan
yuntuk mengonfirmasi. Karena Anda sudah mengizinkan SSH, koneksi Anda akan tetap aktif.
Buka port atau layanan tertentu
Alibaba Cloud Linux, CentOS, atau Red Hat
Buka port atau layanan tertentu:
Dengan nama layanan (direkomendasikan):
# Izinkan layanan HTTP dan HTTPS secara permanen sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=httpsDengan nomor port:
# Izinkan port 8080/TCP secara permanen sudo firewall-cmd --permanent --add-port=8080/tcp
Terapkan aturan baru: Setelah menambahkan atau menghapus aturan, Anda harus memuat ulang firewall.
sudo firewall-cmd --reloadVerifikasi bahwa aturan sudah berlaku:
Perintah ini menampilkan semua aturan di zona aktif, termasuk layanan, port, dan protokol.
sudo firewall-cmd --list-all
Ubuntu atau Debian
Dengan ufw, aturan firewall langsung berlaku dan tersimpan secara otomatis.
Buka port atau layanan tertentu:
Dengan nama layanan (direkomendasikan):
# Izinkan layanan HTTP dan HTTPS sudo ufw allow http sudo ufw allow httpsDengan nomor port:
# Izinkan port 3306/TCP sudo ufw allow 3306/tcp
Verifikasi bahwa aturan sudah berlaku:
Jalankan perintah berikut untuk melihat aturan yang aktif, termasuk layanan dan port yang diizinkan dan yang ditolak.
sudo ufw status
Nonaktifkan firewall
Saat melakukan troubleshooting konektivitas jaringan, Anda dapat menonaktifkan firewall sementara untuk memastikan apakah aturannya memblokir lalu lintas.
Menonaktifkan firewall di lingkungan produksi sangat tidak disarankan. Anda harus mengaktifkannya kembali setelah pengujian selesai atau masalah teratasi.
CentOS, Red Hat, atau Alibaba Cloud Linux
sudo systemctl stop firewalldUbuntu atau Debian
sudo ufw disablePertimbangan lingkungan produksi
Praktik Terbaik
Prinsip hak istimewa minimal: Hanya buka port yang esensial untuk bisnis Anda. Untuk layanan inti seperti database, batasi akses hanya untuk alamat IP internal tepercaya dan jangan mengeksposnya ke internet publik.
Menjaga koneksi cadangan: Sebelum melakukan perubahan pada firewall yang signifikan, kami sarankan untuk membuat koneksi jarak jauh ke instans. Sesi yang aktif biasanya akan tetap berjalan saat firewall dimuat ulang, menyediakan saluran cadangan untuk memperbaiki kesalahan konfigurasi.
Pencegahan risiko
Logging dan monitoring: Audit log firewall secara berkala untuk mendeteksi upaya akses anomali.
firewalld: Log biasanya dikelola olehjournald. Gunakansudo journalctl -u firewallduntuk melihatnya.ufw: Log biasanya terletak di/var/log/ufw.log.
FAQ
Mengapa layanan saya masih tidak dapat diakses setelah firewall OS dinonaktifkan?
Ini biasanya terjadi ketika Anda mengabaikan lapisan perlindungan pertama di lingkungan cloud. Lakukan troubleshooting dengan memeriksa komponen berikut secara berurutan:
Periksa grup keamanan: Masuk ke Konsol ECS - Halaman Grup Keamanan, temukan grup keamanan yang terkait pada instans Anda, dan pastikan aturan inbound mengizinkan lalu lintas pada port layanan yang diperlukan dari IP sumber yang sesuai.
Periksa status layanan listening: Di dalam instans, jalankan
ss -tunlp | grep <Nomor Port>ataunetstat -tunlp | grep <Nomor Port>untuk memastikan aplikasi Anda telah berhasil dimulai dan sedang listening pada alamat IP (seperti0.0.0.0) dan port sesuai ekspektasi.Periksa jaringan ACL: Jika instans Anda terkait pada jaringan ACL, periksa aturannya untuk memastikan lalu lintas yang relevan diizinkan.
Apa yang harus saya lakukan jika saya mendapatkan kesalahan
command not found?Kesalahan ini menandakan bahwa utilitas manajemen firewall yang sesuai belum terinstal.
Pada CentOS/Red Hat/Alibaba Cloud Linux, jalankan
sudo yum install firewalld -yatausudo dnf install firewalld -y.Pada Ubuntu/Debian, jalankan
sudo apt update && sudo apt install ufw -y.