Bài này em sưu tầm chứ em là newbee cũng đang cần phải học hỏi nhìu em gửi bài này với mong muốn chia sẻ kiến thức cho các newbee như em. Bác nào pro đừng chê, ai có ý kiến gì xin post tại đây để mọi người thảo luận.
Chủ đề: hạn chế localattack.
Về localattack, mình chỉ có thể nói được điều này. Tấn công thông thường bằng cách run webshell bắt nó truy vấn.
Để tiến hành localattack, attacker sẽ dò username của bạn trước, rồi sẽ run shell
/home/abc/public_html/
Với abc là username, khi mua host người ta cấp cho.
Một câu hỏi được đặt ra là làm cách nào để cho attacker local không thành công? Và cho dù local thành công cũng không làm được gì?
Mình liệt kê các bước phòng ngự:
+ CHMOD
+ Change path config
+ …
Đã có rất nhiều bài viết về vấn đề này, nhưng đứng trước phương diện webmaster thì bạn phải làm sao?
Đầu tiên mình sẽ CHMOD cho site cẩn thận cái đã. CHMOD bằng cách:
+ CHMOD thư mục public_html thành 710
+ CHMOD tiếp các thư mục con (forum của bạn chẳng hạn), CHMOD thư mục forum thành 701, rồi CHMOD tiếp các thư mục con trong thư mục forum thành 701
+ CHMOD toàn bộ file thành 404
Đó là bước dạo đầu thôi, và nó mang ý nghĩa gì?
Với CHMOD chắc chắn khi run shell sẽ hiện ra thông báo lỗi:
Not Acceptable
An appropriate representation of the requested resource /test.php could not be found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Attacker sẽ không view được.
Ngoài ra xin nói thêm, có bạn nào đặt câu hỏi tại sao khi vào 1 số site thì bạn truy cập bằng subdomain của nó mà không là dạng site.com/forum, cái này có nhiều ý nghĩa, nhưng trong bảo mật thì nó sẽ rất khác.
Nói về local attacker sẽ dễ dàng đoán được path file config.php. Ví dụ:
site.com/forum/includes/config.php
Như vậy khi có webshell, attacker sẽ run đường dẫn trên là xong. Còn đối với việc xài subdomain, bạn có thể phòng ngự bằng cách tạo nhiều thư mục chồng vào nhau. Ví dụ:
site.com/m/r/n/2/forum/includes/config.php
Như vậy khi attacker có webshell sẽ khó khăn trong việc đoán đường dẫn thật của forum của bạn. Xong xuôi, bạn cấu hình domain của bạn với forum.site.com và trỏ tới đường dẫn trên.
Chú ý CHMOD mỗi lớp thư mục là 701, up lên file index.html với nội dung rỗng để che không cho thấy nội dung trong thư mục.
Mình đọc thì có 1 số bài viết hướng dẫn chuyển file config.php ra chỗ khác, đổi tên và CHMOD cho nó. Việc này chỉ là hạn chế thôi, và làm cho quá trình attack diễn ra lâu thêm.
Để change path config.php bạn mở file class_core.php trong thư mục includes. Tìm dòng thứ 2533. Sửa
include(CWD . '/includes/config.php');
thành đường dẫn config.php mới.
Đây cũng là mấu chốt khi local attack, cho dù bạn change thế nào thì attacker sẽ view class_core.php lên và xem thư mục chứa config.php và như vậy thì đâu có gì phải mà dấu diếm nữa.
Câu hỏi đặt ra là làm cách nào, để hạn chế việc xem này?
+ Mã hóa class_core.php
+ Change path config.php ra chỗ khác, CHMOD lại (tốt nhất là CHMOD thư mục chứa file config mới thành 101 ; bản thân config mới thành 404 ; thêm file .htaccess vào để hạn chế truy cập) (host nhà ta là host window ko đọc được file .htaccess)
+ Mã hóa config mới
Cái này là cho bác nào dùng host linux
Nội dung .htaccess (lưu ý đặt chung thư mục với file config mới)
<Files "newconfig.php">
Order Allow,Deny
Deny from All
</Files>
Xong xuôi CHMOD lại.
Nhưng change path config mới đi đâu là an toàn?
Có ai chú ý đến mấy cái thư mục như là public_html ; public_ftp ; www … không?
Mình sẽ đặt config thật sự tại đây tại đây.
Việc CHMOD config mới bên trên nhằm để include config thật sự đi chỗ khác:
<?php include('/home/abc/config/config.php'); ?>
abc: username lúc bạn mua host nó cấp
config : thư mục đặt ngang hàng public_html ; public_ftp ; www …
Chú ý CHMOD toàn bộ lại (CHMOD thư mục config thành 101)
Đây là cách đi đường vòng, tùm lum chỗ khiến attacker mau mản. Đúc kết lại những điểm quan trọng:
+ Change path config
+ CHMOD
+ Mã hóa config
Việc mã hóa rất quan trọng vì dù có view được config, attacker sẽ mất thời gian ngồi giải mã, có khi là giải không được. Và bạn có thể yên tâm về tính an toàn của nó.
Server config thế nào cũng quan trọng lắm, vì vậy trước khi mua host nên tham khảo trước nhé
Sưu tầm
Bookmarks