Jika satu server dipakai bersama oleh WordPress + OJS + PHP Native, maka keamanannya harus dibuat lebih ketat daripada server yang hanya menjalankan satu CMS.
Ini karena tiga hal:
- WordPress adalah CMS paling sering diserang, terutama lewat plugin.
- OJS memiliki banyak celah RCE (Remote Code Execution) di versi 3.3 ke bawah.
- Aplikasi PHP native biasanya tidak memiliki pembaruan keamanan otomatis.
Akibatnya, jika satu aplikasi kena, semua aplikasi di server ikut terancam karena mereka berada dalam satu lingkungan (shared PHP-FPM, shared user www-data).
Di bawah ini adalah saran keamanan paling efektif, paling konkret, dan bisa langsung Anda terapkan khusus untuk lingkungan campuran WordPress + OJS + PHP native.
🛡️ REKOMENDASI BESAR UNTUK SERVER MULTI-APLIKASI (WP + OJS + PHP)
✅ 1. Pisahkan FPM Pool untuk setiap aplikasi (Sangat dianjurkan)
Saat ini semua aplikasi memakai:
/run/php/php7.4-fpm.sock
Jika WordPress terkena RCE, OJS & PHP native ikut terbuka karena mereka share socket.
Solusi:
Buat pool FPM khusus:
➤ Pool untuk WordPress
/run/php/wp-fpm.sock
user = www-wp
group = www-wp
➤ Pool untuk OJS
/run/php/ojs-fpm.sock
user = www-ojs
group = www-ojs
➤ Pool untuk aplikasi PHP native
/run/php/native-fpm.sock
user = www-native
group = www-native
Manfaat:
- Jika WordPress kena hack → tidak menjalar ke OJS
- Permission tidak saling tumpang tindih
- Lebih aman dari PHP-FPM socket attack seperti sebelumnya
Ini upgrade keamanan paling besar efeknya.
✅ 2. Gunakan user Linux berbeda untuk tiap aplikasi
Saat ini semuanya menggunakan:
www-data
Itu sangat berisiko.
Buat user:
useradd -r www-wp
useradd -r www-ojs
useradd -r www-native
Dan set kepemilikan folder:
chown -R www-wp:www-wp /var/www/wordpress
chown -R www-ojs:www-ojs /var/www/ojs
chown -R www-native:www-native /var/www/native
👉 Jika WordPress kena backdoor upload → OJS tidak bisa disentuh.
👉 Jika OJS kena exploit → WordPress tetap aman.
Isolasi = keamanan paling kuat.
✅ 3. Aktifkan ModSecurity + OWASP CRS di server
Dengan ini:
- SQL injection diblok
- Upload shell terdeteksi
- RCE exploit OJS diblok
- WP admin brute force difilter
Perintah:
apt install libapache2-mod-security2 -y
a2enmod security2
✅ 4. Aktifkan Fail2ban untuk login WordPress & OJS
Fail2ban bisa memblok bot brute-force OJS dan WP login.
apt install fail2ban -y
Aktifkan jail:
- apache-auth
- wordpress
- ojs-login
- sshd
✅ 5. Pisahkan VirtualHost + akses file
Gunakan:
<Directory /var/www/ojs>
php_admin_value open_basedir /var/www/ojs:/tmp
</Directory>
<Directory /var/www/wordpress>
php_admin_value open_basedir /var/www/wordpress:/tmp
</Directory>
→ WordPress tidak boleh membaca folder OJS
→ OJS tidak boleh membaca folder WordPress
Ini sangat penting pada server multi-web.
✅ 6. Backup otomatis harian
Saya rekomendasikan:
1. Backup database harian
2. Backup file mingguan
3. Simpan backup ke Google Drive / S3
Dengan rclone:
rclone copy /var/www gdrive:/backup/
Serangan AnonymousFox/AutoWipe biasanya menghapus semua file,
jadi backup wajib ada di remote storage.
✅ 7. Update OJS dan WordPress ke versi paling baru
Karena:
OJS < 3.3.0.11 → punya celah upload RCE.
WordPress + plugin lama → target favorit botnet.
✅ 8. Gunakan Cloudflare untuk filtering bot & DDoS
WordPress + OJS sama-sama berat.
Cloudflare dapat:
- Memblok bot WordPress XML-RPC
- Menahan Layer-7 DDoS
- Memfilter serangan brute force
- Menyembunyikan IP server VPS
Gratis, tapi sangat efektif.
🧱 9. Hardening tambahan khusus WordPress
- Nonaktifkan XML-RPC
- Hapus plugin yang tidak terpakai
- Ganti prefix database
wp_ - Gunakan plugin keamanan seperti Wordfence (opsional)
🧱 10. Hardening khusus OJS
OJS sangat sering jadi target RCE dan AutoClean.
Yang wajib:
- Set folder upload OJS tidak bisa execute PHP
<Directory /path/to/ojs/files> php_admin_value engine off </Directory> - Nonaktifkan API jika tidak digunakan
- Perketat permission
/public/
🎯 RANCANGAN ARSITEKTUR AMAN (SANGAT DIREKOMENDASIKAN)
+----------------+
Internet | Cloudflare |
---> +--------+-------+
|
+------+-------+
| Apache |
| 3 VirtualHost|
+------+------+------+
| | |
+----------+ | +-----------+
| | |
+--------v----+ +--------v----+ +---------v-----+
| WP FPM Pool | | OJS FPM Pool| | Native FPM Pool|
| www-wp | | www-ojs | | www-native |
+-------------+ +-------------+ +----------------+
Hasilnya:
✔ WordPress aman
✔ OJS aman
✔ Aplikasi native aman
✔ Tidak saling mempengaruhi jika salah satu kena serangan
✔ Tidak bisa dilakukan cross-exploit antar aplikasi