Bảo mật website wordpress luôn là bài toán đau đầu với mỗi webmaster. Tôi đã từng bị hack website 2 lần khi mà kiến thức về bảo mật nó còn khá mơ hồ. Tưởng chừng như nó ở một nơi nào đó xa xôi trên mạng hay như các website lớn bọn tội phạm mới tập trung hack. Nhưng không, tất cả các địa chỉ ip đều bị các hacker ngòm ngó từng giờ, từng phút.
Khi xử lý website bị hack tôi thấy mình đã chưa làm gì để bảo mật cả, ngay cả việc mình đặt password cũng rất đơn giản. Nhận thấy đây không phải việc làm web là xong để đấy, ngoài việc làm web còn cần phải bảo mật web cho an toàn.
Hôm nay TechXanh.com sẽ hướng dẫn các bạn bảo mật Website WordPress với iThemes Security – một plugin rất mạnh trong bảo mật website bạn nên sử dụng.
Nội dung bài viết
A. Cấu hình bảo mật Website WordPress với iThemes Security cơ bản
Bạn có thể cài đặt phiên bản Free hoặc bản Pro của iThemes Security. Bản pro cung cấp thêm các tính năng an toàn và hữu ích mà TechXanh sẽ đề cập trong bài này.
I. Chạy kiểm tra bảo mật ‘Security check’
1. Sau khi cài đặt và kích hoạt plugin, bạn vào Security -> Setting trong trang Quản trị của bạn và chạy Security check. Cửa sổ mới sẽ tự động hiện lên.
Security Check bao gồm những cấu hình bảo mật được khuyến nghị cho tất cả các site wordpress.
2. Sau khi click Secure Site, plugin sẽ hỏi bạn Activate Network Brute Force Protection, đây là kích hoạt chức năng chống brute force (dò pass), bạn hãy nhập địa chỉ email của mình và nhấn vào nút Activation. Sau đó, đóng cửa sổ popup.
Các cài đặt được đề xuất này là đủ trong hầu hết các trường hợp. Trong hướng dẫn này, tôi sẽ hướng dẫn cấu hình nâng cao thêm để đảm bảo an toàn hơn cho trang web WordPress của bạn!
II. Cài đặt cấu hình bảo mật website wordpress được ‘Recommended’
Sau khi đóng cửa sổ Security Check pop-up, bạn sẽ thấy các mục chức năng Recommended
Một số chức năng đã bật sẵn, phần lớn là chưa được bật chúng ta sẽ bật nó nếu cần thiết.
Tôi sẽ không đi vào tất cả các cấu hình bảo mật website wordpress, chỉ những cái cần thay đổi. Bạn có thể bỏ qua hoặc tuỳ chỉnh theo cho phù hợp với site của mình.
Ví dụ, trong Global Settings, bạn có thể thay lockout error message (“thông báo lỗi bị khoá”) được hiển thị, hoặc bạn có thể đổi số lần bị khoá trước khi bị khoá vĩnh viễn (“number of lockouts before a host is permanently banned”).
1. 404 Detection
Click Enable và giữ nguyên cấu hình mặc định.
404 detection rất hữu dụng trong trường hợp ai đó hoặc cái gì đó (bot) cố gắng truy cập vào các trang không tồn tại để tìm kiếm lỗ hổng bảo mật site của bạn.
Chức năng này sẽ kiểm tra số lượt thử truy cập vào các trang không tồn tại và khoá host nếu quá 3 lần lockouts.
2. Banned Users
Tick vào chức năng Enable HackRepair.com’s blacklist feature.
Chức năng này khoá các địa chỉ host trong danh sách đen chứa các ip chuyên sử dụng để hack. Các địa chỉ IP này không thể truy cập website của bạn.
3. Database Backups
Nếu bạn sử dụng dịch vụ hosting có sẵn chức năng backup hàng này thì không cần sử dụng chức năng này.
4. File Change Detection
Bật chức năng này bằng cách click Enable.
Chức năng này sẽ cho phép bạn biết những file nào đã thay đổi trong thư mục cài đặt.
Điều này giúp bạn kiểm soát code trong trường hợp ai đó thay đổi website của bạn. Nếu web của bạn bị hack, bạn sẽ thấy các files bị thay đổi. Bạn có thể disable trong trường hợp không có chuyên môn sâu phân tích. Một số trường hợp tôi thấy hay báo các file cache. Tôi thường hay chọn – Display file change admin warning. Và bỏ chọn thông báo qua email trong mục Notification.
Truy cập Notification Center.
Bạn có thể kiểm tra log file thay đổi bằng cách vào Security -> Logs.
5. Local Brute Force Protection
Chọn Automatically ban “admin” user.
Về cơ bản, trong các cuộc tấn công brute force, các hacker thử kết hợp các tổ hợp để lấy thông tin login. Trong trường hợp này, hacker sử dụng các phần mềm tự động.
Nếu trong hệ thống có username admin có nghĩa là bước tìm username đã xong, chỉ còn việc dò password. Rất nhiều trang web vẫn sử dụng user admin, một điều rất nguy hiểm.
Do vậy, hãy đổi tên username admin và chặn tất cả các ip dò pass là admin.
6. Password Requirements
Đổi Minimum Role thành Subscriber.
Điều này để bảo vệ chính các thành viên đăng ký khỏi nguy cơ bị brute force.
7. System Tweaks
Enable và kiểm tra từng mục sau:
- Protect System Files – Bảo vệ truy cập các file readme.html, readme.txt, wp-config.php, install.php, wp-includes và .htaccess.
- Disable Directory Browsing – Bảo vệ người dùng nhòm ngó các danh sách files trong các thư mục khi không có file index.
- Filter Request Methods – Lọc ra các truy cập trace, delete, hoặc phương thức track request. Không chọn nếu bạn đang sử dụng WordPress REST API.
- Filter Suspicious Query Strings in the URL – Có rất nhiều dấu hiệu để nhận biết ai đó đang cố gắng truy cập vào website. Nếu theme của bạn hoặc plugin bị lỗi hãy bỏ chọn.
- Filter Non-English Characters – Cái này thì tiếng Việt ta không dùng nên không chọn.
- Filter Long URL Strings – Giới hạn số lượng ký tự có thể gửi trong URL. Các hackers thường sử dụng các URL dài để gán thông tin truy cập database của bạn.
- Disable PHP in Uploads – Điều này sẽ block các request đến file PHP trong thư mục upload.
8. WordPress Salts
Chọn Change WordPress Salts.
Nó sẽ thay đổi các cách mã hoá trong website của bạn. Tăng cường bảo mật cho website.
WordPress salt là các chuỗi mã hóa cùng mật khẩu của bạn, vì vậy tin tặc không thể biết mật khẩu của bạn khi có được database của bạn. Bạn hãy thường xuyên thay đổi các salt để tăng cường hơn nữa bảo mật trang web WordPress của bạn. 3-6 tháng 1 lần là tốt nhất.
Lưu ý rằng khi thay đổi các WordPress salt, bạn sẽ bị đăng xuất khỏi WordPress! Đăng nhập lại là ok.
9. WordPress Tweaks
Tôi sẽ chia nhỏ mục này thành 3 phần để chụp màn hình và dễ đọc vì có rất nhiều cài đặt.
a) Kiểm tra như dưới:
Remove the Windows Live Writer header – Kiểm tra, nếu bạn sử dụng Windows Live Writer hoặc các ứng dụng viết blog khác dựa vào tệp này.
Remove the RSD (Really Simple Discovery) header – Kiểm tra, nếu bạn không tích hợp blog của mình với các dịch vụ XML-RPC bên ngoài, chẳng hạn như Flickr.
Reduce Comment Spam – Giảm spam nhận xét bằng cách từ chối nhận xét từ bot không có liên kết giới thiệu hoặc không xác định tác nhân người dùng.
Disable File Editor – Kiểm tra, nếu bạn có người dùng có vai trò cho phép truy cập vào trình chỉnh sửa tệp WordPress, nhưng bạn không thực sự tin tưởng họ. Nếu không, hãy bỏ chọn nó.
wordpress tweaks cài đặt ithemes an ninh
b) Tuỳ chọn các mục:
Disable XML-RPC (Recommended) – Tính năng XML-RPC của WordPress cho phép các dịch vụ bên ngoài (ví dụ: JetPack, ứng dụng di động WordPress, pingback) truy cập và sửa đổi nội dung trên trang web. Nếu bạn không sử dụng các dịch vụ dựa trên XML-RPC, thì hãy tắt nó để ngăn kẻ tấn công sử dụng nó.
Multiple Authentication Attempts per XML-RPC Request – Chặn điều này để ngăn kẻ tấn công khai thác tính năng này. Chỉ cho phép nó nếu một dịch vụ yêu cầu nó.
REST API – Theo mặc định, nó có thể cung cấp quyền truy cập công khai vào thông tin mà bạn tin là riêng tư trên trang web của bạn (thông tin thêm tại đây). Chọn Truy cập hạn chế.
c) Kiểm tra các mục sau:
- Force users to choose a unique nickname – Điều này buộc người dùng phải chọn biệt hiệu duy nhất khi cập nhật tiểu sử của họ hoặc tạo tài khoản mới, ngăn các bot và kẻ tấn công dễ dàng thu thập tên người dùng đăng nhập của người dùng từ mã trên trang tác giả.
- Disable a user’s author page if their post count is 0 – Điều này khiến rô bốt khó xác định tên người dùng hơn bằng cách tắt lưu trữ bài đăng cho người dùng không đăng lên trang web của bạn.
- Alter target=”_blank” links to protect against tabnapping – Giúp bảo vệ khách truy cập (gồm cả người dùng đã đăng nhập) khỏi các cuộc tấn công lừa đảo do trang web được liên kết đưa ra.
Chúng ta xong phần chức năng được ‘đề xuất’ để cấu hình bảo mật cho website wordpress. Trong phần sau tôi sẽ đi sâu vào các chức năng bảo mật nâng cao cho website wordpress.
B. Cấu hình bảo mật website WordPress với iThemes Security nâng cao
1. Admin User
Chọn Change the ID of the user with ID 1.
Điều này sẽ loại bỏ thuộc tính user phổ biến nhất có thể dễ đoán để nhắm mục tiêu tấn công trang web WordPress của bạn.
Bạn hãy thực hiện backup trang web trước khi thực hiện!
2. Change Database Table Prefix
Thường theo mặc định WordPress gán wp_ làm tiền tố cho tất cả các bảng trong cơ sở dữ liệu của bạn.
Điều đó tạo điều kiện dễ dàng cho hacker khai thác nếu site của bạn bị dính SQL injection hay một lỗi SQL nào đó.
Do đó, hãy thay đổi tiền tố của bảng cơ sở dữ liệu để nâng cao bảo mật trang web WordPress của bạn.
Chọn ‘Change Database Table Prefix’.
Thiết lập Change Prefix thành Yes và click nút Save Settings. Tiền tố prefix mới sẽ được sinh và đổi tự động.
3. Hide Backend
Chọn Enable tính năng Hide backend. Nó sẽ xuất hiện thêm nhiều tuỳ chỉnh mục này.
Thay đổi những mục sau:
- Login Slug – Đường dẫn login slug là URL mà bạn truy cập vào trang login của mình. Mặc định nó là
ten-mien.com/quan-tri/
orten-mien.com/quantritechxanh.php/
. Để theo mặc định không tốt cho bảo mật, mọi người có thể nhòm ngó và các con bọ có thể thực hiện Brute force. Đừng để theo mặc định của iThemes Security:wplogin
nhé. - Register Slug – Nếu bạn cho phép đăng ký thành viên (Thiết lập -> Tổng quan -> Thành viên), hãy đổi đường dẫn url cho nó. Tốt nhất là bỏ chức năng này.
Đến đây thì chúng ta đã điểm qua hết tất cả các tính năng free của iThemes Security rồi! Tuỳ vào mỗi nhu cầu sử dụng thì bạn có thể chọn bản free nếu là cá nhân. Còn bản Pro có nhiều tính năng bảo mật cao cấp hơn.
C. Cấu hình tính năng cho iThemes Security Pro
Những tính năng bảo mật của bản Ithemes Security Pro:
- Magic Links – Tính năng này cho phép bạn login kể cả trong trường hợp tài khoản của bạn bị lockout.
- Malware Scanning – Thực hiện quét phần mềm độc hại tự động.
- Privilege Escalation – Cho phép quản trị gán thêm quyền tạm thời cho 1 user trong một khoảng thời gian nhất định.
- reCAPTCHA – Bảo vệ website khỏi spam và chống các bot ngòm ngó login của bạn.
- Settings Import and Export – Bạn có thể xuất và nhập cài đặt itheme để backup hay cài đặt cho một site khác.
- Two-Factor Authentication – Tính năng xác thực 2 thành phần, bạn có thể dùng Google authentication, email hay mã cố định để đăng nhập. Nếu bạn sử dụng Google authentication hãy sử dụng Authy để quản lý không sợ quên hay mất chuỗi đăng nhập. Tính năng này cực kỳ an toàn, bắt buộc người dùng phải xác thực sau khi điền user và pass. Tuy nhiên, tính năng này có thể làm bạn mất thêm thời gian và gây khó chịu. Nếu bạn muốn bảo mật tốt hơn cho website wordpress của mình thì hãy chịu khó vậy nhé.
- User Security check – Bạn có thể chọn để kiểm tra user nào không đảm bảo an toàn cho website.
- User Logging – Ghi log hành động user, như lưu lại nội dung, đăng nhập…
- Version Management – Bảo vệ website WordPress khi WordPress core, plugins, themes bị lỗi thời hay không cập nhật kịp.
Tổng kết
Như bạn thấy, iThemes Security có cả tá chức năng tuyệt vời để nâng cao bảo mật website WordPress. Bản free hay pro đều rất giá trị. Tôi khuyên bạn nên chọn mua bản Pro với các tính năng bảo mật website wordpress đầy đủ nhất mà bạn cần.
Chúc các bạn luôn có được website an toàn với những chia sẻ của Techxanh ngày hôm nay nhé. Nếu các bạn thấy hay hãy đăng ký và chia sẻ trang của mình để đón nhận các bài viết hay luôn cập nhật. Cám ơn các bạn!