Panduan Lengkap Keamanan Infrastruktur dan Server di Lingkungan Shared Hosting

12 Jun 2026 | Oleh: rastono sumardi

Panduan Lengkap Keamanan Infrastruktur dan Server di Lingkungan Shared Hosting

Sebaik dan seaman apa pun kode aplikasi yang Anda tulis, semuanya tidak akan berarti jika "rumah" tempat aplikasi tersebut berjalan—yakni server atau layanan hosting—memiliki celah keamanan. Peretas sering kali mengabaikan kode aplikasi dan lebih memilih menyerang kelemahan konfigurasi server untuk mengambil alih sistem.

Artikel ini akan membahas dua pilar utama dalam keamanan server: Pembatasan Akses File/Direktori dan Pembaruan Berkala (Patching), serta bagaimana menerapkannya secara praktis di lingkungan shared hosting.

1. Isolasi Direktori: Mencegah Akses Publik ke Inti Aplikasi

Konsep paling krusial dalam keamanan server web modern adalah memisahkan kode inti (core) dari Document Root. Document Root (biasanya bernama public_html di cPanel) adalah satu-satunya folder yang terekspos langsung ke internet.

Masalah umum yang sering terjadi adalah pengembang meletakkan seluruh file aplikasi (termasuk folder konfigurasi dan kredensial database) langsung di dalam public_html. Ini sangat berbahaya.

Penerapan Struktur Direktori yang Aman

Alih-alih menumpuk semua file di folder publik, letakkan file inti aplikasi Anda di luar (satu tingkat di atas) folder public_html.

Contoh Struktur yang Benar:

Plaintext
/home/username_hosting/
├── app/               <-- Logika aplikasi (Aman dari akses web langsung)
├── config/            <-- File kredensial database (Aman)
├── vendor/            <-- Library pihak ketiga (Aman)
└── public_html/       <-- Document Root (Terekspos ke internet)
    ├── index.php      <-- Pintu masuk utama (Entry Point)
    ├── .htaccess      <-- Aturan server lokal
    ├── css/
    └── js/

Catatan Penting: Karena folder aplikasi sekarang berada di atas public_html, Anda harus menyesuaikan jalur (path) pemanggilan file di dalam index.php menggunakan ../ untuk naik satu folder. Contoh: require_once __DIR__ . '/../vendor/autoload.php';

2. Konfigurasi Web Server: Mengamankan Jalur Masuk via .htaccess

Di shared hosting, Anda tidak memiliki akses root untuk mengubah konfigurasi utama Apache atau Nginx. Sebagai gantinya, Anda menggunakan file .htaccess yang diletakkan di dalam public_html untuk memberikan instruksi keamanan kepada server.

Kode .htaccess yang Wajib Diterapkan:

Apache
# 1. Mematikan fitur Directory Browsing
# Mencegah peretas melihat daftar file di dalam folder yang tidak memiliki index.php
Options -Indexes

# 2. Memblokir akses ke file sensitif secara eksplisit
# Sangat berguna jika Anda terpaksa meletakkan file ini di dalam public_html
<FilesMatch "^\.env|composer\.json|composer\.lock|\.git">
    Require all denied
</FilesMatch>

# 3. Front Controller Pattern (Routing)
# Mengarahkan semua permintaan (request) masuk hanya melalui index.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

3. Manajemen Hak Akses (File Permissions)

Server berbasis Linux mengandalkan sistem hak akses (permissions). Kesalahan fatal yang sering dilakukan adalah mengatur permission ke 777, yang berarti siapa saja di internet dapat membaca, mengedit, dan mengeksekusi file tersebut.

Gunakan File Manager di panel hosting Anda atau aplikasi FTP (seperti FileZilla) untuk mengatur hak akses dengan aturan baku berikut:

Tipe Target Izin Wajib Keterangan Akses
Folder / Direktori 755 Pemilik bisa Read/Write/Execute. Publik hanya Read/Execute.
File Standar (.php, .html) 644 Pemilik bisa Read/Write. Publik hanya Read.
File Sensitif (.env, config) 400 / 444 Dikunci ketat. Mencegah modifikasi tak sah dari skrip jahat.

4. Pembaruan Berkala (Patching Management)

Setiap harinya, celah keamanan baru (Common Vulnerabilities and Exposures / CVE) selalu ditemukan. Peretas menggunakan bot scanner otomatis untuk meretas situs yang masih menggunakan versi perangkat lunak usang. Di lingkungan shared hosting, strategi pembaruan dibagi menjadi dua tanggung jawab:

  • Pembaruan OS & Web Server (Tanggung Jawab Provider): Anda menyewa ruang, jadi infrastruktur dasar adalah tugas penyedia layanan. Pastikan Anda memilih provider hosting bereputasi baik yang rutin memelihara server mereka.

  • Pembaruan Versi PHP (Tanggung Jawab Anda): Jangan gunakan versi PHP yang sudah End of Life (tidak lagi mendapat patch keamanan dari pengembang resmi PHP). Anda bisa mengubah versi ini melalui menu Select PHP Version atau MultiPHP Manager di cPanel. Selalu gunakan versi stabil terbaru (misalnya PHP 8.1 atau 8.2).

  • Pembaruan Library Pihak Ketiga (Tanggung Jawab Anda): Jika aplikasi Anda menggunakan Composer, pastikan library yang digunakan tidak memiliki celah keamanan.

    • Jika hosting Anda memiliki fitur Terminal, jalankan composer audit dan composer update secara berkala.

    • Jika tidak ada Terminal, lakukan pembaruan di komputer lokal Anda, lalu compress (ZIP) folder vendor yang baru, unggah ke hosting, dan timpa folder lama.

Kesimpulan

Mengamankan aplikasi di shared hosting memang memiliki keterbatasan dibandingkan menggunakan VPS pribadi. Namun, dengan memastikan isolasi direktori yang tepat, menyaring akses melalui .htaccess, mengatur hak akses secara ketat, dan rutin memperbarui versi PHP serta library, Anda telah menutup sebagian besar celah keamanan yang paling sering dieksploitasi oleh pihak yang tidak bertanggung jawab. Keamanan bukanlah tugas sekali jadi, melainkan proses yang berkelanjutan.

Ditulis oleh:

rastono sumardi

Kontributor Banggai Kreatif

Bagikan Artikel Ini: