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ảo mật cho 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 Joomla CMS – đâ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ảo mật cho CMS 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ảo mậ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ảo mậ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ảo mậ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ốt hơ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ảo mậ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.

Theo Quantrimang








13 meo bao mat tot hon cho Joomla CMS


Voi su pho bien manh cua Joomla hien nay thi khong co gi bat ngo neu nhieu hacker lay no lam muc tieu chinh. Tuy nhien, ban khong can lo lang. Co mot so viec ban co the lam de tang cuong bao mat cho website cua minh, bai viet nay se dua ra cac giai phap do.


Joomla phat trien pho bien nhu la mot CMS ma nguon mo, no ngay cang duoc nhieu ca nhan va doanh nghiep su dung lam nen tang cho cac san pham va dich vu truc tuyen cua ho. Tren thuc te, hon 2.5% cac trang web chay Joomla CMS – day la muc tieu tot de hacker tan cong.

Joomla mien phi va co tan hon 8.600 cai dat mo rong (extension) cho phep lam duoc hau het nhung gi ban muon tren CMS. Them vao do la mot cong dong phat trien manh me cang giup ban thay rang day la mot san pham hap dan va cung hap dan ca cac hacker. Vi ly do do, ban can thuc hien mot vai viec khi su dung nen tang nay de ngan chan cac cuoc tan cong va tang cuong bao mat cho CMS cua minh.

Co so ha tang cai dat nen tang nay chi la mot trong cac diem yeu cua he thong, phan lon van de bao mat cua no lien quan toi ma code cua Joomla. Hau het cac van de deu phat sinh tu phien ban cu, khong duoc cap nhat ban va thuong xuyen hoac doi khi la do cac cai dat mo rong (extension) cua ben thu ba.

1. May chu va Host

Khong co quyet dinh nao quan trong bang viec lua chon may chu hay host phu hop. Nhieu van de co the phat sinh do may chu/host chua duoc cap nhat ban va, mot so cong con mo hoac bao mat luu tru chia se kem. Ngay ke ca khi may chu da duoc thiet lap dung cach nhung he thong van co the bi tan cong do mot website khac luu tru cung tren may chu do co do an toan kem. Neu ban dang su dung mot host kem hay suy nghi toi van de doi nha cung cap hoac tot nhat la thay han bang mot may chu rieng biet de khong gap cac van de ve bao mat chia se.

Hien nay co mot so nha cung cap Hosting noi tieng va kha an toan nhu Brinkster hay Godaddy.

Luu tru trang web cua ban tren mot may chu chay PHP 5.2 hoac tot hon trong che do CGI voi Su_PHP. Su_PHP ve co ban la cho phep viec thuc thi kich ban duoi mot tai khoan nguoi dung cu the, trai nguoc voi tai khoan mac dinh cua Apache. Dieu nay giup ban de dang xac dinh va theo doi cac pham vi bao mat.

Dam bao rang ban dang su dung phien ban Apache moi nhat va cau hinh Apache khong cho phep duyet web/lap chi muc (browsing/indexing). Cac quan ly CNTT cung can phai dam bao co cac thiet lap thich hop cho vi tri luu tru file .htaccess, serverconfig va php.ini.

2. Kich hoat va su dung file htaccess

Theo mac dinh, cac tap tin htaccess khong duoc su dung. Hay chac chan rang ban doi ten no tu .htaccess.txt sang .htaccess, sau do no can phai duoc dat trong thu muc goc cua website. Ban cung co the them mot so quy tac rewrite cho no de ngan chan kha nang bi khai thac. Ban co the tim thay huong dan chinh sua cac tap tin htaccess tai day. Dieu nay se them duoc mot lop bao ve bo xung cho he thong.

3. Su dung cac tai khoan va Permission

Joomla hoat dong tot ngay tu dau sau khi cai dat dung cach len may chu. Ban can thiet lap toan bo cac file CHMOD sang 644 va cac thu muc sang 755. Co mot so ngoai le cho quy tac nay nhu file configuration.php se chuyen CHMOD sang 640. Phai dam bao la khong co gi duoc thiet lap sang toi 777.

Ten tai khoan quan tri mac dinh thuong la “admin”, ban phai thay doi ngay ten tai khoan nay. No se lam cho hacker kho khan hon mot chut trong viec tim kiem chi tiet ten tai khoan.

4. Sao luu va xu ly su co

Hay danh thoi gian de xem xet den mot ke hoach xu ly su co truoc chu khong phai sau khi website cua ban bi hacker ghe tham. Lap truoc cac phac thao nhung gi se xay ra neu ban tro thanh nan nhan. Phai ghi nho: “Backup som va thuong xuyen”. Neu buoc nay thuc hien tot thi ap luc lon nhat khi website bi tan cong da khong con, vi du lieu la quan trong nhat thi ban da luon backup roi. Thuc hien backup hang ngay hoac tham chi – neu co the – la hang gio de dam bao khi khoi phuc lai thi website cua ban khong co thoi gian chet hoac mat du lieu. Khi da luon san co mot ban backup roi thi viec can lo duy nhat khi co van de xay ra la tim kiem lo hong tren website.

5. Quan ly can than cac cai dat mo rong (extension)

Phan mo rong cua ben thu ba chinh la thu khien Joomla tro nen cuc ky pho bien, nhung no cung nhieu lan la con duong de di vao website cua ban. Moi phan mo rong khac nhau la mot doi tuong ma ban can cap nhat cac ban va mot cach thuong xuyen. Day cung chinh la ly do ma ban can xem xet chi cai dat nhung mo rong thuc su can thiet. Ban nen chac chan thuc hien cac buoc sau:

Thuc hien code review cho bat ky phan mo rong nao su dung.
Chay mot bo kiem tra (co rat nhieu tren mang) va xem xet lai ket qua.
Cap nhat va va loi cho phan mo rong khi can thiet.

Hay nho rang, mot phan mo rong khong an toan co the gay hai cho toan bo website cua ban.

6. Xoa bo so phien ban cua cai dat mo rong

Thong thuong, cac khai thac thuong cu the hoa cho mot phien ban nao do cua phan mo rong, do la ly do tai sao ban nen xoa bo cac thong tin ve so phien ban cua bat ky phan mo rong nao duoc cai dat. Loai bo so phien ban co the ngan chan mot cuoc tan cong truoc khi no xay ra.

Ban co the chinh sua phan mo rong de no chi hien thi ten bang cach su dung mot cong cu nhu Dreamweaver. Thuc hien tim kiem global va thay the toan bo cac thong tin can thiet trong thu muc chua cac file mo rong.

7. Go bo cac tap tin khong su dung

Ban cai dat thu rat nhieu phan mo rong nhung khong su dung den no? Day khong chi la mot diem yeu ma con gay rac cho may chu cua ban. Hay xoa bo chung hoan toan de tranh phien phuc co the xay ra.

8. Bao ve mat khau

Cac cuoc tan cong pho bien thuong nham muc tieu vao mat khau yeu. Hay lap mot thoi quen tot: Thuong xuyen thay doi mat khau va no phai dam bao du 4 yeu to: chu hoa, chu thuong, ky tu dac biet va so.

Co so du lieu (CSDL) cua ban rat quan trong. Mot tan cong SQL injection hay bat ky loai tan cong nao khac vao CSDL cung co the khien cong suc ca thang troi cua ban tan bien. Hay chac chan rang truy cap CSDL cua ban la mat khau bao ve o muc MySQL. Hay thu su dung cac cong cu nhu Nikto hoac Nmap de quet he thong, tim kiem cac khai thac mo va diem yeu.

Mat khau bao ve o phan quan tri Joomla la o cap do thu muc. Mat khau nay cho them mot lop bao mat bo xung. No thuong la ten nguoi dung va cac mat khau khac nhau.

9. Thay doi Prefix bang mac dinh

Phan lon cac tan cong SQL injection thuong co gang truy cap vao bang CSDL jos_users. Mot khi tin tac co the truy cap tap tin nay thi ho co duoc ten tat ca nguoi dung va mat khau tuong ung – bao gom ca quan tri vien cap cao. Su dung mot ten ngan, ngau nhien de thay the ten mac dinh nay giup ngan chan phan lon cac cuoc tan cong CSDL.

Neu dang dung Joomla 1.5, ban co the su dung cac thanh phan quan tri DB de thuc hien dieu nay. Neu dang su dung ban 1.6 va khong thuc hien thay doi trong qua trinh cai dat, qua tinh nay van co the thuc hien nhung no phuc tap hon mot chut.

Trong cac phien ban khac cua Joomla, bao gom ca 1.7, ten bang ngau nhien duoc su dung trong suot qua trinh cai dat de chong lai cac loai tan cong nay.

10. Su dung chung nhan SSL

Su dung SSL tren website cua ban cho tat ca cac dang nhap thanh vien. Luu y la ban phai co mot giay chung nhan dung cau hinh SSL cho ten mien trang web cua ban (chia se chung nhan SSL se khong lam viec).

11. Tat Joomla FTP Layer

Vo hieu hoa FTP Layer cua Joomla va dam bao no khong luu thong tin dang nhap cua ban.

12. Tat Register_globals

Tat Register_globals, nhung ban phai biet rang viec nay co the gay vo hieu hoa mot so kich ban lam viec cua PHP, va co the anh huong den cac chuong trinh khac ma website cua ban dang su dung. De lam dieu nay, chi can chinh sua file php.ini cua website trong thu muc goc cua ten mien.

13. URL than thien cho cong cu tim kiem

Luon luon su dung URL than thien voi cong cu tim kiem. Dieu nay khong chi giup thu hang Google cua website cai thien ma con ngan chan hacker khai thac su dung ket qua tim kiem cua Google.

Theo Quantrimang

13 mẹo bảo mật tốt hơn cho Joomla CMS

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ảo mật cho website của mình, bài viết này sẽ đưa ra các giải pháp đó.
Giới thiệu cho bạn bè
  • gplus
  • pinterest

Bình luận

Đăng bình luận

Đánh giá