Hướng dẫn chi tiết cách cài đặt và sử dụng iThemes Security – plugin bảo mật WordPress nhằm hạn chế các lỗ hổng bảo mật, hạn chế bị hacker tấn công làm hại đến website.
Contents
1. Cấu hình hosting thích hợp
Plugin iThemes Security được thiết kế để làm việc trên máy chủ Apache, nên nếu bạn dùng NGINX thì bạn sẽ không sử dụng được chức năng như đổi đường dẫn Admin, block spam bots trừ khi bạn có thể tự cấu hình được. Vì vậy, mình khuyến khích mọi người nên sử dụng plugin này cho các gói shared host thông thường.
NGINX là một máy chủ proxy ngược mã nguồn mở (open source reverse proxy server) sử dụng phổ biến giao thức HTTP, HTTPS, SMTP, POP3 và IMAP, cũng như dùng làm cân bằng tải (load balancer), HTTP cache và máy chủ web (web server).
2. Hướng dẫn cài đặt iThemes Security
Cài đặt plugin ithemes Security rất đơn giản. Ở trang quản trị WordPress, bạn vào Plugin > Add New (Cài mới) -> Tìm iThemes Security trong ô tìm kiếm -> Nhấn Install Now (Cài Đặt).
Cài đặt hoàn tất, nhấn Active ( Kích hoạt ) là xong.
Sau khi cài đặt và kích hoạt plugin ithemes Security, bạn sẽ thấy có thông báo Security ở thanh công cụ phía trên như hình dưới, nhấn vào Security -> tếp tục nhấn Get Free API Key.
Một cửa sổ mới hiện ra. Nhập email của bạn vào và nhấn Save Setting.
iThemes Security sẽ gửi và tự động cập nhật cho bạn một API key trên hệ thống của nó. Bạn không phải làm gì thêm. iThemes sẽ gửi cho bạn 1 mail xác nhận như hình dưới.
Tại trang quản trị WordPress, bạn vào Security > Settings > nhấn Security Check, giao diện mới hiện lên > Nhấn vào Secure Site.
Sau khi bấm vào Secure Site, những cấu hình bảo mật cần thiết sẽ được iThemes tự động bật lên cho website của bạn. Những cấu hình này được khuyến khích sử dụng cho mọi website.
Nếu mục nào vàng thì bạn bấm vào nút xanh để iThemes Security cấu hình cho bạn.
3. Các tùy chọn cơ bản của iThemes Security
3.1 Global Setting
Giải thích thiết lập cơ bản của iThemes Security:
- Write to File: Tùy chọn này cho phép các plugin khác tự động thêm nội dung vào file wp-config.php và .htaccess, bạn nên chọn nó để có thể cài được các tính năng khác của iThemes Security hoặc các plugin tạo cache một cách tự động
- Notification Email: Địa chỉ email nhận các thông báo liên quan đến plugin iThemes Security, bạn có thể thêm nhiều email ngăn cách với nhau bằng một hàng
- Backup Delivery Email: Địa chỉ email nhận file backup nếu bạn backup dữ liệu bằng iThemes Securtity
- Host Lockout Message: Tin nhắn thông báo lỗi cho những người đăng nhập thất bại do bị khóa IP
- User Lockout Message: Tin nhắn thông báo lỗi nếu thành viên bị khóa
- Blacklist Repeat Offender: Kích hoạt sử dụng danh sách địa chỉ spam công cộng. Bạn nên chọn vì nó sẽ giúp bạn thoát khỏi các spammer có trong danh sách này
- Blacklist Threshold: Số lần IP bị khóa sẽ chuyển thành dạng khóa vĩnh viễn
- Blacklist Lookback Period: Thời hạn khóa các spammer có trong danh sách ở phần Blacklist Repeat Offender
- Lockout Period: Thời gian mỗi lần khóa nếu có ai đó cố gắng đăng nhập nhưng bị thất bại
- Lockout White List: Danh sách IP không bị khóa
- Email Lockout Notifications: Email nhận thông báo khi ai đó bị khóa
- Log Type: Kiểu ghi các log hoạt động của plugin, nên chọn > Database Only.
- Days to Keep Database Logs: Thời hạn ghi của các log trong database, sau thời hạn các log sẽ bị xóa đi
- Path to Log Files: Đường dẫn của file log
- Allow Data Tracking: Cho phép iThemes thu thập các dữ liệu sử dụng của bạn để họ phân tích.
3.2 404 Detection
404 Detection là tùy chọn sẽ gửi thông báo mỗi khi thành viên truy cập một trang nào đó và phát hiện lỗi 404.
Bạn lưu ý và cân nhắc sử dụng bật chức năng này nếu trang của bạn quá nhiều lỗi 404, như thế email của bạn sẽ có rất nhiều thư và tốn tài nguyên trong email.
Giải thích:
- Minutes to Remember 404 Error (Check Period): Là thời gian hệ thống tự ghi nhớ lỗi 404 và không báo vào lần sau.
- Error Threshold: Là số lỗi tối đa mà mỗi thành viên có thể gặp, nếu thành viên vào tối đa số trang 404 trong phần này thì sẽ bị khóa. Thường là hay xảy ra với bot spam.
- 404 File/Folder White List: Các file/folder nó sẽ bỏ qua và không kiểm tra lỗi 404.
3.3 Away Mode
Away Mode là tính năng giúp bạn khóa trang quản trị trong thời gian nhất định đồng nghĩa với việc bạn chỉ có thể vào được trong thời gian nhất định. Các tùy chọn bên dưới sẽ cho phép bạn vô hiệu hóa truy cập vào WordPress Dashboard cho thời gian quy định. Ngoài việc hạn chế tiếp xúc với những kẻ tấn công này cũng có thể hữu ích để vô hiệu hóa truy cập trang web dựa trên một lịch trình cho các lớp học hoặc các lý do khác.
Nếu thời gian không chính xác bạn có thể thiết lập lại cài đặt tại: WordPress general settings page.
Giải thích:
- Enable: Nhấn vào để bật chức năng Away Mode.
- Type of Restriction: Cài đặt chọn thời gian khóa trang hàng ngày (daily) hay 1 lần (one time).
- Start Time: Thời gian mà trang quản trị bắt đầu khóa.
- End Time: Thời gian mở trang quản trị trở lại.
3.4 Banned User
Banned User là tùy chọn cho phép bật chức năng ban một thành viên nào đó, kể cả bot spam. Tính năng này cho phép bạn hoàn toàn cấm các máy chủ và các đại lý sử dụng từ trang web của bạn mà không cần phải quản lý bất kỳ cấu hình của máy chủ của bạn. Bất kỳ địa chỉ IP hoặc các đại lý người sử dụng tìm thấy trong danh sách dưới đây sẽ không được cho phép truy cập vào trang web của bạn.
Giải thích:
- Enable HackRepair.com’s blacklist feature: khóa các bot spam có trong danh sách đen của HackRepair.com.
- Enable Ban Lists: Bật chức năng khóa người dùng.
- Ban Hosts: Danh sách các địa chỉ IP người dùng sẽ bị cấm truy cập vào website của bạn, mỗi IP một dòng.
- Ban User Agents: User Agents sẽ bị ban, thường là các bot spam. Bạn có thể lấy danh sách “Bad User Agents list” trên Google để điền vào mục này.
3.5 Brute Force Protection
Brute Force Protection là tùy chọn này giúp bạn chống Brute Force Attack bằng hình thức hạn chế số lần đăng nhập sai.
Giải thích:
- Receive email updates about WP Security from iThemes: Nhận email cập nhật về WP Security từ iThemes
- Enable brute force protection: Bật chức năng chống Brute Force.
- Max Login Attempts Per Host: Số lần đăng nhập sai tối đa của một IP.
- Max Login Attempts Per User: Số lần đăng nhập sai tối đa của một thành viên.
- Minutes to Remember Bad Login (check period): Số thời gian ghi nhớ đăng nhập sai, nếu trong khoảng thời gian này mà vượt quá số lần đăng nhập sai cho phép thì sẽ bị khóa.
3.6 Database Backup
Database Backup là tùy chọn hỗ trợ tự động sao lưu cơ sở dữ liệu.
Lưu ý: Chỉ nên bật nếu bạn có database nhỏ vì sử dụng BackWPUp hoặc Backup Buddy sẽ tốt hơn nhiều.
Giải thích:
- Backup Full Database – Backup toàn bộ cơ sở dữ liệu.
- Backup Method – Phương thức sao lưu, nó sẽ gửi bản backup qua email hoặc chỉ lưu vào host hoặc cả 2.
- Backup Location – Đường dẫn thư mục chứa file backup.
- Backups to Retain – Số file backup sẽ giữ lại trên host. Ví dụ nếu bạn đặt là 5 thì nếu nó nhiều hơn 5 thì sẽ tự xóa bớt file backup cũ nhất.
- Compress Backup Files – Hỗ trợ nén file backup.
- Exclude Tables – Các table trong database bạn không muốn backup.
- Schedule Database Backups – Bật tùy chọn tự động backup.
3.7 File Change Detection
File Change Detection là tính năng gửi thông báo nếu có file nào đó trong host bị thay đổi, thường là để phát hiện các file bị chèn Shell. Để bạn biết nếu ai đó vào trang web của bạn và thay đổi điều gì đó. File Change Detection giúp bạn thay đổi nhận diện tập tin sẽ cảnh báo cho bạn biết những tập tin đã thay đổi trong cài đặt WordPress của bạn.
Giải thích:
- Enable File Change detection: Là bật tính năng phát hiện file bị thay đổi.
3.8 Hide Login Area
Hide Login Area là bật tính năng đổi đường dẫn đăng nhập thay vì /wp-admin như cũ.
Giấu trang đăng nhập (wp-login.php, wp-admin, admin và login) làm cho nó khó khăn hơn để tìm thấy bởi các cuộc tấn công tự động và làm cho nó dễ dàng hơn cho người sử dụng không quen thuộc với các nền tảng WordPress.
Giải thích:
- Enable the hide backend feature: Kích hoạt tính năng ẩn phụ trợ.
3.9 Secure Socket Layer
Secure Socket Layer là tính năng áp dụng SSL cho website bạn có chứng chỉ SSL.
Lưu ý: Nếu bạn không có SSL, bạn nên để nguyên nếu không muốn lỗi cả website.
Giải thích:
- Front End SSL Mode: Bật SSL cho website.
- SSL for Login: Bật SSL cho hệ thống đăng nhập trên website qua kết nối an toàn.
- SSL for Dashboard: Bật SSL cho Dashboard qua kết nối an toàn.
3.10 Strong Password
Strong Password là thuộc tính áp dụng bắt buộc sử dụng mật khẩu phức tạp để bảo mật.
Giải thích:
- Enable strong password enforcement – Bật chức năng bắt buộc mật khẩu mạnh.
3.11 System Tweaks
System Tweaks là những thiết lập nâng cao có thể được sử dụng để tăng cường hơn nữa sự an toàn trang web WordPress của bạn.
Lưu ý:
- Các thiết lập này được liệt kê như nâng cao bởi vì họ chặn các hình thức phổ biến của các cuộc tấn công, nhưng họ cũng có thể chặn plugins hợp pháp và chủ đề mà dựa trên các kỹ thuật tương tự.
- Hãy nhớ rằng, một số các thiết lập này có thể xung đột với các plugin hoặc các chủ đề khác, nên kiểm tra trang web của bạn sau khi cho phép mỗi thiết lập.
- Các thiết lập trong đây sẽ can thiệp hệ thống hosting của bạn đang dùng để bảo mật. Do đây là thiết lập nâng cao nên đừng chọn nếu bạn không biết mình đang làm gì.
Giải thích:
- Protect System Files: Bảo mật các file quan trọng của WordPress như wp-config.php, .htaccess, wp-include, instal,….
- Disable Directory Browsing: Không cho phép browse file tập tin bằng trình duyệt. Nếu thư mục bạn không có file index thì nó vẫn không xuất hiện danh sách các file trong đó.
- Filter Request Methods: Lọc các truy vấn gửi đi thông qua URL, nó sẽ chặn các truy vấn mang tính chất nguy hiểm hoặc đáng ngờ.
- Filter Suspicious Query Strings in the URL: Lọc và chặn các truy vấn mang tính chất nguy hiểm trên URL, ví dụ như họ đang cố gắng truy cập vào các file trong thư mục themes, plugins.
- Filter Non-English Characters: Một cách để hạn chế SQL Injection bằng cách chặn các query chứa ký tự lạ. Nên chọn.
- Filter Long URL Strings: Lọc các truy vấn quá dài, thường là các attacker bằng hình thức SQL Injection thường viết truy vấn khá dài trên URL để thay đổi database. Nên chọn.
- Remove File Writing Permissions: Tự động CHMOD bảo mật cho các file nhạy cảm, nếu bật thì các file đó sẽ được CHMOD thành 0444 thay vì 0644 như mặc định.
- Disable PHP in Uploads: Không cho phép thực thi các mã PHP trong tính năng upload trong WordPress để tránh màng up shell lên host. Nên chọn.
3.12 WordPress Tweaks
Các tùy chọn này sẽ can thiệp vào mã nguồn của WordPress để bảo mật.
Giải thích:
- Remove WordPress Generator Meta Tag – Xóa các thẻ meta mặc định của WordPress tự sinh ra để làm cho hacker khó xác định số phiên bản WordPress mà bạn đang dùng để tìm bug.
- Remove the Windows Live Writer header – Xóa thẻ header để hồi đáp lại truy vấn từ
- Windows Live Writer nhằm tránh lại các hình thức tấn công thông qua việc lợi dụng file này để đăng bài trái phép.
- Remove the RSD (Really Simple Discovery) header – Xóa thẻ header chứa file xml-rpc trên header để tránh lại các hình thức tấn công bằng việc lợi dụng đăng bài trái phép.
- Reduce Comment Spam – Chống spam ở comment.
- Display Random Version – Tự động hiển thị ngẫu nhiên số phiên bản WordPress để hacker khó xác định phiên bản thật sự mà bạn đang dùng.
- Disable File Editor – Không cho phép chỉnh sửa theme, plugin trong Dashboard.
- Disable login error messages – Tắt hiển thị lỗi đăng nhập để hacker khó xác định là họ đăng nhập sai hay lỗi.
- Force users to choose a unique nickname – Không cho thành viên sử dụng nickname trùng nhau.
- Disables a user’s author page if their post count is 0 – Không tạo đường dẫn author riêng nếu họ chưa có bài.
Sau khi bạn thay đổi xong, nhớ ấn nút Save all Changes.
3.13 Advanced
Trong Advanced để hạn chế tắt máy nếu bạn sợ bị lỗi hoặc tốt nhất backup toàn bộ database và code trước khi sủ dụng các công cụ dưới đây bao gồm: Admin User, WordPress Salts, Change Content Directory, Change Database Prefix,…
#Admin User
Admin User gồm các tùy chọn sẽ ảnh hưởng tới tài khoản admin của website.
Giải thích:
- Enable Change Admin User – Đổi tên username của admin.
- New Admin Username – Tên đăng nhập mới của admin.
- Change User ID 1 – Thay đổi User ID của admin để tránh bị dò ra.
#Change Content Directory
Change Content Directory là tùy chọn sẽ thay đổi thư mục wp-content.
Lưu ý: Tùy chọn này không dành cho các website cũ mà chỉ áp dụng với các website mới
#Change Database Prefix
Change Database Prefix cho phép thay đổi prefix của database thay vì wp_ như mặc định.
Lưu ý:
- Trước khi sử dụng công cụ này, bạn nên chạy một bản sao lưu cơ sở dữ liệu của bạn.
- Việc sử dụng công cụ này đòi hỏi khá nhiều bộ nhớ hệ thống.
Chúc bạn cài đặt và sử dụng iThemes Security thành công!