Hạn chế localattack

Mình viết bài này với mong muốn chia sẻ kiến thức, hiểu biết cá nhân. 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.

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

  

PHP Code:

  

            /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ự:

  

Quote:

            

               + CHMOD
+ Change pathe 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:

  

Quote:

            

               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ụ:

  

PHP Code:

  

            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ụ:

  

PHP Code:

  

            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

  

PHP Code:

  

            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 pathe 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)
+ Mã hóa config mới

Nội dung .htaccess (lưu ý đặt chung thư mục với file config mới)

  

PHP Code:

  

            <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 Code:

  

            <?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:

  

Quote:

            

               + 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é

Một phản hồi to “Hạn chế localattack”


Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: