Firewalld AlmaLinux [bagian1]

Kali ini saya akan membuat catatan mengenai Firewalld pada linux terutama untuk pengaturan pada firewalld OS AlmaLinux / Centos. Dikarenakan menurut berita yang beredar bahwa OS Centos akan berakhir masanya pada 30 Juni 2024 maka sejak saat catatan ini saya buat saya mulai pindah ke OS yang mirip dengan centos yaitu AlmaLinux.

Pada catatan ini saya tidak akan membahas perintah - perintah dasar mengenai Firewalld melainkan saya langsung membuat catatan atau tutorial yang biasa saya gunakan untuk pengaturan Firewalld saya. Untuk perintah - perintah dasar silahkan anda dapat mencari sendiri hehehe...

Langsung Saja gaesss....

Pada setiap saya melakukan pengeaturan Firewall pada server, saya biasa melakukan penambahan port, perubahan port, penambahan service, dll. Sebelum melakukan perintah kita anggap kita menggunakan zona / zone "public" ya... jika anda menggunakan zone yang lain silahkan ganti zone nya.

Berikut perintah - perintah yang biasa saya gunakan :

Penambahan Port Database (MariaDB / MySql), untuk penambahan custom port lainnya silahkan mengganti angka 3306.

sudo firewall-cmd --zone=public --permanent --add-port=3306/tcp

Penambahan service http dan https

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https

Rich Rules

Pada bagian ini (Rich Rule) menurut saya bagian opsional tetapi menurut saya juga penting. Dalam kasus ini akan saya jabarkan kegunaan Rich Rule yang biasa saya gunakan pad akonfigurasi server - server saya.

Ceritanya saya menggunakan OS AlmaLinux pada pada ISP Vultr dengan menggunakan 2 IPv4 pada satu server. Nah disini saya ingin membagi fungsi dari masing - masing IP dengan konsep sebagai berikut :

Sebagai contoh saya memiliki 2 IPv4 dengan IP Utama 123.123.123.123 dan IP Kedua 213.213.213.213 nah saya ingin masing - masing dari IP tersebut memiliki tugas dan fungsi masing - masing semisal IP Utama saya gunakan sebagai akses Halaman Admin, PhpMyAdmin, dll intinya IP Utama nanti tidak terpublikasikan atau hanya untuk akses orang dalam. Untuk IP kedua untuk akses yang terpublikasikan misal untuk Website, API, Halaman Client, dll.

Sebelum melakukan penambahan perintah Rich Rule kita tambahkan dulu port - port yang akan digunakan di akses.

Misal saya menambahkan port 6001 yang akan digunakan sebagai akses halaman Administrator :

sudo firewall-cmd --zone=public --permanent --add-port=6001/tcp

Misal saya menambahkan port 6002 yang akan digunakan sebagai akses halaman phpMyAdmin:

sudo firewall-cmd --zone=public --permanent --add-port=6002/tcp

Disini pastikan semua port telah terbuka dan bisa di akses oleh semua IP baik IP utama maupun IP kedua untuk melakukan pengecekan apakah port tersebut bisa di akses pada IP silahkan cari di google dengan kata kunci Port Checker.

Untuk port 6001 dan 6002 sifatnya adalah akses halaman website jadi harus ada konfigurasi pada webserver nginx, xampp, dll yang mengarahkan ke port tersebut. Contoh konfigurasi webserver nginx :

server {
    listen      123.123.123.123:6002;
    server_name localhost;
    root /opt/Project/phpMyAdmin;
    index index.php;
    
    location ~ \.php {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php-fpm/www.sock;
    }
}

Berikut konsep routing Firewall nya :

IP Utama 123.123.123.123 dapat melakukan akses port http(80), https(443), ssh(22), mariadb(3306), custom port (Adminsitrator 6001, phpMyAdmin 6002)

IP kedua 213.213.213.213 hanya dapat melakukan akses port http(80), https(443)

firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 destination address=213.213.213.213/32 port port=3306 protocol=tcp reject'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 destination address=213.213.213.213/32 port port=22 protocol=tcp reject'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 destination address=213.213.213.213/32 port port=6001 protocol=tcp reject'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 destination address=213.213.213.213/32 port port=6002 protocol=tcp reject'

Setelah melakukan perintah firewalld pastikan melakukan reload firewalld agar perintah konfigurasi dapat digunakan, perintah reload :

firewall-cmd --reload

Jika Port sudah di tambahkan tapi tidak dapat di akses kemungkinan terkena security linux (selinux), tutorial penambahan security linux sudah saya tulis pada catatan sebelumnya silahkan di cari pada blog saya ini.

Sampai disini dulu tutorial saya, jika ada yang salah, gagal, tidak bisa jalan akan saya update. silahkan berkomentar. Saya bukan penulis handal mohon maaf jika kata - kata agak aneh intinya ini cuma sebagai catatan saya.. Jika bermanfaat Alhamdulillah...

Terimakasih dan semoga bermanfaat.

Komentar

Postingan populer dari blog ini

CryptoJS untuk Javascript dan PHP

Cara Menginstal Nginx, MariaDB, PHP V7 di Linux CentOS 7 (LEMP)

Tutorial ZIP UNZIP Centos 7