Kiểm tra độ an toàn trang web của bạn - Phần 1

Nếu bạn có một trang web , một diễn đàn hoặc một Blog thì một điều rất quan trọng là cần kiểm tra mức độ an ninh để ngăn chặn những kẻ xâm nhập . Trong phần này chúng ta sẽ đề cập tới những vấn đề cơ bản cho những ai đang sở hữu một trang web cần kiểm tra .

 

Để tìm những lỗ hổng trên trang web , bạn cần có một suy nghĩ như là một tin tặc : những bước nào cần làm để có thể xâm nhập trang web của bạn ?

Bước đầu tiên là thăm dò để thu thập một số thông tin cơ bản về hệ thống của bạn . Đó là những gì mà chúng ta sẽ đề cập trong bài này với tiêu chí càng miễn phí thì càng tốt .

Hãy bắt đầu từ bảng điều khiển ( Control Panel ) trang web của bạn .

Vị trí của Control Panel

Hầu hết các trang web đều có Control Panel mà ở đó bạn có thể quản lí nội dung của mình . Vấn đề chủ yếu là hầu hết những người chủ trang web để Control Panel cài đặt trong vị trí ngầm định , ví dụ http://www.yourwebsite.com/admin .

Vị trí chính xác trên có thể thay đổi phụ thuộc vào phần mềm bạn dùng . Ví dụ WordPress dùng /wp-admin, còn vBulletin dùng /admincp . Điều này rất dễ để tin tặc có thể tìm được vị trí ngầm định của Control Panel mà trang web bạn đang sử dụng .

\"hinh1\"

1. Control Panel của trang web cài đặt trên vị trí ngầm định

 

Như vậy tin tặc rất dễ để chạy một phần mềm nào đó để cố gắng thử hàng nghìn mật khẩu mỗi giờ để cố truy cập được vào Control Panel của bạn . Thật may là hầu hết những chương trình quản lí trang web đều có phần đếm số lần mật khẩu sai để ngăn chặn những phần mềm bẻ khóa này .

Vì vậy bạn nên thay đổi vị trí của Control Panel . Nên nhớ rằng bên cạnh việc đổi tên thư mục của Control Panel bạn sẽ cần phải cập nhật các tập tin cấu hình ( config.php hoặc tương tự như vậy ) với vị trí mới .

Sau khi thay đổi vị trí của Control Panel , đừng nói cho ai về việc đó và không để danh sách này ở đâu nhất là không được để trong file robots.txt .

File Robots.txt

File robots.txt ở dạng văn bản đặt ở mực mục gốc của trang web , ví dụ http://www.yourwebsite.co/robot.txt để nói cho những công cụ tìm kiếm như Google những gì cần quét và những gì không cần quét trên trang web của bạn .

Tuy nhiên một số nhà quản trị trang web đưa thêm vị trí của Control Panel vào danh sách file để những công cụ tìm kiếm không quét tới đó . Như vậy nếu như bất kì ai ở được file robots.txt có thể xem được những thư mục không dùng tới trong phần “Disallow”.

Một ví dụ thực tế trong Hình 2 . Thư mục /Comment/NewComment có trong danh sách phần “Disallow” . Đó là chỗ mà tin tặc có thể mở và xem những gì diễn ra bên trong . Mở thư mục này sẽ là thủ tục của thông tin đăng nhập như trong Hình 3 .

\"hinh2\"

2. File robots.txt

 

\"hinh3\"

3. Màn hình đăng nhập thông qua file robots.txt

Như vậy bạn không nên thêm thư mục đăng nhập của Control Panel vào trong file robot.txt .

 

Những phiên bản phần mềm

Hầu hết những chương trình quản lí trang web đều quảng cáo tên và phiên bản của nó phía dưới trang web , diễn đàn hoặc Blog của bạn . Đó là cách dễ dàng để tin tặc biết những lỗ hổng an ninh của phiên bản quản lí này , nhất là bạn lại đang chạy những phiên bản quá cũ .

\"hinh4\"

4.

Vì vậy bạn nên gỡ bỏ thông tin này sớm nhất có thể . Cách này tùy thuộc theo từng chương trình bạn sử dụng và đôi khi lại phải trả tiền để nhận được cách xử lí này .

 

Trang lỗi

Bạn phải cấu hình trang web của mình để định hướng người dùng lại trang chủ của mình hoặc hiển thị trang thông báo lỗi mỗi khi người dùng thử tải một trang không tồn tại . Hầu hết những máy chủ web đều đăng quảng cáo tên và phiên bản của mình . Khi biết tên là phiên bản của phần mềm máy chủ web thì tin tặc có thể tìm kiếm trên mạng để biết những lỗ hổng an ninh của phần mềm bạn đang dùng để có thể khai thác những lỗi đó .

Đơn giản bạn thử tải http://www.yourwebsite.com/asdasdawer , hoặc bất kì kí tự ngẫu nhiên nào phía sau tên miền trang web của bạn để xem hiển thị những gì .

Trong Hình 5 và 6 là hai ví dụ của những trang web cấu hình không đúng và dễ dàng thấy trong Hình 5 đang chạy phiên bản nginx 1.4.2 , trong Hình 6 là Apache 2.2.8 .

\"hinh5\"

5.

 

\"hinh6\"

6.

Cách để sửa vấn đề trên phụ thuộc vào phần mềm máy chủ và bạn có quyền truy cập đầy đủ tới máy chủ hay không . Nếu có quyền truy cập đầy đủ tới Webserver , bạn có thể biên soạn file httpd.conf và thêm dòng bên dưới , và khởi động lại Apache

ErrorDocument 403 http://www.yourwebsite.com .

ErrorDocument 403 http://www.yourwebsite.com

Nếu bạn không có quyền truy cập đầy đủ hãy trao đổi với công ty cung cấp dịch vụ Hosting để cấu hình điều này .

 

Hiển thị những phiên bản phần mềm máy chủ

Vì những lí do đã giải thích bên trên bạn nên vô hiệu hóa tên và phiên bản chương trình phần mềm máy chủ .

Nếu bạn đang dùng Apache , phần mềm Webserver thông dụng nhất , bạn có thể thêm lớp an ninh phụ bằng cách biên soạn file httpd.conf và thêm câu lệnh ( nhớ khởi động lại Apache )

ServerTokens Minimal

ServerSignature Off

Những lệnh trên sẽ làm cho phần mềm máy chủ không hiển thị nhận dạng của mình .

Nếu máy chủ web của bạn đang chạy chương trình máy chủ FTP ( hầu hết đều có để cho phép bạn tải file lên máy chủ ) , bạn nên kiểm tra có hay không hiển thị tên và phiên bản của nó khi thử đăng nhập . Hầu hết những máy chủ FTP sẽ cho phép bạn thay đổi việc này .

Ví dụ , thông tin ngầm định hiển thị bằng ProFTPD kiểu như “220 ProFTPD 1.3.1 Server ( Debina)” nhưng tốt hơn cả là không cung cấp những thông tin như vậy .

Tuy nhiên nếu bạn biên tập file proftpd.conf và thêm dòng lệnh hiển thị như Hình 7 , nó sẽ hiển thị chỉ là “220 FTP Server ready”

\"hinh7\"

7.

 

Thực tiễn tốt nhất

Bất cứ khi nào cài đặt hoặc nâng cấp một ứng dụng web bạn phải xóa các file cũ . Ví dụ nếu đang chạy một diễn đàn và muốn nâng cấp lên phiên bản mới nhất thì việc làm tốt nhất là sao lưu lại những file cũ và cài đặt những file mới . Ở đây chúng ta đề cập tới các file ứng dụng như file PHP , không phải những file hình ảnh và các file khác mà phải duy trì khi cài đặt . Bạn cũng sẽ phải giữ lại các file cấu hình cũ , config.php hoặc tương tự , nếu không sẽ không thể thực hiện được việc nâng cấp .

Thông thường các phiên bản mới không dùng những file cũ . Nếu còn lưu lại những bản cũ thì bạn có thể bị tin tặc lợi dụng để khai thác lỗi từ những file này .

Cũng với quan điểm như trên thì bạn nên dùng các chương trình với bản cập nhật mới nhất , đặc biệt nếu như bạn lại đang quản lí máy chủ riêng của mình . Bạn nên thường xuyên mỗi tuần một lần để xem đã có bản cập nhật mới không .

Một số nhà phát triển để chế độ tự động để nhận được thông báo qua email khi có bản cập nhật mới được phát hành . Một số ứng dụng , như WordPress , cho phép bạn kiểm tra những phiên bản mới hơn và những bản cập nhật ngay bên trong Control Panel .

Tuy nhiên tất cả những thủ thuật trên là chưa đủ nếu như bạn dùng thông tin đăng nhập và mật khẩu đơn giản . Mật khẩu nên khác với tên đăng nhập và không nên dùng mật khẩu có tên trong từ điển vì dễ bị tin tặc sử dụng từ điển để bẻ khóa . Mật khẩu nên dài ít nhất 8 kí tự và kết hợp giữa chữ cái , chữ thường và những con số , kí hiệu đặc biệt .