13mẹobảomậttốthơnchoJoomlaCMS
Quản Trị Mạng - Với sự phổ biến mạnh của Joomla hiện nay thì không có gì bất ngờ
nếu nhiều hacker lấy nó làm mục tiêu chính. Tuy nhiên, bạn không cần lo lắng. Có
một số việc bạn có thể làm để tăng cường bảomậtcho website của mình, bài viết n
ày
sẽ đưa ra các giải pháp đó.
Joomla phát triển phổ biến như là một CMS mã nguồn mở, nó ngày càng được nhiều cá
nhân và doanh nghiệp sử dụng làm nền tảng cho các sản phẩm và dịch vụ trực tuyến của
họ. Trên thực tế, hơn 2.5% các trang web chạy JoomlaCMS - đây là mục tiêu tốt để
hacker tấn công.
Joomla miễn phí và có tận hơn 8.600 cài đặt mở rộng (extension) cho phép làm được hầu
hết những gì bạn muốn trên CMS. Thêm vào đó là một cộng đồng phát triển mạnh mẽ
càng giúp bạn thấy rằng đây là một sản phẩm hấp dẫn và cũng hấp dẫn cả các hacker. Vì
lý do đó, bạn cần thực hiện một vài việc khi sử dụng nền tảng này để ngăn chặn các cuộc
tấn công và tăng cường bảomậtchoCMS của mình.
Cơ sở hạ tầng cài đặt nền tảng này chỉ là một trong các điểm yếu của hệ thống, phần lớn
vấn đề bảomật của nó liên quan tới mã code của Joomla. Hầu hết các vấn đề đều phát
sinh từ phiên bản cũ, không được cập nhật bản vá thường xuyên hoặc đôi khi l
à do các cài
đặt mở rộng (extension) của bên thứ ba.
1. Máy chủ và Host
Không có quyết định nào quan trọng bằng việc lựa chọn máy chủ hay host phù h
ợp. Nhiều
vấn đề có thể phát sinh do máy chủ/host chưa được cập nhật bản vá, một số cổng còn mở
hoặc bảomật lưu trữ chia sẻ kém. Ngay kể cả khi máy chủ đã được thiết lập đúng cách
nhưng hệ thống vẫn có thể bị tấn công do một website khác lưu trữ cùng trên máy chủ đó
có độ an toàn kém. Nếu bạn đang sử dụng một host kém hãy suy nghĩ tới vấn đề đổi nhà
cung cấp hoặc tốt nhất là thay hẳn bằng một máy chủ riêng biệt để không gặp các vấn đề
về bảomật chia sẻ.
Hiện nay có một số nhà cung cấp Hosting nổi tiếng và khá an toàn như Brinkster hay
Godaddy.
Lưu trữ trang web của bạn trên một máy chủ chạy PHP 5.2 hoặc tốthơn trong ch
ế độ CGI
với Su_PHP. Su_PHP về cơ bản là cho phép việc thực thi kịch bản dưới một tài khoản
người dùng cụ thể, trái ngược với tài khoản mặc định của Apache. Điều này giúp bạn dễ
dàng xác định và theo dõi các phạm vi bảo mật.
Đảm bảo rằng bạn đang sử dụng phiên bản Apache mới nhất và cấu hình Apache không
cho phép duyệt web/lập chỉ mục (browsing/indexing). Các quản lý CNTT cũng cần phải
đảm bảo có các thiết lập thích hợp cho vị trí lưu trữ file .htaccess, serverconfig và php.ini.
2. Kích hoạt và sử dụng file htaccess
Theo mặc định, các tập tin htaccess không được sử dụng. Hãy chắc chắn rằng bạn đổi tên
nó từ .htaccess.txt sang .htaccess, sau đó nó cần phải được đặt trong thư mục gốc của
website. Bạn cũng có thể thêm một số quy tắc rewrite cho nó để ngăn chặn khả năng bị
khai thác. Bạn có thể tìm thấy hướng dẫn chỉnh sửa các tập tin htaccess tại đây. Điều này
sẽ thêm được một lớp bảo vệ bổ xung cho hệ thống.
3. Sử dụng các tài khoản và Permission
Joomla hoạt động tốt ngay từ đầu sau khi cài đặt đúng cách lên máy ch
ủ. Bạn cần thiết lập
toàn bộ các file CHMOD sang 644 và các thư mục sang 755. Có một số ngoại lệ cho quy
tắc này như file configuration.php sẽ chuyển CHMOD sang 640. Phải đảm bảo là không
có gì được thiết lập sang tới 777.
Tên tài khoản quản trị mặc định thường là "admin", bạn phải thay đổi ngay tên tài khoản
này. Nó sẽ làm cho hacker khó khăn hơn một chút trong việc tìm kiếm chi tiết tên tài
khoản.
4. Sao lưu và xử lý sự cố
Hãy dành thời gian để xem xét đến một kế hoạch xử lý sự cố trước chứ không phải sau
khi website của bạn bị hacker ghé thăm. 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.
5. Quản lý cẩn thận các cài đặt mở rộng (extension)
Phần mở rộng của bên thứ ba chính là thứ khiến Joomla trở nên cực kỳ phổ biến, nhưng
nó cũng nhiều lần là con đường để đi vào website của bạn. Mỗi phần mở rộng khác nhau
là một đối tượng mà bạn cần cập nhật các bản vá một cách thường xuyên. Đây c
ũng chính
là lý do mà bạn cần xem xét chỉ cài đặt những mở rộng thực sự cần thiết. Bạn nên chắc
chắn thực hiện các bước sau:
Thực hiện code review cho bất kỳ phần mở rộng nào sử dụng.
Chạy một bộ kiểm tra (có rất nhiều trên mạng) và xem xét lại kết quả.
Cập nhật và vá lỗi cho phần mở rộng khi cần thiết.
Hãy nhớ rằng, một phần mở rộng không an toàn có thể gây hại cho toàn bộ website của
bạn.
6. Xóa bỏ số phiên bản của cài đặt mở rộng
Thông thường, các khai thác thường cụ thể hóa cho một phiên bản nào đó của phần mở
rộng, đó là lý do tại sao bạn nên xóa bỏ các thông tin về số phiên bản của bất kỳ phần mở
rộng nào được cài đặt. Loại bỏ số phiên bản có thể ngăn chặn một cuộc tấn công trư
ớc khi
nó xảy ra.
Bạn có thể chỉnh sửa phần mở rộng để nó chỉ hiện thị tên bằng cách sử dụng một công cụ
như Dreamweaver. Thực hiện tìm kiếm global và thay thế toàn bộ các thông tin cần thiết
trong thư mục chứa các file mở rộng.
7. Gỡ bỏ các tập tin không sử dụng
Bạn cài đặt thử rất nhiều phần mở rộng nhưng không sử dụng đến nó? Đây không chỉ là
một điểm yếu mà còn gây rác cho máy chủ của bạn. Hãy xóa bỏ chúng hoàn toàn để tránh
phiền phức có thể xảy ra.
8. Bảo vệ mật khẩu
Các cuộc tấn công phổ biến thường nhắm mục tiêu vào mật khẩu yếu. Hãy lập một thói
quen tốt: Thường xuyên thay đổi mật khẩu và nó phải đảm bảo đủ 4 yếu tố: chữ hoa,
chữ thường, ký tự đặc biệt và số.
Cơ sở dữ liệu (CSDL) của bạn rất quan trọng. Một tấn công SQL injection hay bất kỳ loại
tấn công nào khác vào CSDL cũng có thể khiến công sức cả tháng trời của bạn tan biến.
Hãy chắc chắn rằng truy cập CSDL của bạn là mật khẩu bảo vệ ở mức MySQL. Hãy thử
sử dụng các công cụ như Nikto hoặc Nmap để quét hệ thống, tìm kiếm các khai thác mở
và điểm yếu.
Mật khẩu bảo vệ ở phần quản trị Joomla là ở cấp độ thư mục. Mật khẩu này cho thêm m
ột
lớp bảomật bổ xung. Nó thường là tên người dùng và các mật khẩu khác nhau.
9. Thay đổi Prefix bảng mặc định
Phần lớn các tấn công SQL injection thường cố gắng truy cập vào bảng CSDL jos_users.
Một khi tin tặc có thể truy cập tập tin này thì họ có được tên tất cả người dùng và mật
khẩu tương ứng - bao gồm cả quản trị viên cấp cao. Sử dụng một tên ngắn, ngẫu nhiên để
thay thế tên mặc định này giúp ngăn chặn phần lớn các cuộc tấn công CSDL.
N
ếu đang dùng Joomla 1.5, bạn có thể sử dụng các thành phần quản trị DB để thực hiện
điều này. Nếu đang sử dụng bản 1.6 và không thực hiện thay đổi trong quá trình cài đặt,
quá tình này vẫn có thể thực hiện nhưng nó phức tạp hơn một chút.
Trong các phiên bản khác của Joomla, bao gồm cả 1.7, tên bảng ngẫu nhiên được sử dụng
trong suốt quá trình cài đặt để chống lại các loại tấn công này.
10. Sử dụng chứng nhận SSL
Sử dụng SSL trên website của bạn cho tất cả các đăng nhập thành viên. Lưu ý là bạn phải
có một giấy chứng nhận đúng cấu hình SSL cho tên miền trang web của bạn (chia sẻ
chứng nhận SSL sẽ không làm việc).
11. Tắt Joomla FTP Layer
Vô hiệu hóa FTP Layer của Joomla và đảm bảo nó không lưu thông tin đăng nhập của
bạn.
12. Tắt Register_globals
Tắt Register_globals, nhưng bạn phải biết rằng việc này có thể gây vô hiệu hóa một số
kịch bản làm việc của PHP, và có thể ảnh hưởng đến các chương trình khác mà website
của bạn đang sử dụng. Để làm điều này, chỉ cần chỉnh sửa file php.ini của website trong
thư mục gốc của tên miền.
13. URL thân thiện cho công cụ tìm kiếm
Luôn luôn sử dụng URL thân thiện với công cụ tìm kiếm. Điều này không chỉ giúp thứ
hạng Google của website cải thiện mà còn ngăn chặn hacker khai thác sử dụng kết quả t
ìm
kiếm của Google.
. 13 mẹo bảo mật tốt hơn cho Joomla CMS
Quản Trị Mạng - Với sự phổ biến mạnh của Joomla hiện nay thì không có gì bất. tảng cho các sản phẩm và dịch vụ trực tuyến của
họ. Trên thực tế, hơn 2.5% các trang web chạy Joomla CMS - đây là mục tiêu tốt để
hacker tấn công.
Joomla