Bảo mật WordPress là vấn đề quan trọng nhất khi chúng ta sử dụng WordPress làm nền tảng website của mình. Nếu như các bạn mới tìm hiểu website thì chắc hẳn các bạn luôn đi tìm những thủ thuật để làm đẹp WordPress, tăng tốc WordPress, cài thêm hàng loạt hiệu ứng vào website của mình … Nhưng vấn đề quan trọng nhất là bảo mật website WordPress thì chúng ta ít khi nhớ đến.
Nếu bạn lang thang trên Google với từ khóa Bảo Mật WordPress thì chắc chắn bạn sẽ tìm được rất nhiều bài hướng dẫn từ cơ bản đến nâng cao. Trong bài viết đầu tiên về việc bảo mật website trên Blog Lại Văn Đức, mình sẽ hướng dẫn các bạn thực hiện những điều cơ bản trước. Nói là cơ bản nhưng thực hiện đầy đủ 10 biện pháp dưới đây thì Blog WordPress của bạn đã được bảo mật khá khá rồi 😀
Sao Lưu và Sao Lưu Website
Đây là điều cơ bản nhất bạn luôn luôn phải nhớ tới. Đừng bao giờ nghĩ rằng website của bạn là mới, website của bạn chả có gì để người ta phá hoạt cả. Bạn cần phải sao lưu ít nhất một tuần một lần hoặc sau khi viết bài hoặc website của bạn có sự thay đổi nào đó.
Có rất nhiều cách để sao lưu. Trong bài giới thiệu Plugin WordPress mình cũng đã nhắc tới Plugin UpdraftPlus Backup and Restoration. Các bạn có thể sử dụng Plugin này.
Bảo Mật WordPress bằng mật khẩu mạnh
Các phiên bản WordPress có chức năng tự tạo mật khẩu cực mạnh cho bạn khi bạn cài đặt WordPress hoặc khi tạo người dùng mới. Nếu bạn có sử dụng các ứng dụng quản lý mật khẩu thì mình khuyên bạn nên sử dụng mật khẩu do WordPress tự tạo ra. Hoặc không thì cũng nên cố gắng thiết lập mật khẩu đủ mạnh để không ai có thể mò ra được.
Bên cạnh đó, User Name cũng không nên sử dụng các dạng thông thường như: Admin, 123, user ….
Thay đổi tiền tố – Table Prefix
Table Prefix là tiền tố của các bảng trong Database (cơ sở dữ liệu). Mặc định khi cài WordPress các bạn để ý nó sẽ có dạng wp_. Khi cài mới WordPress bạn có thể thay đổi tiền tố theo ý muốn của mình. Nhưng nhớ là phải có _ đằng sau nhé.
Nếu Blog/Website của bạn chưa đổi khi cài đặt thì mời bạn xem bài viết này:
- Thay đổi tiền tố prefix_ trong Database WordPress
CHMOD an toàn cho WordPress
CHMOD là một trong bước bảo mật website PHP nói chung và WordPress nói riêng rất tốt để hạn chế các vụ tấn công trực tiếp nhằm vào mã nguồn của website như đọc các thông tin nhạy cảm, tạo thêm các tập tin trong thư mục.
Đối với các tập tin thì bạn nên để CHMOD 644, đối với thư mục thì bạn để CHMOD 755, đối với thư mục uploads thì bạn để CHMOD 777. Ngoài ra, bạn cũng có thể CHMOD cho tập tin wp-config.php thành 600.
Nếu plugin hoặc giao diện đòi hỏi thư mục phải có CHMOD 777 thì bạn thực hiện thao tác này trên thư mục cần thiết. Không nên để CHMOD 777 cho toàn bộ thư mục của WordPress, điều này sẽ gây nguy hiểm cho trang web của bạn.
Ẩn thông báo đăng nhập khi nhập sai
Mặc định khi bạn đăng nhập vào WordPress nếu tài khoản hoặc mật khẩu sai, hệ thống sẽ báo với bạn đại loại như: tài khoản này không tồn tài, mật khẩu không đúng,… Điều này sẽ giúp kẻ phá hoại biết chính xác hơn về việc đang sai cái gì.
Để hạn chế các thông báo, bạn hãy thêm đoạn code bên dưới ào tập tin functions.php của giao diện bạn đang sử dụng là được.
add_filter('login_errors', create_function('$a', "return null;"));
Xóa phiên bản WordPress
Đoạn code bên dưới sẽ hủy chức năng xuất phiên bản của WordPress ra trong thẻ head của blog/website của bạn. Thực hiện điều này sẽ làm khó cho kẻ phá hoại, họ sẽ không biết được chúng ta đang sử dụng phiên bản WordPress nào. Như vậy, việc tấn công vào website sẽ khó khăn hơn.
remove_action('wp_head', 'wp_generator');
Luôn làm sạch Database của bạn
Luôn loại bỏ những thứ không cần thiết trên blog của bạn, việc cài đặt plugin sẽ tạo nên rác trong cơ sở dữ liệu. Bạn có thể dùng plugin optimize để làm sạch cơ sở dữ liệu của bạn. Nếu có điều kiện, bạn hãy sử dụng Plugin Smart Cleanup Tools để dọn dẹp sạch sẽ hơn.
Sau khi làm sạch database, bạn hãy trở lại bước 1 để sao lưu website của bạn.
Thay đổi khóa bảo mật WordPress
Khóa bảo mật là những dòng được khai báo trong tập tin wp-config.php của bạn. Khóa bảo mật rất quan trọng đối với việc bảo mật WordPress. Nếu bạn đang nghi ngờ rằng blog/website của bạn có kẻ phá hoại dòm ngó thì hãy vào website API của WordPress và copy đoạn mã trong đó thay thế cho khóa bảo mật của bạn. Mỗi lần F5 lại site API của WordPress thì các mã khóa bảo mật sẽ thay đổi, các bạn nên làm việc này theo định kỳ ít nhất 1 tháng 1 lần.
define('AUTH_KEY', 'r{IJ:=nV%<ieqr>lZHJg/ FE+8$~j2ca<nTRKw$:7M@Yo{LgHRElsG>`%wiP4=(W'); define('SECURE_AUTH_KEY', 'k5?[~)3cJE4R.h +[-[C.MX s`YYO}>1_?{iE4yNY~o=W*&%V.yxY+=/;4#@!{N|'); define('LOGGED_IN_KEY', 'CN&L5yTpY0R>H.|eG(I|wC4+*n[|]M}<^CFC34J|.Fcpf:@`5p0b0[oL6eBxwkz '); define('NONCE_KEY', 'G(DB0;JYdk&BvzF;RzXoOY.X)B~:/X^>a+W&K^GTE-d?voVvX+_wYFanYNCbWL?J'); define('AUTH_SALT', 'so-=~,17M],-%_^+9oU8|||&*]T(75tEd#R}qc38@[&bhN/gagg~RR.bf]5/FJtR'); define('SECURE_AUTH_SALT', ',=2]QGNRM3,O(It/gD+KDIQ!dW@LGlny5)Z<IrY%yzi{v|>J6-rpr,/1^jwMqKuy'); define('LOGGED_IN_SALT', 'T<gtb*ToC*2~x1/9wC(:8?d.;KUF/E4|X[6=)+i)*Zw63W 8KNBpr|H1Pc|h-5cl'); define('NONCE_SALT', 'Jcc<xl=GYyayz}NW>_,S*CfY+JLP0DB=-)oR4=OPoj~~$H IPv1uJSmd:f?s9FP<');
Sử dụng SSL cho back-end
back-end là nơi bạn quản trị Blog/Website WordPress của bạn. Nếu bạn có sử dụng SSL cho website thì nó chỉ hiển thị cho phần frontend mà thôi. Để sử dụng luôn https cho back-end, các bạn hãy thêm đoạn code bên dưới vào file wp-config.php
define('FORCE_SSL_ADMIN', true);
Sử dụng thêm các Plugin Bảo Mật WordPress
WordPress có rất nhiều Plugin hỗ trợ bảo mật. Nhưng không phải Plugin nào chúng ta cũng sử dụng và đối với các plugin có cùng chức năng thì bạn nên chọn và sử dụng 1 plugin duy nhất. Bên dưới là một số Plugin bảo mật WordPress nổi bật dành cho bạn.
Thế Thôi
Bên trên là 9 cách bạn có thể làm thủ công trong việc bảo mật WordPress và mình cũng giới thiệu tới các bạn 3 Plugin hỗ trợ bảo mật cho website của bạn. Bên cạnh đó, các bạn cũng nên chọn nhà cung cấp Hosting/VPS tốt. Đừng ham giá rẻ mà không an toàn. Và mình khuyên các bạn cũng nên sử dụng cloudflare cho website của bạn. Chúc các bạn thành công.