Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
25.08.2025

Apa Itu SELinux, dan Bagaimana Ia Dapat Meningkatkan Keamanan di Linux?

Ketika berbicara tentang mengamankan server Linux, sebagian besar administrator berpikir tentang hal-hal mendasar: menjaga paket-paket tetap diperbarui, mengonfigurasi firewall, membatasi akses SSH. Namun, salah satu mekanisme keamanan yang paling kuat sering kali terabaikan – SELinux (Security-Enhanced Linux). Ini bukan sekadar pengaya; ini adalah kerangka kerja keamanan tingkat kernel yang dirancang untuk menghentikan intrusi sebelum meningkat. Untuk VPS dan server khusus, SELinux dapat berarti perbedaan antara insiden kecil dan kompromi sistem secara keseluruhan.

Apa itu SELinux?

SELinux adalah modul keamanan kernel Linux yang memberlakukan Mandatory Access Control (MAC).

  • Pada model DAC (Discretionary Access Control) tradisional, akses ditentukan oleh pemilik file, dan root memiliki kekuasaan yang tidak terbatas.
  • Pada MAC (SELinux), akses diatur oleh kebijakan keamanan di seluruh sistem. Bahkan root pun tunduk pada pembatasan.

Awalnya dikembangkan oleh NSA bekerja sama dengan Red Hat, SELinux diintegrasikan ke dalam kernel Linux di awal tahun 2000-an dan sekarang menjadi standar di seluruh distribusi perusahaan seperti RHEL, CentOS, Fedora, AlmaLinux, dan Rocky Linux.

Masalahnya: Di mana Keamanan Linux Tradisional Gagal

Model perizinan UNIX klasik (DAC) memiliki kelemahan kritis:

  • Root memiliki kekuasaan penuh. Eksploitasi apa pun yang meningkat menjadi root akan membahayakan seluruh sistem.
  • Kompromi layanan = kompromi sistem. Modul Apache atau skrip PHP yang diretas dapat mengakses data sensitif.
  • Vektor serangan modern melewati DAC. Cangkang web, eksploitasi eskalasi hak istimewa, dan pelarian kontainer adalah hal yang umum terjadi.

Skenario dunia nyata:
Kerentanan upload CMS memungkinkan penyerang untuk menjatuhkan web-shell. Tanpa SELinux, penyerang dapat membaca config.php, mengekstrak kredensial basis data, dan mengkompromikan seluruh stack. Dengan SELinux, proses server web (httpd_t) dibatasi dan tidak dapat mengakses berkas di luar domain yang ditentukan.

Bagaimana SELinux Bekerja

Setiap proses, berkas, port, dan soket memiliki konteks keamanan (label).
Kebijakan mendefinisikan konteks mana yang dapat berinteraksi.

Contoh:

  • Apache berjalan pada domain httpd_t.
  • File situs web diberi label httpd_sys_content_t.
  • Kebijakan mengizinkan httpd_t untuk hanya membaca berkas httpd_sys_content_t.

Jika Apache mencoba membaca /etc/shadow (shadow_t), kernel akan menolak permintaan tersebut dan mencatat pelanggaran.

Mode Operasi

  • Menegakkan: kebijakan ditegakkan, pelanggaran diblokir.
  • Permissive: pelanggaran dicatat tetapi tidak diblokir (berguna untuk pengujian).
  • Dinonaktifkan: SELinux dimatikan (tidak disarankan).

Praktik terbaik: mulai dari Permissive, tinjau log, sempurnakan kebijakan, lalu pindah ke Enforcing untuk produksi.

Mengapa SELinux Penting untuk Hosting dan DevOps

  • Isolasi proses: membatasi kerusakan ketika satu layanan terganggu.
  • Penegakan hak istimewa yang paling sedikit: bahkan root tidak dapat melewati batasan kebijakan.
  • Forensik dan visibilitas: semua tindakan yang ditolak dicatat (/var/log/audit/audit.log).
  • Keamanan kontainer: mencegah kontainer Docker/Podman keluar dari batasannya.
  • Kepatuhan: diperlukan dalam lingkungan yang diatur (PCI DSS, HIPAA, penerapan tingkat militer).

Jenis Kebijakan

  • Ditargetkan (default): hanya membatasi layanan yang berhadapan dengan jaringan (Apache, Nginx, Postfix, Dovecot).
  • Ketat: menerapkan MAC ke semua proses.
  • MLS/MCS: kebijakan tingkat lanjut untuk keamanan multi-level atau tingkat pemerintah.

Untuk sebagian besar beban kerja VPS dan server khusus, Kebijakan Bertarget adalah keseimbangan terbaik antara kegunaan dan perlindungan.

Contoh Praktis

Memeriksa status SELinux

getenforce sestatus

Mengembalikan konteks berkas setelah memindahkan berkas web

restorecon -Rv /var/www/html

Membuat daftar label keamanan berkas

ls -Z /var/www/html

Mengizinkan koneksi keluar layanan web (misalnya, panggilan API)

setsebool -P httpd_can_network_connect 1

Meninjau tindakan yang ditolak dalam log

ausearch -m avc -ts recent

Kesimpulan

SELinux lebih dari sekedar fitur keamanan tambahan; ini adalah sebuah kerangka kerja fundamental yang mendefinisikan ulang bagaimana Linux menerapkan kontrol akses. Dengan membatasi proses, mengurangi dampak kerentanan, dan menyediakan jejak audit yang mendetail, SELinux mengubah sistem Linux menjadi lingkungan yang jauh lebih tangguh. Meskipun membutuhkan konfigurasi dan pemahaman yang cermat, manfaat keamanan yang dibawanya pada infrastruktur server modern menjadikannya komponen penting untuk setiap penerapan produksi.

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills