[Bảo mật server] Tắt các hàm nguy hiểm trong PHP

Chia sẻ kiến thức sử dụng VPS (máy chủ ảo) - Server (máy chủ riêng)

Các điều hành viên: Admin, Mod, SMod

[Bảo mật server] Tắt các hàm nguy hiểm trong PHP

Gửi bàigửi bởi nghiammo1992 » 29/01/2014 13:59

Với những ai quản trị Webserver thì nỗi lo bị hack nói chung hay local hack nói riêng là một điều luôn thường trực. PHP cung cấp cho chúng ta một ngôn ngữ lập trình web mạnh với rất nhiều hàm gọi hệ thống, giúp các lập trình viên có thể thao tác với hệ thống một cách tiện lợi. Tuy nhiên đây cũng là điểm yếu khi mà server bị hack, hay đơn giản server bạn là share hosting và hàng xóm của bạn Up 1 con shell loại như R57 hay c99 lên. Vậy chúng ta phải chống như thế nào?

Để chống được shell này ở mức cơ bản, chúng ta cần cài đặt mod_security, chạy php ở mức và cần phải disable một số hàm gọi hệ thống được đánh giá là nguy hiểm trong PHP, cụ thể là những hàm sau, và disable như sau:

Chúng ta mở file php.ini, tìm đến dòng bắt đầu bằng disable_funtions = và thêm vào như sau:

Mã: Chọn tất cả
disable_functions = "dl, fsockopen, socket_create, socket_create_listen, socket_create_pair, pfsockopen, putenv, pcntl_exec, pcntl_fork, apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, 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_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode"


Nếu disable các hàm trên mà trang web bạn không hoạt động được thì bạn có thể sử dụng code dưới đây thay thế:

Mã: Chọn tất cả
disable_functions = "dl, openlog, syslog, exec, passthru, shell_exec, proc_open, system, popen, fsockopen, ftp_connect, posix_setuid, socket_create, socket_create_listen, socket_create_pair, pfsockopen, putenv, pcntl_exec, pcntl_fork"


Nói chung tùy thuộc vào từng loại mã nguồn mà yêu cầu sử dụng các hàm PHP khác nhau. Nếu gặp lỗi ở đâu thì ta có thể dựa vào lỗi php đó để enable thêm các functions cần thiết cho mã nguồn đó :)

Sau đó lưu lại và khởi động lại apache, lúc này server của bạn đã được an toàn hơn.
Hình đại diện của thành viên
nghiammo1992
☀️2/30☀️
☀️2/30☀️
 
Bài viết: 15
Ngày tham gia: 08/03/2012 10:56
Đến từ: Hà Giang
Thiết bị: Nokia N96
Số điện thoại: 0367790762

Re: [Bảo mật server] Tắt các hàm nguy hiểm trong PHP

Gửi bàigửi bởi Vipvip » 29/01/2014 14:59

Còn chống ddos thì làm sao?
Kí làm quái gì!
Hình đại diện của thành viên
Vipvip
☀️13/30☀️
☀️13/30☀️
 
Bài viết: 2440
Ngày tham gia: 08/10/2012 22:51
Đến từ: Lâm Đồng
Số điện thoại: 01234567890



Quay về VPS - Server

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất

Ai đang trực tuyến?

Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến2 khách