Khanh Hoang - Kenn
Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.
Vấn đề bảo mật của một trang web là được đề cập rất nhiều trong giai đoạn hiện nay, các cuộc tấn công từ nhóm hacker Mũ Đen gây ra đã gây ra những tổn thất lớn lao. Thông thường các hacker tấn công các website thường với hai lý do chính đó là vì “tài chính” và “gây tiếng vang”. Chẳng hạn các hacker thường xâm nhập vào các website ngân hàng để trộm các thông tin tài khoản để từ đó chúng chiến đoạt tiền của các nạn nhân. Trong bài viết này tôi sẽ đề cập đến vấn đề bảo mật trong các website mã nguồn mở nói chung và Drupal nói riêng.
Hẳn bạn đã từng nghe những câu hỏi như web mã nguồn mở có tốt hay không, web mã nguồn mở và web tự code, cái nào tốt hơn và an toàn hơn.Trong bài viết này mình sẽ phân tích để các bạn hiểu rõ hơn về vấn đề này, đồng thời cũng sẽ đưa ra các nhóm giải pháp đảm bảo sự an toàn cho web mã nguồn mở.
Tại sao bạn nên xây dựng website mã nguồn mở ?
Lý do đầu tiên và quan trọng nhất mà chúng tôi muốn nhắc tới là "Cộng đồng sử dụng". Bạn có 1 cộng đồng cùng sử dụng, cùng phát triển, do đó hầu như bạn không phải đợi phản hồi khi gặp vấn đề, mà gần như câu trả lời "đã có ở đâu đó". Nền tảng mã nguồn mở của bạn cũng sẽ thường xuyên được cập nhật phiên bản mới với ngày càng nhiều tính năng
Lý do tiếp theo cũng không kém phần quan trọng: Do bạn không phải trả bản quyền để sử dụng nên chi phí để thiết kế 1 website mã nguồn mở sẽ thấp hơn nhiều lần so với không sử dụng mã nguồn mở
Ngoài ra, website mã nguồn mở giúp bạn dễ dàng thay đổi những "tính năng cơ bản" của website. Những tính năng này bạn có thể tìm được nhờ những người phát triển trong cộng đồng mã nguồn mở. Và việc tích hợp những tính năng được chia sẻ vào website của bạn là khá dễ dàng
Những hạn chế của các website sử dụng mã nguồn mở
Phần quản lý nội dung phức tạp, rất khó cho người mới sử dụng.
Các Hacker sẽ viếng thăm website của bạn nếu bạn không kịp thời cập nhật các bản vá lỗi (vì là mã nguồn mở nên bất kỳ lập trình viên nào cũng có thể tìm ra các lỗi khi nghiên cứu các đoạn mã của nó)
Khó nâng cấp sửa đổi tính năng hay mở rộng khi cần thiết.
Bản quyền website không còn của riêng bạn hoặc tổ chức của bạn nữa. Tất cả các mã nguồn mở đều có bản quyền riêng của nó, nếu bạn gỡ bỏ dòng bản quyền (thường ở cuối website) thì coi như bạn đã vi phạm bản quyền, nguồn gốc website không minh bạch. Nếu bạn là tổ chức có tiếng tăm mà vi phạm bản quyền như thế thì bạn có thể bị kiện bất kỳ lúc nào. Công ty thiết kế web nếu sử dụng mã nguồn mở mà làm như vậy thì ngoài vấn đề vi phạm bản quyền, còn bị cho là coi thường hoặc qua mặt khách hàng.
Tính chuyên dụng của website không đảm bảo. Do các CMS (Content Management System) mã nguồn mở đơn thuần chỉ là hệ quản trị nội dung được lập trình nhằm mục đích quản lý và xuất bản nội dung một cách chung chung để thỏa mãn cho nhiều nhu cầu khác nhau, do đó phần quản lý rất phức tạp, nó không có tính chuyên dụng vì thế không thể ứng dụng tốt cho yêu cầu công việc cụ thể của bạn. Chắc chắn bạn sẽ tốn rất nhiều thời gian để quản lý website này.
Do tính chất "mỳ ăn liền" của nó nên mã nguồn mở chỉ phù hợp dùng để phát triển tạo website cá nhân, phát triển website cho tổ chức hoặc doanh nghiệp thì không chuyên nghiệp chút nào, và rất dễ bị đánh giá thấp.
Tổng hợp cách để bảo mật website của bạn khi dùng opensource
Đây là một bước rất quan trọng. Bởi vì: tìm kiếm 1 opensource phù hợp với nhu cầu của bạn sẽ giúp bạn hài lòng với các chức năng mà bạn muốn, giúp tinh gọn source của bạn hơn. Sau đây xin gợi ý một số hướng giúp bạn dễ dàng chọn opensource:
- CMS: Joomla ( Tính năng khá đầy đủ, dễ quản trị ), Drupal ( Tính năng linh hoạt, code nhẹ, load nhanh, rất khó quản trị), Wordpress ( tính năng chủ yếu dành cho Blog, dễ quản trị ).
- Forum: MyBB, phpBB
- Elearning: Moodle
Vì bạn sử dụng opensource và một khi nhà phát hành tiến hành ra phiên bản mới thường có 2 vấn đề chính: một là phiên bản hiện tại có một số lỗi nghiêm trọng, hai là cập nhật các tính năng mới.
Với việc ra một phiên bản mới, bạn cần phải cập nhật ngay khi có thể. Nếu bạn tỉ mỉ thì có thể vào website của nhà phát hành, sau đó đọc các thông tin về phiên bản mới, lúc đó nếu bạn bận công việc thì có thể hoãn lại việc cập nhật, nếu không tôi khuyên bạn hãy cập nhật ngay.
Đừng bao giờ sử dụng mật khẩu dạng: 123456 hoặc sử dụng ngày sinh hoặc nickname của bạn hay người yêu của bạn. Điều này rất dễ bị hacker đoán ra. Việc mật khẩu quá ngắn sẽ làm cho các software dò mật khẩu dễ dàng tìm được. Hãy sử dụng mật khẩu trên 6 ký tự, bao gồm số và chữ, viết thường và viết hoa cùng các ký tự đặc biệt. Ví dụ: E@124oyukA
Từ địa chỉ email của admin mà hacker có thể truy ra các thông tin khác của bạn. Hoặc đơn giản hacker sử dụng chức năng "khôi phục mật khẩu" thường có sẵn trong website để chọc phá bạn. Điều này làm bạn bối rối trong lần đầu và cực kỳ khó chịu trong các lần sau.
Việc thêm table Prefix khi bạn cài đặt các opensource sẽ giúp hacker khó đoán ra khi cố gắng truy cập vào database của bạn.
Mật khẩu bảo vệ database cũng quan trọng không kém mật khẩu administrator của bạn. Nếu hacker có mật khẩu của database, họ sẽ dễ dàng truy cập vào database của bạn và dĩ nhiên họ có thể thay đổi cả mật khẩu administrator của bạn.
Với một số phiên bản trước và một số opensource thường không đòi hỏi bạn phải xóa thư mục installation khi cài đặt xong. Tuy nhiên, các phiên bản sau này hầu như đã có phần nhắc nhở bạn. Bạn nên xóa thư mục installation trên host sau khi cài đặt xong source.
Hãy truy cập vào trang chủ của nhà phát hành opensource và CHMOD tập tin và thư mục theo sự hướng dẫn đó. Việc CHMOD sẽ giúp bạn phân quyền rõ ràng cho từng tập tin và thư mục, từ đó các tập tin - thư mục nhạy cảm sẽ được bảo vệ. Nếu bạn CHMOD không đúng, hacker có thể lợi dụng để chèn mã độc lên các tập tin - thư mục trên website của bạn.
Tập tin .htaccess giới hạn truy cập vào các thư mục cụ thể. Bạn nên tìm hiểu thêm về .htaccess hoặc có thể gửi một yêu cầu đến người quản trị host để được tư vấn. Lưu ý là bạn đừng xóa các tập tin .htaccess nhé ;)
Để việc bảo mật được tiến hành một cách tự động - Các lập trình viên
Lập trước các phác thảo những gì sẽ xảy ra nếu bạn trở thành nạn nhân. Phải ghi nhớ: “Backup sớm và thường xuyên“. Nếu bước này thực hiện tốt thì áp lực lớn nhất khi website bị tấn công đã không còn, vì dữ liệu là quan trọng nhất thì bạn đã luôn backup rồi. Thực hiện backup hàng ngày hoặc thậm chí – nếu có thể – là hàng giờ để đảm bảo khi khôi phục lại thì website của bạn không có thời gian chết hoặc mất dữ liệu. Khi đã luôn sẵn có một bản backup rồi thì việc cần lo duy nhất khi có vấn đề xảy ra là tìm kiếm lỗ hổng trên website.
Duy Phan
Bình luận (0)
Add Comment