Apache suEXEC là gì?
suEXEC
là tính năng của Apache Server, nó cung cấp khả năng chạy CGI dưới một user
khác với user
đang chạy Apache HTPD. Bình thường thì CGI chạy, nó chạy dưới user cùng với user chạy web server
Khi sử dụng tính năng này mục đích để gán user cho những VirtualHost khác nhau, khi được config đúng nó tăng khả năng bảo mật, tuy nhiên nếu không cẩn thận sẽ dẫn tới những lỗ hổng bảo mật khác.
Bạn cần thiết lập chmode
các file phù hợp và quản lý user chặt chẽ, nếu không nên bỏ qua việc sử dụng suEXEC
Vị trí lưu suExec
# httpd -V | grep SUEXEC
-D SUEXEC_BIN="/usr/sbin/suexec"
Hủy sử dụng suExec
Xác định được nơi lưu binary của suEXEC bạn chỉ việc xóa nó hoặc đổi tên, rồi khởi động lại Apache HTTPD là xong
# /usr/sbin/suexec /usr/sbin/suexec.backup # service httpd restart
Sử dụng suEXEC
suEXEC
được sử dụng trên nhưng VirtualHost, việc của bạn là gán user và usergoup trong thiết lập VirtualHost đó. Ví dụ ở host sau, khi chạy CGI (cũng là PHP chạy với FastCGI, PHP-FPM xem phần
Apache Handler) nó sẽ chạy với user là abc và group là xyz
<VirtualHost 123.123.123.123:80> .... SuexecUserGroup abc xyz .... </VirtualHost>
Tóm lại:
suEXEC
dùng khi chạy CGI, chạy PHP với Handler là FastCGI , PHP-FPM nếu không thì tắt suEXEC đisuEXEC
được gọi có gánSuexecUserGroup
ở VirtualHost