Các tệp trong WordPress cần được bảo mật wp-config.phpvà .htaccesslà hai trong số những tệp quan trọng nhất trong cài đặt WordPress của bạn. Chúng chứa thông tin nhạy cảm như thông tin đăng nhập cơ sở dữ liệu và cấu hình máy chủ. Bảo mật đúng cách các tệp này là điều cần thiết cho bảo mật WordPress.
Tại sao cần bảo mật WordPress những tập tin này?
Tệp wp-config.php chứa:
- Tên cơ sở dữ liệu, tên người dùng và mật khẩu
- Khóa xác thực và muối
- Tiền tố bảng
- Cài đặt gỡ lỗi
- Cấu hình nhạy cảm khác
Các điều khiển trong tệp .htaccess:
- Viết lại URL (liên kết cố định)
- Hạn chế truy cập
- Quy tắc chuyển hướng
- Tiêu đề bảo mật
- Quy tắc bộ nhớ đệm
Phương pháp 1: Bảo mật bằng cách sử dụng quyền truy cập tập tin (chmod)
Hiểu về quyền truy cập tệp
Quyền truy cập tập tin kiểm soát ai có thể đọc, ghi hoặc thực thi tập tin. Chúng được biểu thị bằng ba chữ số cho chủ sở hữu, nhóm và công khai.
| Sự cho phép | Giá trị | Nghĩa |
|---|---|---|
| Đọc (r) | 4 | Xem nội dung tệp |
| Viết (w) | 2 | Chỉnh sửa tệp |
| Thực thi (x) | 1 | Chạy như một chương trình |
Các tổ hợp quyền hạn phổ biến:
400– Chỉ chủ sở hữu mới có thể đọc (chế độ hạn chế cao nhất)440– Chỉ dành cho chủ sở hữu và nhóm đọc600– Chỉ người sở hữu mới có quyền đọc/ghi.644– Chủ sở hữu có quyền đọc/ghi, người khác chỉ có quyền đọc.
Thiết lập quyền truy cập cho wp-config.php
Khuyến nghị: 400 hoặc 440
Sử dụng phần mềm FTP (FileZilla, v.v.):
- Kết nối với máy chủ của bạn qua FTP/SFTP.
- Điều hướng đến thư mục gốc của WordPress.
- Nhấp chuột phải
wp-config.php> Quyền truy cập tệp - Đặt giá trị số thành
400(hoặc440nếu 400 gây ra sự cố) - Nhấp OK
Sử dụng SSH:
chmod 400 wp-config.phpLưu ý: Nếu mã lỗi 400 khiến trang web của bạn bị lỗi, hãy thử mã 440 hoặc 600. Một số nhà cung cấp dịch vụ lưu trữ yêu cầu nhóm máy chủ web phải có quyền truy cập đọc.
Thiết lập quyền truy cập cho tệp .htaccess
Đề xuất: 644
- Tìm
.htaccesstrong thư mục gốc của WordPress. - Nhấp chuột phải > Quyền truy cập tệp
- Đặt thành
644 - Nhấp OK
Sử dụng SSH:
chmod 644 .htaccessQuan trọng: Tuyệt đối không sử dụng quyền 777. Quyền này cho phép bất kỳ ai cũng có thể đọc, ghi và thực thi – một rủi ro bảo mật nghiêm trọng.
Phương pháp 2: Bảo vệ tập tin bằng quy tắc .htaccess
Thêm các quy tắc này vào .htaccesstệp của bạn để chặn truy cập trực tiếp vào các tệp nhạy cảm:
Bảo vệ tệp wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>Bảo vệ chính tệp .htaccess
<files .htaccess>
order allow,deny
deny from all
</files>Quy tắc bảo mật đầy đủ
Thêm bộ quy tắc toàn diện này vào tệp .htaccess của bạn:
# Protect wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# Protect .htaccess
<files .htaccess>
order allow,deny
deny from all
</files>
# Block access to sensitive files
<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>
# Disable directory browsing
Options -Indexes
# Block access to includes folder
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>Phương pháp 3: Di chuyển wp-config.php lên thư mục gốc
WordPress tự động tìm tệp wp-config.php ở thư mục cao hơn thư mục cài đặt của bạn. Di chuyển tệp đó lên trên sẽ tăng thêm một lớp bảo mật:
- Di chuyển
wp-config.phptừ/public_html/sang/home/username/ - WordPress sẽ tự động tìm thấy nó.
- Tệp hiện nằm ngoài thư mục có thể truy cập công khai.
Lưu ý: Phương pháp này có thể không hoạt động trên tất cả các cấu hình web hosting là gì, đặc biệt là shared hosting.
Mẹo bảo mật WordPress bổ sung
1. Thêm khóa bảo mật
Hãy đảm bảo tệp wp-config.php của bạn có các khóa xác thực duy nhất. Tạo khóa mới tại: https://api.wordpress.org/secret-key/1.1/salt/
2. Vô hiệu hóa chế độ chỉnh sửa tập tin
Thêm đoạn mã này vào tệp wp-config.php để vô hiệu hóa việc chỉnh sửa giao diện/plugin từ bảng điều khiển:
define('DISALLOW_FILE_EDIT', true);3. Giới hạn số lần đăng nhập
Cài đặt plugin bảo mật như Wordfence hoặc giới hạn số lần đăng nhập thông qua tệp .htaccess.
4. Ẩn phiên bản WordPress
Thêm đoạn mã sau vào file functions.php của giao diện:
remove_action('wp_head', 'wp_generator');Kiểm tra bảo mật của bạn
Sau khi thực hiện các thay đổi, hãy kiểm tra xem chúng có hoạt động hay không:
- Hãy thử truy cập
yourdomain.com/wp-config.phptrực tiếp – sẽ hiển thị lỗi 403 Forbidden. - Hãy kiểm tra xem trang web của bạn vẫn tải đúng cách nhé.
- Kiểm tra xem các chức năng quản trị WordPress vẫn hoạt động bình thường.
- Kiểm tra xem các liên kết thường trực vẫn hoạt động bình thường.
Khắc phục sự cố
Trang web bị lỗi sau khi thay đổi quyền truy cập?
Hãy thử thiết lập quyền truy cập ít hạn chế hơn (440 thay vì 400, hoặc 644 thay vì 600). Một số máy chủ yêu cầu các quyền truy cập cụ thể.
Không thể lưu liên kết thường trực?
Tạm thời thiết lập quyền truy cập tệp .htaccess thành 666, lưu các đường dẫn thường trực, sau đó thay đổi lại thành 644.
Lỗi 403 xuất hiện khắp nơi?
Kiểm tra các quy tắc trong tệp .htaccess xem có lỗi cú pháp không. Tạm thời đổi tên tệp .htaccess để kiểm tra.
Bản tóm tắt
| Tài liệu | Quyền được đề xuất | Quy tắc .htaccess |
|---|---|---|
| wp-config.php | 400 hoặc 440 | phủ nhận tất cả |
| .htaccess | 644 | phủ nhận tất cả |
| Các tệp PHP khác | 644 | – |
| Danh mục | 755 | – |
Bảo mật các tập tin này là một bước cơ bản trong bảo mật WordPress. Kết hợp với việc luôn cập nhật WordPress, giao diện và plugin, sử dụng mật khẩu mạnh và cài đặt plugin bảo mật, trang web WordPress của bạn sẽ được bảo vệ tốt trước các cuộc tấn công phổ biến.
FAQ
1. Vì sao cần bảo mật file wp-config.php và .htaccess trong WordPress?
File wp-config.php chứa thông tin đăng nhập cơ sở dữ liệu, khóa xác thực, tiền tố bảng và nhiều cấu hình nhạy cảm. File .htaccess kiểm soát rewrite URL, hạn chế truy cập, chuyển hướng và các quy tắc bảo mật. Nếu hai file này bị truy cập trái phép, website có thể bị chiếm quyền hoặc chèn mã độc.
2. Nên đặt quyền chmod bao nhiêu cho wp-config.php?
Khuyến nghị đặt quyền 400 hoặc 440 cho wp-config.php. Quyền 400 chỉ cho chủ sở hữu đọc, còn 440 cho phép nhóm đọc. Nếu website gặp lỗi khi đặt 400, bạn có thể thử 440 hoặc 600 tùy cấu hình hosting.
3. Quyền chmod đề xuất cho file .htaccess là gì?
Quyền đề xuất cho .htaccess là 644. Chủ sở hữu có thể đọc và ghi, người khác chỉ có thể đọc. Tuyệt đối không sử dụng quyền 777 vì điều này cho phép bất kỳ ai cũng có thể đọc, ghi và thực thi, gây rủi ro bảo mật nghiêm trọng.
4. Làm sao chặn truy cập trực tiếp vào wp-config.php bằng .htaccess?
Bạn có thể thêm đoạn mã sau vào file .htaccess: (order allow,deny deny from all) . Quy tắc này sẽ từ chối mọi truy cập trực tiếp từ trình duyệt đến file wp-config.php và trả về lỗi 403 Forbidden.
5. Làm thế nào để tắt directory browsing trong WordPress?
Bạn có thể thêm dòng Options -Indexes vào file .htaccess. Thiết lập này sẽ ngăn server hiển thị danh sách file trong thư mục khi không có file index, giúp tránh lộ cấu trúc thư mục và tài nguyên nội bộ.
6. Có nên di chuyển wp-config.php ra ngoài thư mục public_html không?
Có. WordPress có thể tự động tìm wp-config.php ở thư mục cao hơn thư mục cài đặt. Di chuyển file này ra ngoài public_html sẽ tăng thêm một lớp bảo mật vì file không còn nằm trong thư mục truy cập công khai. Tuy nhiên, phương pháp này có thể không hoạt động trên một số hosting shared.
7. Tôi có nên chặn quyền truy cập vào file .htaccess chính nó không?
Có. Để đảm bảo không ai có thể xem hoặc sửa file .htaccess từ bên ngoài, hãy thêm đoạn mã này vào chính nó:
order allow,deny
deny from all
satisfy all
8. Sau khi cấu hình bảo mật, cần kiểm tra những gì?
Bạn nên thử truy cập yourdomain.com/wp-config.php để đảm bảo hiển thị lỗi 403 Forbidden. Đồng thời kiểm tra website vẫn tải bình thường, chức năng quản trị hoạt động ổn định và liên kết thường trực không bị lỗi.
9. Website bị lỗi sau khi thay đổi quyền truy cập phải làm sao?
Nếu website bị lỗi sau khi đổi quyền, hãy thử đặt quyền ít hạn chế hơn, ví dụ 440 thay vì 400 hoặc 644 thay vì 600. Một số máy chủ yêu cầu quyền cụ thể để nhóm máy chủ web có thể đọc file.
10. Ngoài chmod và .htaccess, còn cách nào tăng bảo mật WordPress?
Bạn nên thêm khóa bảo mật mới trong wp-config.php, vô hiệu hóa chỉnh sửa file bằng define('DISALLOW_FILE_EDIT', true);, giới hạn số lần đăng nhập và ẩn phiên bản WordPress. Kết hợp cập nhật WordPress, theme, plugin và sử dụng mật khẩu mạnh sẽ giúp tăng cường bảo vệ toàn diện.

