Tăng cường bảo mật WordPress là nhiệm vụ quan trọng không thể xem nhẹ.
Mình nhớ cách đây nhiều năm khi mới tập tành làm quen WordPress.
Do mới làm quen WordPress nên hiểu biết về bảo mật còn hạn chế. Trên trang web đầu tiên của mình, mình không biết đổi đường dẫn trang login. Thậm chí mình vẫn dùng username admin.
Trong khi giao diện web lại bắt mắt vì mình bỏ tiền mua theme tại magazine3
Kết quả tất yếu là trang bị hack với mục tiêu để lấy trộm theme.
Hậu quả lúc đó cũng không có gì ghê gớm vì trang web đó mình tạo ra để làm quen với hosting và học WordPress căn bản.
Giờ đây, mình đã có được kiến thức bảo mật nhất định khi bước chân vào viết blog chuyên nghiệp. Và trong bài viết này, mình đã tổng hợp một vài cách bảo mật WordPress đơn giản.
Dẫu biết rằng, chả có trang web nào bảo mật tuyệt đối. Nhưng ít nhất khi bạn khóa cửa cẩn thận thì cũng tránh kẻ trộm nhòm ngó.
Những cách bảo mật trong bài viết này mình sẽ sử dụng iThemes Security như là giải pháp. Đây là plugin bảo mật WordPress phổ biến nhất. Bạn nên cài đặt cho website của bạn.
Đọc thêm: những plugin cần thiết cho WordPress
1.Giới hạn số lần truy cập và khóa IP truy cập sai quá nhiều
Mặc định, màn hình login của WordPress không giới hạn số lần truy cập sai. Chính điều này mở cửa cho tấn công brute force. Ở hình thức tấn công này, hacker sử dụng kịch bản để tạo tổ hợp username và mật khẩu và thử đăng nhập cho đến khi phù hợp.
Để ngăn chặn brute force, bạn cần giới hạn số lần truy cập. Và khóa tạm thời địa chỉ IP truy cập sai quá nhiều.
Để giải quyết vấn đề này, mình sử dụng plugin iThemes Security. Sau khi cài đặt, bạn chỉ cần click Security Site. Mọi việc còn lại iThemes Security lo liệu.
Hoặc bạn có thể sử dụng plugin Login LockDown.
2. Sử dụng xác thực 2 bước
Bổ sung tính năng xác thực 2 bước cho màn hình login là biện pháp bảo mật WordPress tốt. Khi đó bất kỳ ai muốn đăng nhập, họ cần một mã bí mật bên cạnh username và mật khẩu.
Bạn có thể tham khảo bài hướng dẫn cài đặt Google Authenticator để biết cách bổ sung tính năng này cho website của mình.
Vai trò của hosting WordPress
Dịch vụ hosting WordPress mà bạn đang sử dụng cũng đóng một vai trò quan trọng trong việc đảm bảo sự an toàn cho website của bạn. Một dịch vụ hosting có bảo mật tốt như A2Hosting đã thực hiện thêm nhiều biện pháp để bảo vệ server của hãng trước các nguy cơ tấn công phổ biến. Đặc biệt cPanel của nó tích hợp Patchman giúp nhanh chóng tìm và vá các lỗ hổng bảo mật trong website của bạn.
3. Đổi đường dẫn trang login
Mặc định, bạn truy cập trang login của WordPress thông qua URL yourdomain.com/ wp-admin hay yourdomain.com/wp-login.php.
Chính cái địa chỉ đường dẫn ai ai cũng biết mà website WordPress thu hút rất nhiều đợt tấn công brute force.
Thay đổi địa chỉ đường dẫn trang login cũng là cách bảo mật WordPress đơn giản nhưng không kém phần hiệu quả. Lại lần nữa, bạn sử dụng iTheme Security. Tính năng này bạn phải cấu hình ở phần Settings-> Security -> Advanced, click nút Configure Settings.
Ở màn hình cấu hình bạn nhập vào đường dẫn bạn muốn ở ô Login Slug.
4. Sử dụng password khó nhớ
Đặt passsowrd mạnh và cực kỳ khó nhớ chính là cách ngăn chặn website WordPress bị hack. Nếu bạn chưa biết cách tạo password có độ khó cao, sử dụng công cụ sinh password này.
Một công cụ sinh password hay hơn bạn nên dùng: secure-password-generator. Công cụ này có giao diện tiếng Việt nên sẽ dễ dàng sử dụng hơn.
5. Sử dụng SSL để mã hóa dữ liệu
Sử dụng SSL cũng là cách đảm bảo an toàn thông tin truyền đi giữa trình duyệt và máy chủ. Như bạn đã biết, SSL sẽ mã hóa thông tin khi bạn đăng nhập trước khi gửi đi tới máy chủ.
Do vậy nếu hacker tìm cách chặn lấy thông tin thì cũng không hiểu được.
Việc có chứng chỉ SSL cũng không quá khó. Các công ty hosting đều có cung cấp dịch SSL. Một vài công ty hosting còn cung cấp SSL miễn phí chẳng hạn Hawkhost có cung cấp Let’s Encrypt SSL miễn phí.
Bên cạnh tính bảo mật, Google còn ưu tiên trang có sử dụng SSL trong việc xếp hạng. Nói cách khác chuyển sang sử dụng SSL giúp trang web của bạn có thêm traffic nhờ có thứ hạng cao hơn.
Tham khảo thêm: Hướng dẫn cài đặt SSL cho WordPress
6. Bổ sung user với pasword mạnh
Nếu bạn sở hữu website nhiều tác giả, sẽ có nhiều người truy cập vào trang quản trị của bạn.
Điều này làm cho website của bạn rất dễ bị tấn công nếu người dùng khác không chú ý đến bảo mật. Ví dụ thông tin đănh nhập của họ rất đơn giản và dễ hack.
Để đề phòng tình huống xấu như vậy, bạn hãy sử dụng plugin Force Strong Password. Khi cài đặt plugin nó sẽ kiểm tra độ mạnh của mật khẩu.
7.Thay đổi username admin
Trước kia, username mặc định của WordPress là admin. Như vậy nhiệm vụ của hacker chỉ còn tìm ra mật khẩu.
May mắn, WordPress bây giờ yêu cầu bạn phải chọn username khi cài đặt WordPress. Nếu username của bạn đang là admin, hãy thay đổi theo cách mình đưa ra trong bài viết này.
Bên cạnh đó, bạn nên cấu hình iThemes Security để chặn luôn IP đăng nhập username admin. Chắc chắn, kiểu đăng nhập này chả ý đồ tốt đẹp gì.
Ở phần cấu hình của Local Brute Force Protection, bạn tích vào phần lựa chọn “Automatically ban “admin” user”.
8. Giám sát sự thay đổi file
Giám sát sự thay đổi file giúp bạn biết được trang web của bạn có bị ai đột nhập vào không. Bởi vì một khi ai đó đột nhập vào trang web của, họ thường thay đổi file.
Lúc đó, nếu bạn bật tính năng giám sát file, bạn sẽ nhận được thông báo về có file thay đổi qua email.
iThemes Security hỗ trợ tính năng này nhưng không được bật. Để bật tính năng này, bạn chỉ cần click nút ‘Enable’ ở phần File Change Detection.
9. Thay đổi tiền tố cho tên bảng trong cơ sở dữ liệu
Như bạn đã biết, mặc định tên các bảng trong cơ sở dữ liệu của WordPress đều bắt đầu với wp_. Sử dụng tiền tố mặc định như vậy làm cho cơ sở dữ liệu rất dễ bị tấn công SQL Injection.
Vì vậy, mình khuyên bạn nên thay đổi nó. Bạn có thể thay đổi nó khi cài đặt WordPress.
Nếu bạn đã cài đặt rồi, bạn có thể thay đổi nhờ vào plugin iThemes Security. Bạn nhớ sao lưu dữ liệu khi thay đổi.
Cách thay đổi:
Ở phần Advanced của iThemes Security, bạn truy cập phần cấu hình có tên “Change Database Table Prefix”. Sau đó làm theo hướng dẫn
10. Sao lưu cơ sở dữ liệu đều đặn
Cho dù trang web có bảo mật cỡ nào, nó cũng không phải là pháo đài bất khả xâm phạm. Các trang web lớn của chính phủ còn bị hacker phá hoại huống hồ một website nhỏ nhoi thì ăn nhằm gì.
Vì vậy, bạn nên backup website WordPress một cách đều đặn.
Có nhiều giải pháp để bạn lựa chọn. Nếu bạn không có tiền, có thể chọn UpdraftPlus. Nó giúp bạn sao lưu tự động. Và bạn có thể thiết lập nơi lưu trữ trên dịch vụ đám mây như DropBox. Nhìn chung nó đáp ứng nhu cầu sao lưu cơ bản.
Còn nếu ngân sách của bạn dồi dào, bạn có thể sử dụng cách dịch vụ như BackupBuddy, VaultPress
11. Tạo mật khẩu mạnh cho cơ sở dữ liệu
Cũng giống như mật khẩu cho trang đăng nhập vào màn hình quản trị, hãy sử dụng mật khẩu thật mạnh cho cơ sở dữ liệu.
Ngay khi cài đặt WordPress, bạn nên tận dụng mật khẩu sinh ra sẵn cho bạn. Mật khẩu này rất mạnh.
Còn nếu bạn vẫn đang có mật khẩu yếu, bạn hãy sử dụng công cụ password generator để có được mật khẩu tốt nhất.
12. Cập nhật WordPress đều đặn
Một số người thường có thói quen lười cập nhật WordPress, theme và plugin. Điều này vô tình tạo ra lỗ hổng bảo mật cho hacker lợi dụng.
Hãy cập nhập thường xuyên WordPress, theme và plugin. Nó giúp website của bạn chạy ổn định và bảo mật tốt hơn
13. Tắt tính năng sửa file
WordPress có một editor giúp bạn sửa trực tiếp code của plugin và theme. Bạn có thể tìm thấy nó ở Appearance -> Editor.
Tính năng này giúp bạn thuận tiện sửa code mà không cần sử dụng FTP truy cập vào host.
Nhưng nó cũng có thể tạo ra rủi ro về mặt bảo mật khi hacker đã truy cập được trang quản trị. Vì vậy bạn nên tắt nó. Nếu có sửa gì, sử dụng FTP hoặc File Manager để truy cập vào host, rồi sửa trong đó. Xét cho cùng khi website đã chạy ổn định, bạn cũng ít khi chỉnh sửa code.
Để khóa editor này, bạn sử dụng iThemes Security. Bạn vào Security -> Settings -> WordPress Tweaks. Đảm bảo bạn đã tích lựa chọn Disable File Editor.
14. Ngăn thực thi file php ở thư mục upload
Hãy chặn thực thi file php ở thư mục uploads để ngăn kẻ xấu cố tình upload kịch bản nguy hiểm trong thư mục này.
Để làm điều này, bạn vào Security -> Settings. Enable System Tweaks nếu chưa được enable. Sau đó bạn tích vào lựa chọn Disable PHP in Uploads. Nhớ click Save Settings để lưu lại thiết lập.
15. Bảo vệ thư mục WordPress Admin (wp-admin) bằng mật khẩu
Bình thường khi một ai đó truy cập vào trang wp-admin (yourdomain.com/wp-admin), màn hình yêu cầu username và mật khẩu hiện ra.
Bạn có thể bổ sung thêm một tầng xác thực nữa. Nghĩa là người dùng phải xác thực hai lần mới vào được trang quản trị.
Với cách này, hack màn hình wp-admin trở nên khó hơn.
Chúng ta sử dụng cPanel để làm việc này.
Đầu tiên bạn Login cPanel, cuộn xuống phần Security. Click vào biểu tượng “Password Protect Directories”
Một hộp thoại xuất hiện, bạn chọn web root
Ở màn hình tiếp theo bạn chọn thư mục wp-admin. Cuối cùng, bạn sẽ nhìn thấy màn hình sau
Đầu tiên bạn đánh dấu vào lựa chọn “Password protected this directory”. Sau đó bạn tạo một user có quyền truy cập vào thư mục đó.
Như là thế là xong.
Bây giờ, khi bạn truy cập vào thư mục wp-admin trong trình duyệt, bạn sẽ nhìn thấy một hộp thoại yêu cầu xác thực như bên dưới:
Lối 404 hay Too many redirects
Nếu bạn gặp lỗi này, bạn mở file .htaccess ở thư mục gốc (ví dụ public_html) và bổ sung đoạn code sau
ErrorDocument 401 default
Lỗi Ajax ở front-end
Nếu sau khi thiết lập password như trên mà người dùng luôn nhìn thấy popup yêu cầu xác thực khi truy cập trang chủ, có thể bạn đang gặp lỗi Ajax. Để fix lỗi này, hãy mở file .htaccess ở thư mục /wp-admin (không phải là file .htaccess ở thư mục gốc). Nếu không có file này, bạn có thể tạo một file. Và bổ sung đoạn code sau
<Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
Lưu ý: Nếu bạn đã đổi đường dẫn trang login như mình đề cập ở mục 3 thì không cần thiết phải sử dụng cách bảo mật này.
16. Tắt tính năng XML-RPC trong WordPress
XML-RPC vốn dĩ đã được tắt từ lâu vì lý do bảo mật. Nhưng đến WordPress 3.5 nó được bật lên mặc định.
Một vài thông tin thêm về XML-RPC nếu bạn chưa biết
XML-RPC là kết nối từ xa với WordPress sử dụng XML để trao đổi dữ liệu qua lại. Thông thường bạn sử dụng tính năng để post từ các ứng dụng khách như Windows Live Writer, hay các ứng dụng sử dụng IFTT.
Nhưng bật tính năng XML-RPC đồng nghĩa bạn đang mở cửa cho tấn công dạng brute force vào website của bạn để đánh cắp mật khẩu. Tệ hơn nữa là kiểu tấn công HTTP Flood Attack (một kiểu tấn công DDoS). Với hình thức tấn công này, hacker gửi một lượng lớn request làm tê liệt máy chủ.
Vì vậy tốt nhất bạn hãy tắt XML-RPC. Sử dụng một trong hai cách sau:
a. Tắt XML-RPC bằng .htaccess
Đơn giản, mở file .htaccess và bổ sung đoạn code sau
# Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all allow from 123.123.123.123 </Files>
b. TắT XML-RPC sử dụng iThemes Security
Bạn vào Security -> Settings -> WordPress Tweak và chọn Disable XML-RPC như bên dưới
Lời kết
Đó là tất cả các cách bảo mật WordPress mà mình biết.
Như mình đã nói ở phần đầu, bạn nên cài đặt iThemes Security. Plugin này đem đến cho website WordPress mức bảo mật cơ bản nhất.
Còn nếu điều kiện kinh tế cho phép bạn có thể tham khảo Sucuri Firewall để bảo mật website tốt hơn.
Nếu bạn biết cách bảo mật WordPress nào hay, hãy để cho mình biết thông qua phần comment bên dưới.
Yêu thích viết blog.