PHP singkatan dari Hypertext Preprocessor adalah bahasa pemerograman yang sangat populer digunakan untuk membuat halaman website dinamis. Tergolong kedalam bahasa pemrograman dengan pengkodean yang dengan mudah dapat kita test dan pahami serta mendukung beberapa database seperti MySQL, MS SQL dan Oracle.
Ada beberapa fungsi PHP berbahaya yang dapat digunakan untuk membuat code yang sangat berbahaya bagi server. Ketika kode PHP yang digunakan dalam cara yang tidak benar atau berbahaya, ini berpotensi mengacaukan Webserver dan server dapat dikendalikan oleh hacker. Kode PHP yang berbahaya tersebut benar-benar dapat membahayakan semua data yang berada di server. Yang akan terjadi jika fungsi php berbahaya ini tidak di disable? Jawabannya, engga kebayang deh.
Berikut ini daftar fungsi-fungsi php yang berbahaya :
- allow_url_fopen
- apache_child_terminate
- apache_setenv
- base64_decode //optional
- curl_exec
- curl_multi_exec
- define_syslog_variables
- dl
- escapeshellarg
- escapeshellcmd
- eval
- exec
- fp
- fput
- ftp_connect
- ftp_exec
- ftp_get
- ftp_login
- ftp_nb_fput
- ftp_put
- ftp_raw
- ftp_rawlist
- gzinflate
- gzuncompress
- highlight_file
- ini_alter
- ini_get_all
- ini_restore
- inject_code
- mysql_pconnect //optional
- openlog
- parse_ini_file
- passthru
- php_uname
- phpAds_remoteInfo
- phpAds_XmlRpc
- phpAds_xmlrpcDecode
- phpAds_xmlrpcEncode
- popen
- posix_getpwuid
- posix_kill
- posix_mkfifo
- posix_setpgid
- posix_setsid
- posix_setuid
- posix_uname
- proc_close
- proc_get_status
- proc_nice
- proc_open
- proc_terminate
- shell_exec
- show_source
- str_rot13
- symlink
- syslog
- system
- xmlrpc_entity_decode
Untuk men-disable fungsi PHP berbahaya, dapat dilakukan dengan mengedit file konfigurasi PHP yaitu “php.ini“. Untuk mengetahui dimana letak file tersebut kita dapat menggunakan perintah berikut :
[root@srv1 ~]# php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
setelah lokasi filenya diketahui, edit file tersebut menggunakan text editor favoritmu, saya selalu menggunakan Vim text editor. vi /folder/ke/tempat/php.ini dan cari baris “disable_functions:” selanjutnya tambahkan baris berikut :
disable_functions = “nama_fungsi, …, …”
Atau lebih lengkapnya seperti berikut :
disable_functions = allow_url_fopen, apache_child_terminate, apache_setenv, base64_decode, curl_exec, curl_multi_exec, define_syslog_variables, dl, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, gzinflate, gzuncompress, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, openlog, parse_ini_file, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, show_source, str_rot13, symlink, syslog, system, xmlrpc_entity_decode,exec
Selanjutnya restart webserver atau modul php. Inget yah, ini engga menjamin server aman 100%. Dengan men-disable fungsi php berbahaya Ini hanya salah satu metode untuk menambah keamanan server kamu. Perhatikan juga keamanan server dari sisi yang lainnya
No comments:
Post a Comment