Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 18-09-2009, 04:47 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Bảo mật Forum
Bảo mật Forum

1. Điểm căn bản nhất cần nắm về một forum đó là một môi trường cho phép thành viên gởi thông tin và chia sẻ thông tin (thông tin có thể là text, hình ảnh, software...).
Forum cung cấp càng nhiều phương tiện chia sẻ, càng có nhiều cơ hội bị thiếu sót. Nói một cách khác, một software càng có nhiều tính năng, càng phức tạp thì càng giảm độ bảo mật

“Việc hạn chế bớt modules không có nghĩa là Forum sẽ không hấp dẫn và không phải nhiều modules là diễn đàn sẽ trở nên hay hơn”


2. Nếu bạn rành lập trình, bạn nên chọn một forum viết bằng ngôn ngữ lập trình nào bạn thành thạo nhất (tất nhiên Forum ấy phải cho phép bạn điều chỉnh nếu muốn_ điều tôi muốn nói ở đây mà Mã nguồn mở).Nếu bạn không rành lập trình, bạn nên chọn một Forum nào được mọi người công nhận là ổn định và bảo mật nhất mà dùng (Tuy nhiên, việc theo dõi và cập nhật bản vá nhanh chóng và kịp thời là việc quan trọng nhất để duy trì tính bảo mật của nó)

"Tính bảo mật của một forum không phụ thuộc vào ngôn ngữ lập trình mà phụ thuộc vào độ quan tâm đến tính bảo mật của người thiết kế và tạo nên forum ấy"


3. Điểm quan trọng không kém để kiện toàn bảo mật cho Forum là môi trường host forum ấy (điều này không thể không nhắc đến nếu bạn dùng server bảo mật không tốt).

Nếu bạn chọn phương pháp Hosting tại chỗ, thì môi trường bảo mật của Forum cũng không kém phần quan trọng (Router, Server, Firewall, Policy...).

4. Nếu bạn có vai trò thiết kế hoặc tu chỉnh một Forum, những điều quan trọng cần lưu tâm cho bảo mật của Forum là:

Chỉ cung cấp những tính năng thật sự cần thiết cho forum và mỗi tính năng này phải được thử nghiệm, kiểm tra kỹ lưỡng.

Set permission cho Forum cũng như thành viên một cách hạn chế (chỉ cho phép những quyền tối thiểu nhất và cần thiết nhất, bạn vẫn có thể nới rộng các quyền này khi thấy phát sinh nhu cầu trong quá trình hoạt động).Bất cứ nơi đâu cho phép nhập dữ liệu (INPUT) đều phải được kiểm soát chặt chẽ để loại bỏ những thông tin mang tính dung hại.

Phân biệt và tách rời giữa dữ liệu và phương tiện cung cấp dữ liệu (ví dụ như: <script></script> là phương tiện cung cấp dữ liệu và chúng phải được kiểm soát, sử dụng đúng chỗ). Tuyệt đối loại bỏ khả năng tương tác trực tiếp đến cơ sở dữ liệu (từ asp, jsp, php....). Mọi thông tin cần gởi và nhận đến CSDL phải được một bộ phận trung gian điều tác và kiểm soát chặt chẽ.
Bộ phận trung gian mà tôi tạm gọi ở đây là "Data Abstract Layer" (tạm dịch là "Tầng gián tiếp dữ liệu"). Nó có nhiệm vụ kiểm soát, truy vấn, cập nhật, quản lý.... dữ liệu thay vì chính code chịu trách nhiệm trình bày phải trực tiếp truy vấn. Có nhiều điểm lợi khi dùng "Abstract Layer" nhưng 2 điểm quan trọng nhất là tính mở rộng và tính bảo mật

Mở rộng nằm ở chỗ coder không cần phải chăm chú đến cú pháp cụ thể của từng loại Database mà chỉ quan tâm đến tính logic và biên độ trình bày mà thôi. Code được viết xong có thể gắn vào bất cứ database nào cũng dùng được (tất nhiên là phải dùng "abstract layer" và data structure trên Database phải đâu vào đó).

Bảo mật nằm ở chỗ những câu truy vấn không nằm trên các mảnh code phục vụ tính logic và tính trình bày. Bởi thế, ngay khi có lấy được code của php thì cũng chẳng tìm ra được cấu trúc table hay bất cứ thông tin nào cụ thể về CSDL để phục vụ cho mục đích thâm nhập cả.

Xem một mớ thông tin về "Data Abstract Layer" và "Model View Controller" ở đây:

Mã:
http://www.phpbuilder.com/columns/ia...n20050906.php3
http://www.developer.com/lang/php/print.php/3605221
http://www.onlamp.com/lpt/a/6179
http://pear.php.net/package/MDB2
http://www.oracle.com/technology/pub...deployphp.html
http://adodb.sourceforge.net/
http://xaprb.com/blog/2006/08/13/fou...action-layers/


Bạn không nên dùng tài khoản admin post bài, chỉ nên dùng để điều chỉnh Forum, bạn nên đặt 2-3 lần pasword khi vào trang admin, ví dụ “domain.com/forum/admin/” và bạn nên đặt pasword bằng “htaccess” và “htpasswd” trước khi vào admin một lần nữa
Nếu site bạn có cpanel thì vào "pasword protect directory" để protect cái trang admin của bạn; nếu ko có, bạn có thể làm thủ công, nói chung cũng chẳng khó

Bước 1:

Trích dẫn:
Trích dẫn:


bạn tạo 1 file “.htpasswd” trong thư mục website của bạn ví dụ /home/username/.htpasswd. Trong file này bạn đặt user và pasword, ví dụ:
“tôi có user: nora password: nora”
nora:bmM.IhsrhkvNs
bạn hãy vào link này để tự tạo pasword cho mình
http://www.htaccesstools.com/htpasswd-generator/
sau đó chèn user và pasword mà bạn tạo được vào file htpasswd

Bước 2:

Trích dẫn:
Trích dẫn:

bạn tạo 1 file “.htaccess” trong file này có nội dung như sau và đặt file này tại domain.com/forum/admin/
AuthName “Password Protect Directory”
AuthType Basic
AuthUserFile /home/username/.htpasswd
Require valid-user
nó sẽ thành domain.com/forum/admin/.htaccess


  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 02:16 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.