GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Firewall dengan UFW di Ubuntu 20.04

Firewall adalah alat untuk memantau dan menyaring lalu lintas jaringan yang masuk dan keluar. Ini bekerja dengan menentukan seperangkat aturan keamanan yang menentukan apakah akan mengizinkan atau memblokir lalu lintas tertentu.

Ubuntu dikirimkan dengan alat konfigurasi firewall yang disebut UFW (Uncomplicated Firewall). Ini adalah front-end yang ramah pengguna untuk mengelola aturan firewall iptables. Tujuan utamanya adalah membuat pengelolaan firewall lebih mudah atau, seperti namanya, tidak rumit.

Artikel ini menjelaskan cara menggunakan alat UFW untuk mengonfigurasi dan mengelola firewall di Ubuntu 20.04. Firewall yang dikonfigurasi dengan benar adalah salah satu aspek terpenting dari keamanan sistem secara keseluruhan.

Prasyarat #

Hanya root atau pengguna dengan hak sudo yang dapat mengelola firewall sistem. Praktik terbaik adalah menjalankan tugas administratif sebagai pengguna sudo.

Instal UFW #

UFW adalah bagian dari instalasi standar Ubuntu 20.04 dan harus ada di sistem Anda. Jika karena alasan tertentu tidak diinstal, Anda dapat menginstal paket dengan mengetik:

sudo apt updatesudo apt install ufw

Periksa Status UFW #

UFW dinonaktifkan secara default. Anda dapat memeriksa status layanan UFW dengan perintah berikut:

sudo ufw status verbose

Output akan menunjukkan bahwa status firewall tidak aktif:

Status: inactive

Jika UFW diaktifkan, output akan terlihat seperti berikut:

Kebijakan Default UFW #

Perilaku default dari UFW Firewall adalah memblokir semua lalu lintas masuk dan meneruskan dan mengizinkan semua lalu lintas keluar. Ini berarti bahwa siapa pun yang mencoba mengakses server Anda tidak akan dapat terhubung kecuali Anda secara khusus membuka port tersebut. Aplikasi dan layanan yang berjalan di server Anda akan dapat mengakses dunia luar.

Kebijakan default didefinisikan dalam /etc/default/ufw file dan dapat diubah baik dengan memodifikasi file secara manual atau dengan sudo ufw default <policy> <chain> perintah.

Kebijakan firewall adalah dasar untuk membangun aturan yang lebih kompleks dan ditentukan pengguna. Umumnya, Kebijakan Default UFW awal adalah titik awal yang baik.

Profil Aplikasi #

Profil aplikasi adalah file teks dalam format INI yang menjelaskan layanan dan berisi aturan firewall untuk layanan tersebut. Profil aplikasi dibuat di /etc/ufw/applications.d direktori selama instalasi paket.

Anda dapat membuat daftar semua profil aplikasi yang tersedia di server Anda dengan mengetik:

sudo ufw app list

Tergantung pada paket yang diinstal pada sistem Anda, output akan terlihat seperti berikut:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Untuk menemukan informasi lebih lanjut tentang profil tertentu dan aturan yang disertakan, gunakan perintah berikut:

sudo ufw app info 'Nginx Full'

Outputnya menunjukkan bahwa profil 'Nginx Full' membuka port 80 dan 443 .

Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server

Ports:
  80,443/tcp

Anda juga dapat membuat profil khusus untuk aplikasi Anda.

Mengaktifkan UFW #

Jika Anda terhubung ke Ubuntu dari lokasi yang jauh, sebelum mengaktifkan firewall UFW, Anda harus secara eksplisit mengizinkan koneksi SSH yang masuk. Jika tidak, Anda tidak akan dapat lagi terhubung ke mesin.

Untuk mengonfigurasi firewall UFW Anda untuk mengizinkan koneksi SSH masuk, ketik perintah berikut:

sudo ufw allow ssh
Rules updated
Rules updated (v6)

Jika SSH berjalan pada port non-standar, Anda perlu membuka port tersebut.

Misalnya, jika daemon ssh Anda mendengarkan pada port 7722 , masukkan perintah berikut untuk mengizinkan koneksi pada port tersebut:

sudo ufw allow 7722/tcp

Setelah firewall dikonfigurasi untuk mengizinkan koneksi SSH masuk, Anda dapat mengaktifkannya dengan mengetik:

sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Anda akan diperingatkan bahwa mengaktifkan firewall dapat mengganggu koneksi ssh yang ada, cukup ketik y dan tekan Enter .

Membuka Port #

Tergantung pada aplikasi yang berjalan pada sistem, Anda mungkin juga perlu membuka port lain. Sintaks umum untuk membuka port adalah sebagai berikut:

ufw allow port_number/protocol

Berikut adalah beberapa cara untuk mengizinkan koneksi HTTP.

Opsi pertama adalah menggunakan nama layanan. UFW memeriksa /etc/services file untuk port dan protokol layanan yang ditentukan:

sudo ufw allow http

Anda juga dapat menentukan nomor port, dan protokol:

sudo ufw allow 80/tcp

Ketika tidak ada protokol yang diberikan, UFW membuat aturan untuk keduanya tcp dan udp .

Pilihan lainnya adalah menggunakan profil aplikasi; dalam hal ini, 'Nginx HTTP':

sudo ufw allow 'Nginx HTTP'

UFW juga mendukung sintaks lain untuk menentukan protokol menggunakan proto kata kunci:

sudo ufw allow proto tcp to any port 80

Rentang Port #

UFW juga memungkinkan Anda untuk membuka rentang port. Port awal dan akhir dipisahkan oleh titik dua (: ), dan Anda harus menentukan protokolnya, baik tcp atau udp .

Misalnya, jika Anda ingin mengizinkan port dari 7100 ke 7200 pada kedua tcp dan udp , Anda akan menjalankan perintah berikut:

sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp

Alamat IP dan port tertentu #

Untuk mengizinkan koneksi pada semua port dari IP sumber tertentu, gunakan from kata kunci diikuti dengan alamat sumber.

Berikut adalah contoh memasukkan alamat IP ke daftar putih:

sudo ufw allow from 64.63.62.61

Jika Anda ingin mengizinkan akses alamat IP yang diberikan hanya ke port tertentu, gunakan to any port kata kunci diikuti dengan nomor port.

Misalnya, untuk mengizinkan akses pada port 22 dari mesin dengan alamat IP 64.63.62.61 , masukkan:

sudo ufw allow from 64.63.62.61 to any port 22

Subnet #

Sintaks untuk mengizinkan koneksi ke subnet alamat IP sama seperti saat menggunakan satu alamat IP. Satu-satunya perbedaan adalah Anda perlu menentukan netmask.

Di bawah ini adalah contoh yang menunjukkan cara mengizinkan akses untuk alamat IP mulai dari 192.168.1.1 ke 192.168.1.254 ke port 3360 (MySQL):

sudo ufw allow from 192.168.1.0/24 to any port 3306

Antarmuka Jaringan Tertentu #

Untuk mengizinkan koneksi pada antarmuka jaringan tertentu, gunakan in on kata kunci diikuti dengan nama antarmuka jaringan:

sudo ufw allow in on eth2 to any port 3306

Menolak koneksi #

Kebijakan default untuk semua koneksi masuk disetel ke deny , dan jika Anda belum mengubahnya, UFW akan memblokir semua koneksi masuk kecuali Anda secara khusus membuka koneksi tersebut.

Menulis aturan tolak sama dengan menulis aturan izinkan; Anda hanya perlu menggunakan deny kata kunci alih-alih allow .

Katakanlah Anda membuka port 80 dan 443 , dan server Anda diserang dari 23.24.25.0/24 jaringan. Untuk menolak semua koneksi dari 23.24.25.0/24 Anda akan menjalankan perintah berikut:

sudo ufw deny from 23.24.25.0/24

Berikut adalah contoh penolakan akses hanya ke port 80 dan 443 dari 23.24.25.0/24 Anda dapat menggunakan perintah berikut:

sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443

Menghapus Aturan UFW #

Ada dua cara berbeda untuk menghapus aturan UFW berdasarkan nomor aturan, dan dengan menentukan aturan yang sebenarnya.

Menghapus aturan dengan nomor aturan lebih mudah, terutama jika Anda baru mengenal UFW. Untuk menghapus aturan dengan nomor aturan terlebih dahulu, Anda perlu menemukan nomor aturan yang ingin Anda hapus. Untuk mendapatkan daftar aturan bernomor, gunakan ufw status numbered perintah:

sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

Untuk menghapus nomor aturan 3 , yang memungkinkan koneksi ke port 8080 , Anda akan memasukkan:

sudo ufw delete 3

Metode kedua adalah menghapus aturan dengan menentukan aturan yang sebenarnya. Misalnya, jika Anda menambahkan aturan untuk membuka port 8069 Anda dapat menghapusnya dengan:

sudo ufw delete allow 8069

Menonaktifkan UFW #

Jika karena alasan apa pun Anda ingin menghentikan UFW dan menonaktifkan semua aturan, Anda dapat menggunakan:

sudo ufw disable

Nanti jika ingin mengaktifkan kembali UTF dan mengaktifkan semua aturan, ketik saja:

sudo ufw enable

Menyetel ulang UFW #

Menyetel ulang UFW akan menonaktifkan UFW, dan menghapus semua aturan yang aktif. Ini berguna jika Anda ingin mengembalikan semua perubahan dan memulai dari awal.

Untuk mereset UFW, ketik perintah berikut:

sudo ufw reset

IP Penyamaran #

IP Masquerading adalah varian dari NAT (translasi alamat jaringan) di kernel Linux yang menerjemahkan lalu lintas jaringan dengan menulis ulang sumber dan alamat IP dan port tujuan. Dengan IP Masquerading, Anda dapat mengizinkan satu atau lebih mesin di jaringan pribadi untuk berkomunikasi dengan Internet menggunakan satu mesin Linux yang bertindak sebagai gateway.

Mengonfigurasi Penyamaran IP dengan UFW melibatkan beberapa langkah.

Pertama, Anda perlu mengaktifkan penerusan IP. Untuk melakukannya, buka /etc/ufw/sysctl.conf berkas:

sudo nano /etc/ufw/sysctl.conf

Temukan dan batalkan komentar pada baris yang bertuliskan net.ipv4.ip_forward = 1 :

/etc/ufw/sysctl.conf
net/ipv4/ip_forward=1

Selanjutnya, Anda perlu mengonfigurasi UFW untuk mengizinkan paket yang diteruskan. Buka file konfigurasi UFW:

sudo nano /etc/default/ufw

Temukan DEFAULT_FORWARD_POLICY kunci, dan ubah nilainya dari DROP untuk ACCEPT :

/etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"

Sekarang Anda perlu menyetel kebijakan default untuk POSTROUTING rantai di nat meja dan aturan penyamaran. Untuk melakukannya, buka /etc/ufw/before.rules file dan tambahkan baris yang disorot dengan warna kuning, seperti yang ditunjukkan di bawah ini:

sudo nano /etc/ufw/before.rules

Tambahkan baris berikut:

/etc/ufw/before.rules
#NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic through eth0 - Change to public network interface
-A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

Jangan lupa ganti eth0 di -A POSTROUTING baris yang cocok dengan nama antarmuka jaringan publik:

Setelah selesai, simpan dan tutup file.

Terakhir, muat ulang aturan UFW dengan menonaktifkan dan mengaktifkan kembali UFW:

sudo ufw disablesudo ufw enable

Ubuntu
  1. Cara Mengatur Firewall UFW di Ubuntu 18.04

  2. Cara Mengatur Firewall dengan UFW di Ubuntu 16.04

  3. Cara Mengonfigurasi Firewall dengan UFW di Ubuntu 18.04

  1. Mengatur Firewall UFW di Ubuntu 18.04 - Metode Terbaik?

  2. Cara Mengatur Firewall dengan UFW di Ubuntu \ Debian

  3. Cara Mengonfigurasi Firewall UFW di Ubuntu 18.04

  1. Cara Mengaktifkan/Menonaktifkan Firewall UFW di Ubuntu 18.04

  2. Cara Mengatur Firewall dengan UFW di Ubuntu 18.04

  3. Cara Mengatur Firewall dengan UFW di Debian 10