PDA

View Full Version : Hạn chế localattack



lehoangminhcuong
06-09-2009, 07:14 PM
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

duchienan
06-09-2009, 11:23 PM
bài viết khá hay. hãy sưu tầm những bài hay thế này rồi post nhé

hackerkinhcan_lha
07-09-2009, 08:33 AM
Hi ngoài ra theo mình bạn cũng nên thử up shell lên rồi test thử như 1 hacker đang xâm nhập coi đc không

Host mà để Safe Mode Off thì mình phải CHMOD cho cẩn thận ko để bị đọc file
Safe Mode mà On thì phải coi host cấu hình ổn chưa, by pass đc không ,qua bug hay qua SQL và thông báo cho chủ host để họ update.
Rồi nên mã hóa bằng Zend ,đổi đc biến nếu bạn có thể vì họ chỉ cần biết tên biến và họ include tệp mã hóa và echo biến thì mã hóa cũng bằng thừa ^^
Nói chung là nên trao đổi kinh nghiệm với các bác trong nghề

Tuxedo
07-09-2009, 11:44 AM
tốt nhất là chmod 400 với file config, folder nên chmod 701 tại thư mục chứ file config ngoài việc đã chmod 701 thì nên đặt thêm 1 file .htacess để khóa folder đó lại :)

lehoangminhcuong
11-09-2009, 04:28 PM
cái này chịu thôi mình thấy bài này mình sưu tầm cho anh em có ý kiến mình nhận

yeuhaiduong
20-09-2009, 10:21 AM
chống attack ddos thì sử dụng firewall c0àn localattack thì sử dụng .htaccess và chmod , mình phải ghi nhớ đìu này , mình gà mừ .

lamdpcm
15-01-2013, 12:12 PM
khá hay, lượm lặc được 1 số thứ :)

thichit
09-08-2013, 02:06 PM
Cái này hay nà, bữa giờ site của mình hình như bị cài shell nên mấy thông tin đặt hàng của site không còn gửi về email chính của mình.

roadvn14
21-03-2014, 11:42 AM
CPU bị Limit có phải do DDos không các mem

Cơn Gió
04-04-2014, 10:51 AM
gần như có thể là thế ,dễ có khả năng bị ddos

huy89_fpt
08-05-2014, 08:41 PM
làm sao dẹp vấn đề này bằng mọi cách vì ddos mà web mình sập hoài

vohinhgiuathegioiit
13-06-2014, 01:31 PM
Mình nghĩ là bị localattack hay không do config ở server chứ không đơn thuẩn là chmod ở code của mình là được. Mình để ý thấy Cpanel nó chạy Suphp nên nó chống local tốt hơn directadmin. Bạn nào cho mình hỏi thêm là server mình chạy directadmin config php chạy suphp + cài thêm modsecurity 2 và suhoin php. Mọi thứ chạy tốt nhưng riêng truy cập vào webmail là báo flag suhoin. Bạn nào biết chỉ mình fix lỗi đó. thank