Tentu sebagai sysadmin perlu paham tentang seluk beleluk keamanan dalam sebuah sistem, atau Developer Backend yang menggunakan PHP mungkin juga penasaran, belum tentu env development itu aman digunakan untuk production.

Mari kita bahas

 

#1. Ketahui Musuhmu

PHP dapat di serang dengan berbagai teknik, berikut saya rangkum dari beberapa sumber.

1. XSS merupakan kependekan yang digunakan untuk istilah cross site scripting. XSS merupakan salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs.

2. Injeksi SQL (Bahaasa Inggris: SQL Injection)adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi.

3. File Upload, Bagian ini juga harus di perhatikan, tidak ada seorangpun yang mau ada file berbahaya yang diupload pada website kita.

4. Including local & Remote file, disini peretas akan bisa membuka file pada server dan mengeksekusi file php, dan hampir bisa melakukan apapun

5. eval() ini sering digunakan pereteas untuk menyembunyikan file yang mereka masukan didalam server.

6. CSRF (Cross-site Request Forgery) CSRF (Cross-site Request Forgery) merupakan suatu teknik hacking untuk mendapatkan atau bahkan menguasai suatu account dengan cara menyerang web yang dieksekusi atas wewenang korban, tanpa dikehendakinya.

#2 Cermati Modul PHP yang terpasang

Untuk melihat modul apa saja yang terpasang dapat menggunakan  perintah

php -m

Contoh output

[PHP Modules]
calendar
Core
ctype
date
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

Saya menyarankan mematikan modul modul yang tidak digunakan. cara untuk mematikan modul php yang tidak digunakan adalah. cara untuk mematikan modul yang tidak di gunakan adalah dengan perintah

 

php2dismod NAMAMODUL

untuk mengaktifkan kembali modul menggunakan perintah

phpenmod NAMAMODUL

 

#3 Batasi Informasi Tentang Versi PHP

Untuk membatasi kebocoran tentang versi PHP yang digunakan dapat mengedit bagian di bawah ini, pada file php.ini

expose_php=Off

 Bila mana expose on maka kebocoran informasi versi php akan terjadi, yang biasanya akan muncul seperti X-Powered-By: PHP xxx, seperti contoh di bawah ini,

curl -I https://akakom.ac.id

HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Fri, 27 Apr 2018 16:14:15 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.5.9-1ubuntu4.20
Set-Cookie: _csrf=b2d0519289a563dee28cb63b467b03ec99f1db2933a0300745bc7d6e1bc28276a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22jqBzdGEwJUjRN2D_8RyA2nluzru-E4or%22%3B%7D; path=/; httponly


#4 Nyalakan Error Log Untuk PHP

Jangan tampilkan sama sekali error report pada server production, maka ada baiknya display error di ganti menjadi Off

display_errors=Off

Kemudian pastikan error log aktif

log_errors=On
error_log=/var/log/httpd/php_scripts_error.log

 

#5 Jangan Izinkan Pengguna Untuk Upload

Bila pada situs yang tidak memerlukan fitur upload ada baiknya juga fitur upload di nonaktifkan

file_uploads=Off

Bilamana ternyata file upload di perlukan tentukan juga batasan upload maksimal pada server

 

file_uploads=On
upload_max_filesize=1M

 

 

Berlanjut Ke Bagian 2

Share :

0 Komentar

Berikan Komentar

*Komentar yang memuat konten kurang pantas akan dihapus secara permanen



Apabila Anda ingin membuat artikel untuk kami sertakan dalam daftar artikel website kami, silakan submit artikel Anda disini

Rack Edan, Rack Spira