Trang chủ Security

Một vài thủ thuật đảm bảo an toàn cho Wordpress

Một vài thủ thuật đảm bảo an toàn cho Wordpress

Tôi đã nhìn thấy rất nhiều chủ sở hữu của các website wordpress than phiền về việc website của họ bị hack. Có một quan điểm rằng sử dụng các mã nguồn mở dễ bị tổn thương bởi rất nhiều loại tấn công, nhưng điều này không thực sự là đúng hoàn toàn. Việc các mã nguồn mở dễ bị ảnh hưởng bởi các tấn công là điều đúng, nhưng chỉ một phần, bạn không thể đổ lỗi hoàn toàn cho mã nguồn mở, điều này còn phụ thuộc vào cả chính những người sở hữu các website này.

Hôm nay, tôi sẽ hướng dẫn mọi người một vài cách đơn giản để bảo mật cho website  wordpress.

1. Bảo đảm an toàn cho trang login và ngăn ngừa tấn công brute force

a. Từ chối truy cập đối với người dùng sau 5 lần đăng nhập không thành công

Việc từ chối truy cập đối với người dùng sau 5 lần đăng nhập không thành công giải quyết được một vấn đề rất lớn đó là tấn công brute force (brute force là việc thử đăng nhập với rất nhiều username và password để tìm kiếm thông tin đăng nhập chính xác) đối với trang login. Tất nhiên ở đây 5 lần là con số gợi ý, còn việc thiết lập bao nhiêu là tùy chọn của các bạn.

Để thực hiện việc này, các bạn có thể sử dụng một plugin là All In One WP Security. Đây là một plugin cung cấp rất nhiều tùy chọn bảo mật cho website wordpress của bạn. Các bạn có thể tìm kiếm phần cài đặt này tại WP Security > User Login > Login Lockdown

Ngoài ra các bạn có thể sử dụng Login LockDown nếu chỉ muốn sử dụng để từ chối truy cập khi đăng nhập không thành công.

b. Sử dụng xác thực hai bước

Việc tích hợp xác thực 2 bước (2-factor authentication) tại trang đăng nhập giúp cho website của bạn thêm an toàn hơn khi mật khẩu của bạn bất ngờ bị lộ. Trong trường hợp này, người dùng cần cung cấp thêm một thông tin xác thực khác, nó có thể là một câu hỏi bí mật, một mã pin, một tập ký tự,…

Bạn có thể sử dụng plugin  Google Authenticator để tạo ra OTP (one time password) giúp cho việc đăng nhập được an toàn hơn.

c. Đổi đường dẫn tới trang login

Mặc định thì trang login của Wordpress có thể dễ dàng truy cập thông qua wp-login.php hay wp-admin từ đường dẫn chính đến website của bạn. Khi hackers biết đường dẫn trực tiếp đến trang login, họ có thể thử tấn công brute force đối với website của bạn. Nếu bạn thực hiện việc đổi đường dẫn tới trang login tới khu vực quản trị thì bạn đã có thể đánh bại 99% tấn công brute force rồi. Đây là một trick nhỏ và bạn có thể sử dụng plugin All In One WP Security mà tôi đã đề cập ở trên.

Chú ý khi các bạn đổi đường dẫn, kẻ tấn công có thể thử truy cập bằng các đường dẫn khác nhau để tìm đường dẫn tới trang login của các bạn, vì vậy bạn nên đặt một đường dẫn thật khó để kẻ tấn công không thể đoán ra được.

d. Sử dụng mật khẩu mạnh

Những biện pháp phía trên chỉ làm hạn chế khả năng của kẻ tấn công những không thể ngăn chặn hoàn toàn. Điều cốt lõi nhất là các bạn nên sử dụng một mật khẩu thật mạnh để đảm bảo an toàn cao nhất cho website của bạn.

2. Đảm bảo an toàn cho cơ sở dữ liệu

Toàn bộ dữ liệu và thông tin về website của bạn được lưu trữ tại cơ sở dữ liệu. Sau đây tôi sẽ hướng dẫn cho các bạn một vài thủ thuật để làm tăng cường an toàn cho cơ sở dữ liệu của bạn.

a. Thay đổi prefix của các bảng trong cơ sở dữ liệu

Nếu bạn đã cài đặt website và sử dụng prefix mặc định là wp- cho tên bảng thì tôi khuyến cáo bạn nên thay đổi nó thành một từ đặc biệt khác. Việc sử dụng một prefix khác, ví dụ như mywordpress sẽ gây khó khăn cho kẻ tấn công nếu như website của bạn tồn tại lỗ hổng SQL injection dạng blind.

Bạn đã cài đặt website của bạn với prefix mặc định? Bạn hoàn toàn có thể sử dụng plugin để đổi prefix này. Một vài plugin có thể sử dụng là WP-DBManager, All In One WP Security, …

b. Backup cơ sở dữ liệu thường xuyên

Không quan trọng việc bạn đảm bảo an toàn cho website như thế nào, việc backup cơ sở dữ liệu là một điều cần thiết để tránh rủi ro khi sự cố xảy ra. Khi có bản backup, bạn có thể phục hồi website của bạn một cách nhanh chóng bất cứ khi nào bạn muốn. Có một vài plugin hữu ích sẽ giúp bạn thực hiện công việc này như All In One WP Security (miễn phí), VaultPress (thương mại), … Tất cả các plugin trên đều có thể tự động backup cơ sở dữ liệu cho bạn theo thời gian định kỳ, và bạn có thể khôi phục lại website chỉ bằng một cú nhấn chuột.

3. Đảm bảo an toàn cho mã nguồn Website

a. Bảo vệ cho tập tin wp-config.php

Tập tin wp-config.php lưu trữ rất nhiều thông tin cấu hình quan trọng về website của bạn, việc đảm bảo an toàn cho tập tin này cũng chính là bảo vệ cho website của bạn. Có một điều mà ít ai để ý đó là nếu như bạn đặt wp-config.php tại thư mục cao hơn thư mục webroot của bạn một cấp thì website của bạn vẫn có thể hoạt động bình thường. Đây cũng là vị trí mà tôi khuyến cáo dành cho các bạn để đặt tập tin wp-config.php.

b. Không cho phép sửa tập tin bao gồm các theme và các plugin

Nếu một người dùng có quyền quản trị admin truy cập vào trang quản trị website của bạn, họ có thể sửa bất kỳ tập tin nào trong các plugin và theme mà bạn đã cài đặt. Đây cũng là một cách mà các hacker sử dụng để upload webshell lên máy chủ của bạn.

Để chống lại việc sửa đổi các tập tin trong plugin và theme, bạn có thể cấu hình trong tập tin wp-config.php để hạn chế hoàn toàn việc này bằng cách thêm tùy chọn sau vào cuối tập tin:

define('DISALLOW_FILE_EDIT', true);

c. Phân quyền thư mục

Phân quyền thư mục sai có thể là một thảm họa nếu bạn đang ở môi trường share hosting. Trong trường hợp này, thay đổi quyền của tập tin và thư mục là một lựa chọn tốt để đảm bảo an toàn cho mã nguồn website. Khuyến cáo của tôi dành cho các bạn đó là hãy thay đồi quyền của thư mục thành 755, và quyền của tập tin thành 6444 để bảo vệ mã nguồn của các bạn. Việc này có thể hoàng thành bằng lệnh “chmod” thông qua terminal hoặc qua giao diện quản lý thư mục.

Tất cả những khuyến cáo trên chỉ nhằm giúp bạn an toàn hơn trong các sự cố hay các lỗ hổng đã biết. Việc cập nhật phiên bản của mã nguồn mở cũng là điều thường xuyên cần thực hiện để tránh những lỗ hổng mới được phát hiện. Chúc website của các bạn luôn an toàn. Hãy ghé thăm website hằng ngày để cập nhật các tin tức bảo mật mới nhất nhé!.

>> Tham khảo thêm: APT là gì? Tiến trình của một cuộc tấn công APT