Các bước cần triển khai để nâng cao bảo mật cho website sử dụng wordpress

Trong thời gian qua, Wecan Group thường nhận được những lời phản ánh từ khách hàng, người thân rằng website sử dụng wordpress không an toàn, bảo mật không cao… Nhưng sự thật lại không hẳn như vậy, nếu chúng ta hiểu đúng vấn đề thì wordpress hoàn toàn không có vấn đề. Vấn đề nằm ở chỗ chưa được thiết lập, cài đặt, cấu hình đúng cách để tránh được các nguy cơ mất an toàn.

Hôm nay, Wecan Group xin chia sẻ một vài kinh nghiệm nâng cao bảo mật cho wordpress được đúc kết từ chính quá trình triển khai trong những năm vừa qua. Bài viết áp dụng cho Webserver Apache.

Ngăn chặn truy cập wp-admin bằng mật khẩu cứng

Một trong những nhược điểm của mã nguồn mở là bị lộ URL đăng nhập vào backend. Và từ đó nhiều lỗ hổng bảo mật sẽ bị khai thác, để ngăn chặn việc này cần đặt mật khẩu cứng cho thư mục wp-admin bằng file htaccess như sau:

  • Đặt vào bên trong thư mục wp-admin một file .htaccess với nội dung:”<IfModule mod_rewrite.c>
    RewriteEngine On

    </IfModule>

    AuthType Basic
    AuthName “Password Protected Area”
    AuthUserFile /var/abc/xyz/.htpasswd
    require valid-user

  • Chỗ dòng AuthUserFile /var/abc/xyz/.htpasswd là đường dẫn đến file chứa mật khẩu. Trong file .htpasswd có nội dung: username:passwordma-hoa. Để tạo file này truy cập http://www.htaccesstools.com/htpasswd-generator/ Bạn chỉ cần gõ username và mật khẩu sẽ tự tạo ra file.
  • Giờ đây, khi bạn truy cập vào backend trước lớp mật khẩu thông thường bạn cần nhập tên đăng nhâp, mật khẩu trong file .htpasswd ở trên.

Lưu ý: Để không gây ra lỗi thì việc này yêu cầu khi lập trình website cần không được sử dụng file admin-ajax.php trong thư mục wp-admin.

Cấu hình file wp-config.php về 101

Khi chúng ta sử dụng share hosting thì việc bị tấn công từ website “láng giềng” là rất phổ biến. Vì vậy cần phải cấu hình file wp-config.php về 101 để tránh bị nhìn thấy và xem nội dung khi bị tấn công kiểu này.

Phân quyền thư mục đúng cách

Để đảm bảo an toàn chúng ta chỉ nên phân quyền thư mục wp-content/uploads có quyền 777. Còn tất cả các thư mục khác đều không được quyền ghi. Theo quan sát, Wecan Group nhận thấy nhiều khách hàng hay phân quyền ghi cho cả thư mục wp-content để tiện cài đặt plugin tự động nhưng sẽ rất nguy hiểm. Nếu bạn sử dụng plugin cache thì phân quyền ghi thêm thư mục cache. Đối với thư mục uploads cần bổ sung file .htaccess để cấm không cho chạy tệp php trong thư mục này vì thư mục này là thư mục chỉ chứa ảnh. File .htaccess có nội dung như sau: php_flag engine off. Tệp này nhằm mục đích nếu như hacker có tải lên tệp Remview thì cũng không chạy được.

Nâng cấp phiên bản thường xuyên

Thường xuyên theo dõi các bản cập nhật wordpress và các plugin nếu có lỗi bảo mật thì phải download về và cập nhật ngay cho website của mình.

Backup dữ liệu

Công việc này không giảm thiểu khả năng bị tấn công trên WordPress mà nó giúp chúng ta giảm mức độ thiệt hại sau những đợt tấn công. Nếu như bạn sao lưu dữ liệu một cách thường xuyên thì sau khi bị tấn công và mất hết cơ sở dữ liệu, chúng ta vẫn có thể hồi sinh web bằng cách phục hồi các dữ liệu đã được sao lưu.

Ngoài ra phương pháp này cũng giúp bạn phục hồi lại blog sau khi tiến hành can thiệp chỉnh sửa liên quan đến cơ sở dữ liệu.

Trong WordPress có khá nhiều công cụ backup cơ sở dữ liệu. Tuy nhiên, mình gợi ý cho các bạn một plugin ổn định và backup tốt nhất đó là WP Complete Backup. Plugin này giúp bạn cài đặt chế độ backup tự động cho tất cả các dữ liệu trên blog, đồng thời có chức năng đồng bộ hóa tài khoản Google Drive hoặc Sky Drive  vào và tự động gửi những dữ liệu đã được backup lên đó.