Wednesday 18 May 2022

UFW (Uncomplicated Firewall) : Keamanan Dasar pada Ubuntu Server 20.04

ufw-thumbnail

Pada tutorial ini kita akan membahas tentang UFW atau Uncomplicated Firewall pada Ubuntu Server 20.04.

UFW atau Uncomplicated Firewall, sebuah program yang berfungsi untuk melakukan manajemen netfilter firewall. Pada dasarnya UFW adalah IP Table yang merupakan firewall default pada Ubuntu Server, tapi karena IP Table ini sangat kompleks dan tidak cocok untuk para pemula yang baru terjun ke dalam server, sesuai dengan namanya yaitu Uncomplicated maka diciptakanlah sebuah program yang user friendly yaitu UFW.

UFW secara default terdisable oleh sistem, alasannya agar user bisa terkoneksi dan melakukan setup ke dalam server melalui remote SSH. Jika UFW dalam kondisi aktif, maka kita tidak akan bisa terkoneksi ke dalam server karena port SSH yaitu 22 belum terbuka.

Jika UFW terenable dan kita belum membuka port 22 yang digunakan untuk remote SSH, maka satu-satunya cara agar bisa terhubung ke server adalah dengan direct console atau melakukan setting langsung pada console servernya. Itu jika server kalian memiliki console, tetapi jika server yang sedang kalian manage adalah server headless, maka kalian tidak bisa terhubung ke server sama sekali.

Jadi secara sederhana, cara kerja dari UFW ini adalah melakukan blokir pada semua koneksi yang portnya tidak terbuka pada pengaturannya. 

Disini kita akan belajar cara untuk melakukan konfigurasi dasar pada UFW ini seperti melakukan buka-tutup/allow-disable port.

1. STATUS LIST

Pertama, kita lihat terlebih dahulu aplikasi apa saja yang terinstal pada server kita, ketikan perintah :

sudo ufw app list

Output :
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Terlihat ada beberapa aplikasi yang terinstall pada server kita seperti Apache dan OpenSSH. Semua aplikasi yang terdaftar di list diatas adalah aplikasi yang membutuhkan port agar bisa beroperasi, dengan kata lain pada settingan firewallnya kita harus membuka port yang digunakan oleh aplikasi tersebut agar servicenya bisa berjalan.

Secara default, pengaturan ufw atau firewall pada Ubuntu Server dalam keadaan disable, jadi kita harus mengenable firewall pada server kita menggunakan perintah :

sudo ufw enable

Sebaliknya, untuk melakukan disable pada firewall bisa menggunakan perintah :

sudo ufw disable

Untuk mengecek status dari semua firewall yang aktif bisa menggunakan perintah :

sudo ufw status verbose

Output :
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                                                           Action             From
--                                                            ------                ----
22/tcp (OpenSSH)                                  ALLOW IN    Anywhere
21/tcp                                                     ALLOW IN    Anywhere
80/tcp                                                     ALLOW IN    Anywhere
443/tcp                                                   ALLOW IN    Anywhere
80,443/tcp (Apache Full)                      ALLOW IN    Anywhere
3306                                                      ALLOW IN    Anywhere
8080                                                      ALLOW IN    Anywhere
22/tcp (OpenSSH (v6))                         ALLOW IN    Anywhere (v6)
21/tcp (v6)                                            ALLOW IN    Anywhere (v6)
80/tcp (v6)                                            ALLOW IN    Anywhere (v6)
443/tcp (v6)                                          ALLOW IN    Anywhere (v6)
80,443/tcp (Apache Full (v6))              ALLOW IN    Anywhere (v6)
3306 (v6)                                              ALLOW IN    Anywhere (v6)
8080 (v6)                                              ALLOW IN    Anywhere (v6)
  1. Deny (incoming), menolak semua koneksi yang masuk kecuali yang masuk ke allow list
  2. Allow (outgoing), mengijinkan semua koneksi yang keluar
  3. Disabled (routed), mendisabled semua koneksi yang masuk atau keluar, kecuali yang sudah disetting di allow list seperti subnet atau ip tertentu

2. ALLOW

Untuk membuka port, kita bisa menggunakan perintah allow. Proses setting firewall ini bisa berdasarkan nama service, ip address (host/subnet), port, dan protocol (tcp/udp).

Allow service SSH :

sudo ufw allow OpenSSH

Allow koneksi masuk dari IP tertentu, bisa host atau subnet :

sudo ufw allow 192.168.1.10 to any port

sudo ufw allow 192.168.1.0/24

Allow service FTP menggunakan port 21 dan protocol tcp :

sudo ufw allow 21/tcp

3. DENY, DELETE ALLOW

Untuk menolak/deny koneksi yang masuk menggunakan firewall bisa menggunakan format perintah :

sudo ufw deny nama_service_ip_port_protocol

Selain menggunakan status verbose, kita juga bisa menampilkan status dari port yang terbuka berdasarkan nomor.

sudo ufw status numbered

Status: active

To                                         Action            From
--                                          ------               ----
[ 1] OpenSSH                      ALLOW IN    Anywhere
[ 2] 21/tcp                            ALLOW IN    Anywhere
[ 3] 80/tcp                            ALLOW IN    Anywhere
[ 4] 443/tcp                          ALLOW IN    Anywhere
[ 5] Apache Full                   ALLOW IN    Anywhere
[ 6] 3306                              ALLOW IN    Anywhere
[ 7] 8080                              ALLOW IN    Anywhere
[ 8] OpenSSH (v6)              ALLOW IN    Anywhere (v6)
[ 9] 21/tcp (v6)                    ALLOW IN    Anywhere (v6)
[10] 80/tcp (v6)                   ALLOW IN    Anywhere (v6)
[11] 443/tcp (v6)                 ALLOW IN    Anywhere (v6)
[12] Apache Full (v6)          ALLOW IN    Anywhere (v6)
[13] 3306 (v6)                     ALLOW IN    Anywhere (v6)
[14] 8080 (v6)                     ALLOW IN    Anywhere (v6)

Terlihat pada output diatas, status dari semua port yang terbuka ditampilkan berdasarkan urutan nomor. Kita bisa menggunakan nomor tersebut untuk menghapus port yang terbuka.

Untuk menghapus rule port yang terbuka, kita bisa menggunakan perintah delete allow. Untuk proses settingnya bisa berdasarkan nama service, ip address (host/subnet), port, protocol (tcp/udp) dan number.

Disallow service Apache :

sudo ufw delete allow Apache Full

Disallow service Apache based on Number :

sudo ufw delete allow 12

Untuk mereset firewall kembali ke settingan default kita bisa menggunakan perintah :

sudo ufw reset

Pada sebuah Web Server, kita perlu melakukan ubahan pada pengaturan firewall server, dibawah ini adalah beberapa aplikasi yang perlu kita buka portnya pada pengaturan firewall pada sebuah web server :
  1. Open SSH
  2. HTTP
  3. HTTPS
  4. FTP
  5. Apache
Konfigurasi pada Firewall Ubuntu ini sangat mudah dilakukan berkat adanya UFW. Dengan memahami cara kerja dari aplikasi UFW ini, kita bisa membuka port apa saja yang dibutuhkan agar server ktia bisa berjalan dengan normal dan server kita juga tetap terlindungi dari pihak yang tidak bertanggung jawab. Sebagai seorang sysadmin, pemahaman pada keamanan dasar UFW ini sangat wajib untuk dilakukan sebelum masuk ke firewall lain seperti fail2ban atau ip table.

Seperti itu tadi pembahasan kita tentang UFW (Uncomplicated Firewall) yang merupakan keamanan dasar pada Ubuntu Server 20.04. Sekian untuk tutorial kali ini, semoga ilmu yang kalian dapat dari tutorial ini bisa bermanfaat untuk kalian semua. Terima kasih.
Previous Post
Next Post

Penulis blog dan atlet balap karung Indonesia, lahir di Jakarta 6 Juni. Sedang membentuk pasangan wanita yang manis, berpenampilan dinamis, tidak berkumis, tapi mirip artis.

0 comments: