CHMOD an toàn - Bảo vệ 1 phần tránh local attack
Hiện nay có rất nhiều diễn đàn bị Local Attack và dẫn đến hiện tượng down forum rất nhiều . Bài hướng dẫn này không hoàn toàn có thể giúp các bạn chống được Local Attack mà chỉ hạn chế được phần nào. Nguyên nhân bị Local do những sai lầm chết người của các Admin, ngay cả VNMagic cũng mắc sai lầm rất đáng trách . - CHMOD sai, Forum của VNMagic CHMOD file conf_global.
khong chap nhan php là 666 do đó dễ dàng bị Edit file và lỗi này được TQN khai thác liên tục mà Kingasawa không hề sửa đổi . Bản thân thư mục CHMOD la 755 do đó trên Server Linux, Config ko kỹ thì toàn bộ cấu trúc Folder và nội dung File đều có thể View được.
- Cấu trúc Forum ko có nhiều sửa đổi so với bản gốc nên attacker có thể dễ dành đoán biết vị trí các file quan trọng cần để lấy thông tin .
- Các thông tin quan trọng không hề được mã hóa .(cái này thì hạn chế một chút )
- Các thông tin quan trọng và các Action can thiệp đến CSDL ko được bảo vệ bởi các firewall Thực ra Local Attack có thể làm được rất nhiều thứ nguy hiểm hơn và khả năng chống cự là không thể nếu như bạn ko Zendcode và không có một Server tốt (có thể chống được Remview, CGI Telnet==> đây là hai công cụ Local rất tốt, chưa kể đến SSH Local nếu có Shell) Do đây là bài viết về bảo mật vả lại cũng ko muốn phổ biến kỹ thuật Hack nguy hiểm này nên tôi chỉ trình bày sơ qua các nguyên nhân dẫn đến tình trạng bị Local Attack rất phổ biến hiện nay ở VN .
Từ các phân tích trên có một số khuyến nghị tôi xin đưa ra để mọi người khắc phục :
- Mã hóa thông tin, các bạn có thể mã hóa thông tin lại và việc này sẽ vô hiệu hóa được việc các thông tin quan trọng của bạn bị đánh cắp .
- Tôi sẽ cho các bạn download Zendcode miễn phí của Matrix, có đầy đủ License, các bạn Load tại đây nhé : http://www.matrix2kol.net/download/
- CHMOD cho đúng, các bước sau đây rất quan trọng để bạn chống Local nên đề nghị các bạn chú ý thực hiện cho đúng :
+ CHMOD thư mục Public_html thành 710 thay vì 750 mặc định việc này sẽ giúp bạn bảo vệ được cấu trúc Website của mình.
+ CHMOD thư mục là 701 và cố gắng đừng bao giờ CHMOD 777, có một số folder ko quan trọng, bạn có thể CHMOD 755 để có thể hiện thị đúng và đầy đủ một số nội dung trong Folder đó .
Chú ý thế này, một số Server hỗ trợ CHMOD thư mục được 101, nếu Server của bạn hỗ trợ cái này thì hãy sử dụng nó, vì biện pháp CHMOD này rất an toàn, đến ngay cả Owner cũng ko thể xem được cấu trúc Folder ngay cả khi vào FTP. Hiện tôi chỉ thấy có Server của Eshockhost.net là hỗ trợ cái này
+ CHMOD File là 604 và nhớ rằng đừng bao giờ để là 666 nếu có việc cần 666 thì bạn CHMOD tạm để sử dụng lúc đó, sau đó hãy CHMOD lại ngay. Đối với các Server hỗ trợ CHMOD file 404 bạn hãy CHMOD như vậy, ví dụ Server Eshockhost.net
- Thay đổi cấu trúc, tên file mặc định có chứa các thông tin quan trọng . Nếu có thể hãy thay đổi cả cấu trúc CSDL nếu bạn làm được .
- Thiết lập các tường lửa truy cập Admin mà ko sử dụng đến CSDL, mã hóa User/Pass thì càng tốt, ngoài ra có hệ thống kiểm tra tác vụ của MOD, Admin ... nếu quyền hạn xác nhận mới được thực hiện (cái này Matrix sử dụng rất thành công) .
Trên đây là hướng dẫn từng bước giúp các bạn cố gắng chống Local attack, dù sao đây cũng chỉ là hướng dẫn cơ bản, trong quá trình thực hiện, các bạn nên linh động hơn một chút, nếu có thêm ý tưởng gì mới thì hãy cùng nhau thảo luận tại đây.
SAU ĐÂY LÀ THÊM 1 BÀI VIẾT SHARE KINH NGHIỆM HẠN CHẾ BỊ LOCAL ATTACK KHÁ HIỆU QUẢ CHO FORUM CÁC BÁC THAM KHẢO
---Thường xuyên backup dữ liệu (giảm thiệt hại khi bị drop database)
---Bỏ quyền DROP database của user
---đặt safemode on và disable 1 số hàm nguy hiểm = cách tạo file php.ini với nội dung sau
Mã:
safe-mode = on
display_errors = Off
disable_functions = passthru, system, shell_exec, exec, dir, readfile, virtual,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen
proc_terminate
log_errors = On
Rồi up lên thư mục public_html,sau đó cmod thành 444
---Đổi tên,đặt pass cho thư mục admincp:
Đổi tên admincp và nhưng đừng sửa lại trong file config.php tên mới nhé,ví dụ là !!!!aaaad@.Thay vào đó,bạn làm như sau:tạo 1 thư mục khác,lấy tên là "admincp" ,sau đó copy toàn bộ file trong thư mục "!!!!aaaad@" qua thư mục này,sau đó,mở từng file 1 ra,sửa lung tung lên(cốt để cho file đấy ko chạy đc),nhưng đừng sửa file index.php là đc.
Sau đó vào cpanel,đặt pass cho thư mục "!!!!aaaad@" và thư mục "admincp"
Giải thích qua về tác dụng của việc này:Bạn tưởng tượng,nếu như hacker biết đc pass admin,muốn vào admincp thì chắc chắn sẽ vào http://4rumcuaban.com/forum/admincp ,sau đó sẽ phải tìm cách vượt qua pass protect,nếu có vượt qua đc,đăng nhập vào thì cũng chả làm đc gì(bởi vì tất cả các file trong thư mục "admincp" ta đã sửa lung tung,chạy = niềm tin )
---Di chuyển vị trí file config.php:
Việc này là 1 việc rất quan trọng,vì giả sử hacker có up shell lên đc thì cũng phải có user và pass thì mới connect đc đến database.Bạn làm như sau:
----B1: zend file config.php lại,đổi tên thành 1 file khác,chẳng hạn a.php,rồi chuyển vào 1 thư mục nào đó ngoài thư mục public_html là đc.VD:
----B2: tạo 1 file khác tên là config.php với nội dung sau:VD:
Mã:
Bạn nhớ thay /home/lyamsinf/php/config.php = đường dẫn đến file a.php của bạn.Sau đó tiếp tục zend file này lại.
----B3: Tiếp tục di chuyển file "config.php"(file trong thư mục includes ấy nhé)đến 1 vị trí khác(dĩ nhiên là ngoài thư mục public_html)
Mở file "class_core.php" trong thư mục "includes",sửa lại đường dẫn đến file "config.php".Làm tương tự với file "diagnostic.php" trong thư mục "!!!!aaaad@"(thư mục admincp mà bạn đã đổi tên đó).Rồi zend 2 file "diagnostic.php" và "class_core.php".
Sau đó nhớ vào thư mục includes,tạo 1 file config.php "giả",điền bậy bạ thông tin user,pass đăng nhập database lại và cũng zend lại nốt!
Thế là ta đã giấu file config.php thật 1 cách khá kĩ đó,hacker sẽ khá nản khi muốn mò đc file config.php thật!Như vây là tạm thời yên tâm về thông tin đăng nhập database ko bị mất nữa!
---CHMOD:
CHMOD thư mục root thành 701,nếu 4rum ko hiện đầy đủ chức năng thì CHMOD thành 755




