Jump to content
  • Kemerdekaan indonesia 74
  • Kemerdekaan indonesia 74
  • Kemerdekaan indonesia 74
Sign in to follow this  
c0d1ng

PHP.ini: Disable exec, shell_exec, system, popen and Other Functions To Improve Security

Recommended Posts

php.jpg

I run a small Apache based web-server for my personal use, and it is shared with friends and family. However, most script kiddie try to exploit php application such as WordPress using exec(), passthru(), shell_exec(), system() functions. How do I disable these functions to improve my php script security?

PHP has a lot of functions which can be used to crack your server if not used properly. You can set list of functions in php.ini using disable_functions directive. This directive allows you to disable certain functions for security reasons. It takes on a comma-delimited list of function names. disable_functions is not affected by Safe Mode. This directive must be set in php.ini file. For example, you cannot set this in httpd.conf file.

Open a terminal or login to your server over the ssh session. Open php.ini file:

Quote

# vi /etc/php.ini

Find disable_functions and set new list as follows:

Quote

disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

I also recommend to disable allow_url_include and allow_url_fopen for security reasons:

Quote

allow_url_fopen=Off
allow_url_include=Off

Save and close the file. Restart the httpd server by tying the following command:

Quote

# service httpd restart

OR if you are using Debian/Ubuntu Linux, run:

Quote

# service apache2 restart

A note about systemd based system

If you are using systemd + RHEL/CentOS/Fedora Linux based system, enter:

Quote

# systemctl httpd restart

If you are using systemd + Debian/Ubuntu Linux based system, enter:

Quote

# systemctl restart apache2

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Similar Content

    • By Males
      Perusahaan manajemen password SplashData, baru saja merilis daftar password terburuk pada 2018. Ada 25 password paling burukyang dirilis. 
      Daftar password terburuk tersebut, dikumpulkan dari 5 juta password yang bocor di ranah maya. 
      Password yang bocor ini ditengarai mudah dibobol karena mengusung kombinasi alfabetis dan angka yang terlalu mudah (seperti kombinasi “123456” dan “password”), sehingga bisa diretas oleh pihak tak bertanggung jawab. 
      Tanpa berpanjang lebar lagi, berikut daftar 25 password dengan kombinasi terburuk di sepanjang 2018.
      Ini Dia Daftarnya
      Ada yang peringkatnya bergeser, ada yang tetap sama, dan ada juga password baru bertengger di daftar tersebut.
      1. 123456
      2. password
      3. 123456789
      4. 12345678
      5. 12345
      6. 111111
      7. 1234567
      8. sunshine
      9. qwerty
      10. iloveyou
      11. princess
      12. admin
      13. welcome
      14. 666666
      15. abc123
      16. football
      17. 123123
      18. monkey
      19. 654321
      20. !@#$%^&*
      21. charlie
      22. aa123456
      23. donald
      24. password1
      25. qwerty123
    • By c0d1ng
      Sebagai fitur kedua update ke seri PHP 7, tim pengembang PHP mengirimkan rilis 7.2.0 PHP. Seperti yang diharapkan, rilis ini dilengkapi dengan banyak perbaikan dan fitur. Anda dapat menemukan download sumber dari PHP 7.2.0 di halaman download.
      Sesuai catatan rilis, perbaikan utama dan fitur baru mencakup kemampuan untuk mengubah kunci numerik di gips objek / array, typehint objek, penghitungan objek yang tidak dapat dihitung, dan HasContext sebagai Objek.
      PHP 7.2 juga meningkatkan konstanta TLS menjadi nilai yang masuk akal. Ekstensi Mycrypt telah dihapus dan ekstensi natrium baru telah ditambahkan.
      “Panduan migrasi tersedia dalam Manual PHP. Silakan konsultasikan untuk daftar rinci fitur baru dan perubahan yang tidak kompatibel, “.
      https://php.net/releases/7_2_0.php
    • By berita_semua
      Berita duka dari rumah lembang berbarengan dengan divonisnya Ahok oleh pengadilan. Seorang security rumah Lembang yang bernama Gerard Umbu Samapati harus menghembuskan napas terkahir di usia 43 tahun dan meninggalkan tujuh orang anak.
      Berdasarkan informasi dari Usma yang juga sesama security di rumah Lembang, Gerard meninggal tak lama setelah menyaksikan berita divonisnya Ahok selama dua tahun.
      "Benar (meninggal dunia). Kaget dengar putusan hakim soal Ahok," katanya kepada merdeka.com, Selasa (9/5)
      Sejumlah timses perwakilan Ahok-Djarot dateng melayat ke rumah duka, dan menurut informasi mereka Gerard meninggal karena serangan jantung seusai mengetahui Ahok divonis oleh majelis hakim.
      Duh jadi sedih ya. Semoga diterima di sisi Tuhan.
    • By berita_semua
      Twitter telah menetapkan sikap untuk perang menghadapi troll, pengirim pesan dengan tujuan membangkitkan tanggapan emosional dan kemarahan pengguna lain. Oleh sebab itu, Twitter belakangan ini gencar melakukan pembaruan sebagai upaya berkelanjutan membuat platform-nya lebih nyaman dan aman untuk pengguna.
      Selama beberapa minggu terakhir, Twitter sudah melakukan pembaruan mulai dari memperbarui cara pelaporan, mencegah pembuatan akun-akun berisiko konten melecehkan dan merendahkan, mengimplementasikan hasil pencarian yang lebih aman, menurunkan Tweet yang melecehkan, merendahkan dan berpotensi mengancam dan mengurangi notifikasi percakapan dari akun yang sudah diblok atau dibisukan (mute).
      Kini yang terbaru, sosial media (Medsos) berlogo burung biru ini meneruskan niatnya untuk platform-nya lebih aman dengan melakukan update lanjutan. Menurut Ed Ho, VP of Engineering Twitter, Twitter akan mengimplementasikan pembaruan dengan memanfaatkan teknologi yang dimilikinya.
      “Kami telah melihat dampak positif dari beberapa pembaruan yang kami lakukan baru-baru ini dan sangat menghargai masukan yang kami terima dari para pengguna. Minggu ini kami akan mulai mengimplementasikan beberapa pembaruan dengan memanfaatkan teknologi yang kami miliki untuk meminimalisir konten kasar dan merendahkan, menyediakan lebih banyak metode untuk mengontrol pengalaman Anda, sekaligus mengomunikasikan langkah-langkah yang sudah kami lakukan dengan lebih jelas," katanya dalam keterangan kepada Okezone, Kamis (2/3/2017).
      Lebih lanjut, ia juga menjelaskan bahwa Twitter banyak belajar seiring dengan berbagai usaha yang dilakukan untuk membuat Twitter aman dan nyaman, tak hanya dari perubahan-perubahan yang sudah diimplementasikan, tetapi juga dari kesalahan yang dibuat dan masukan dari para pengguna .
    • By h4ck3r1nd0
      PHP 7 beberapa waktu lalu sudah resmi diluncurkan, pecinta PHP pastinya menyambut ini dengan suka cita. PHP 7 muncul tanpa melalui PHP 6, jadi langsung loncat dari 5 ke 7.
      Ada beberapa perubahan yang terjadi di PHP 7, ada beberapa fitur yang dihilangkan dan ada beberapa yang ditambahkan.
      Berikut ini adalah beberapa hal yang sebaiknya tidak Anda lakukan lagi di PHP 7, walaupun sebenarya ini tidak hanya soal PHP 7, namun bisa secara umum dalam pemrograman PHP, setidaknya agar kualitas kode yang Anda buat bisa lebih baik dibanding tahun-tahun sebelumnya, mari jadikan perubahan ke PHP 7 sebagai momentum untuk ngoding dengan lebih baik.
      1. Jangan gunakan fungsi mysql_
      Sudah semenjak PHP 5.x Anda disarankan untuk tidak lagi menggunakan fungsi mysql_. PHP 7 menghilangkan fungsi ini dari core nya dan untuk itu Anda perlu pindah ke fungsi mysqli_ karena jauh lebih baik, atau gunakanPDO yang agar lebih fleksibel.
      2. Jangan terlalu boros menulis kode
      Koding yang Anda buat menentukan kecepatan akses situs Anda, soal kecepatan ini juga menjadi hal yang penting di PHP 7. Jangan langsung puas dengan kecepatan situs Anda hanya karena sudah beralih ke PHP 7.
      Untuk memahami betapa pentingnya kecepatan dan apa yang dapat Anda lakukan untuk membuatnya jadi lebih baik, Anda bisa membaca-baca kembali panduan dasar PHP.
      Sebagai seorang developer Anda harus memastikan untuk membuat script yang hanya benar-benar dibutuhkan saja, gabungkan mereka jika memungkinkan agar lebih hemat, tulis query database dengan lebih efisien, gunakan caching bila mungkin dan lain sebagainya.
      3. Jangan gunakan tag penutup PHP pada akhir sebuah file
      Jika Anda memperhatikan, sebagian besar file inti dari WordPress menghilangkan tag penutup PHP di setiap akhir file. Bahkan, Zend Framework secara khusus melarang hal tersebut. Hal ini tidak diperlukan oleh PHP dan dengan menghilangkan itu pada akhir file Anda memastikan bahwa tidak ada spasi yang ditambahkan.
      4. Jangan lakukan query didalam loop
      Melakukan query database dalam sebuah lopp adalah pemborosan. Ini akan memberikan beban yang tidak perlu pada sistem yang Anda buat dan tentunya akan lebih baik jika dilakukan diluar loop.
      5. Jangan gunakan * dalam sql query
      Kurangi penggunaan * dalam query SQL, apalagi jika Anda memiliki database yang punya banyak sekali kolom dalam tabel. Sebaiknya tentukan kolom mana saja yang akan Anda ambil, hal ini akan meminimalkan penggunaanresource.
      6. Jangan mudah percaya dengan apa yang di input user
      Agak kurang bijak bila seorang programmer mempercayai apa yang akan diinput oleh pengguna aplikasinya tanpa memberikan berbagai aturan. Pastikan Anda selalu melakukan filter, sanitize, escape, check dan menggunakanfallbacks untuk mendapatkan input data yang pasti.
      7. Jangan pernah merasa pintar
      Anda mungkin bisa mempercepat waktu load 0.01 detik untuk setiap halaman, karena tujuan Anda adalah menulis kode yang elegan dan itu adalah niat yang baik, Anda mungkin menggunakan berbagai macam logika untuk melakukan hal tersebut sampai orang lain dan bahkan Anda sendiri sakit kepala memikirkan hal tersebut.
      Namun sebenarnya yang sederhana untuk dilakukan adalah Anda cukup menulis nama variabel dengan benar, mendokumentasikan kode yang Anda buat, buat semua lebih singkat namun jelas. Ada baiknya juga untuk menggunakan standar berorientasi objek, dimana Anda menulis dokumentasi dengan lebih baik tanpa harus banyak inline comment.
      8. Jangan abaikan aplikasi-aplikasi bantuan
      PHP sudah digunakan untuk waktu yang cukup lama, sedangkan website sudah lebih lama dari itu. Perubahan yang Anda lakukan kemungkinan juga sudah dilakukan oleh orang lain sebelumnya. Jangan takut untuk menggunakan bantuan lain, GitHub bisa jadi teman baik Anda, Composer, Packagist juga bisa jadi teman baik Anda.
      Selain itu ada berbagai alat untuk memanipulasi warna, dari profiler hingga framework unit testing, dari API MailChimp hingga Twitter Bootstrap, semuanya tersedia dengan gratis.
      9. Jangan mengabaikan bahasa lain
      Setiap bahasa pemrograman memiliki kelebihan dan kekurangan. Apabila Anda seorang programmer PHP maka tidak ada salahnya sedikit mencoba bahasa lain seperti #C atau Java. Selain itu belajar bahasa-bahasa tersebut juga akan memperlancar Anda dalam memahami PHP, seperti memahami OOP nya.
      Tidak ada salahnya juga seorang programmer PHP untuk belajar lebih banyak tentang HTML, CSS dan Javascript, karena semuanya sekarang sudah semakin berkembang. Kemunculan manajemen paket membuat semuanya semakin berkembang jadi lebih baik, hingga kini muncul juga Coffescript, LESS, SASS, YAML yang juga sedikit banyak harus dikenal oleh programmer PHP, tentu akan sangat powerful jika beberapa teknologi tersebut digabung dengan PHP 7 dalam proses pembuatan website dan aplikasi Anda berikutnya.
      Jadi tidak ada salahnya programmer PHP juga tahu bahasa pemrograman lain.
      Jangan lupa like!

×
×
  • Create New...

Important Information

We use cookies. They're not scary but some people think they are. Terms of Use & Privacy Policy