Trong chương này, bạn sẽ giải quyết vấn đề bảo mật web và cách bảo mật liên quan đến WordPress. Có rất nhiều mối đe dọa đáng sợ trên Internet, nhưng với chương này — và tất nhiên là cả WordPress — bạn sẽ có nhiều cơ hội hơn để giữ cho trang web của mình an toàn và bảo mật.
Một phần của việc sở hữu trang web là giữ cho trang web và người đăng ký của bạn an toàn khỏi tin tặc. Bạn không bao giờ có thể an toàn 100%. Nhưng với trang web WordPress, bạn sẽ được bảo vệ tốt. Các nhà phát triển WordPress hiểu tầm quan trọng của bảo mật và họ đã xây dựng một hệ thống cực kỳ hiệu quả để giải quyết mọi lỗ hổng mà bạn sẽ gặp phải.
Mẹo: Luôn có một hệ thống sao lưu đáng tin cậy để nếu có sự cố xảy ra với trang web của bạn, bạn có thể đặt lại về phiên bản cuối cùng mà bạn biết là đã hoạt động. Chương 6 sẽ hướng dẫn bạn cách sao lưu trang web của mình.
Hiểu về những điều cơ bản của bảo mật web
Bảo mật thông tin là hành động bảo vệ thông tin và hệ thống thông tin khỏi việc sử dụng, truy cập, sửa đổi và gián đoạn không mong muốn hoặc trái phép. Bảo mật thông tin được xây dựng dựa trên các nguyên tắc bảo vệ tính bảo mật, tính toàn vẹn và tính khả dụng của thông tin. Mục tiêu cuối cùng là quản lý rủi ro của bạn.
Hãy nhớ rằng Không có giải pháp toàn diện nào có thể đảm bảo rằng bạn không bao giờ bị xâm phạm. Hãy xem xét máy tính để bàn của bạn: Ý tưởng chạy hệ điều hành (cho dù là Windows hay MacOS) mà không có phần mềm diệt vi-rút là rất không thực tế.
Nguyên tắc tương tự cũng áp dụng cho trang web của bạn. Bạn không bao giờ có thể giảm tỷ lệ rủi ro xuống bằng không, nhưng bạn có thể triển khai các biện pháp kiểm soát để giảm thiểu tác động và chủ động chuẩn bị cho các mối đe dọa.
Bạn cần phải quen thuộc với sáu loại rủi ro (hoặc mối đe dọa) riêng biệt:
- Defacements (Bôi nhọ): Động cơ đằng sau hầu hết các hành động bôi nhọ là thay đổi giao diện của trang web. Các hành động bôi nhọ thường rất cơ bản và thể hiện một số lập trường xã hội, chẳng hạn như ủng hộ một mục đích hoặc thu hút sự chú ý đến
tình hình bảo mật kém của bạn. Nếu bạn truy cập trang web của mình và thấy nó không giống như bạn mong đợi, hãy liên hệ với máy chủ lưu trữ để tìm hiểu xem trang web có bị làm hỏng không và nếu có, hãy yêu cầu hỗ trợ khôi phục trang web.
- Search engine optimization (SEO) spam (Thư rác tối ưu hóa công cụ tìm kiếm (SEO): Loại tấn công này nhằm mục đích phá hỏng kết quả tìm kiếm của bạn; các công cụ tìm kiếm có thể cảnh báo người xem tránh xa trang web của bạn. Loại phổ biến nhất là Pharma hack, tức là chèn mã vào trang web và liên kết công cụ tìm kiếm của bạn để chuyển hướng lưu lượng truy cập của bạn đến các công ty dược phẩm và sản phẩm của họ. Nếu bạn thấy danh sách trang web của mình biến mất khỏi các công cụ tìm kiếm lớn như Google, bạn nên lo ngại rằng trang web của mình đã trở thành nạn nhân của thư rác SEO và hãy liên hệ với nhà cung cấp dịch vụ lưu trữ để được hỗ trợ.
- Malicious redirects (Chuyển hướng độc hại): Các cuộc tấn công chuyển hướng độc hại chuyển hướng lưu lượng truy cập của bạn đến một nơi khác, rất có thể là đến một trang web khác. Ví dụ:
nếu tên miền của bạn là domain.com, một chuyển hướng độc hại có thể chuyển hướng đến: adifferentdomain.com. Chuyển hướng độc hại thường được tích hợp với các cuộc tấn công khác (thư rác SEO là một trong số đó). Nếu bạn truy cập trang web của mình và phát hiện tên miền của mình chuyển hướng đến một tên miền khác mà bạn không nhận ra, thì trang web của bạn đã trở thành nạn nhân của một cuộc tấn công chuyển hướng độc hại và bạn nên liên hệ với nhà cung cấp dịch vụ lưu trữ để được hỗ trợ.
- iFrame injections (Tiêm iFrame): Loại tấn công này nhúng một iFrame ẩn vào trang web của bạn, tải một trang web khác lên trình duyệt của khách truy cập (giống như quảng cáo bật lên). Các trang web hoặc quảng cáo được nhúng này có thể dẫn đến các trang web độc hại mang theo vô số loại virus.
- Phishing scams: Phishing scams trước đây chỉ thuộc về thế giới email: Bạn nhận được email từ ngân hàng yêu cầu bạn xác nhận thông tin đăng nhập, nhưng nếu bạn làm theo hướng dẫn, thông tin của bạn thực sự sẽ đến máy chủ của kẻ tấn công chứ không phải trang web hợp pháp.
Các trang web WordPress đôi khi được sử dụng để phân phối các cuộc tấn công này. Kẻ tấn công phát triển các tệp và mã độc hại trông giống như plugin và chủ đề, sau đó khai thác thông tin đăng nhập trên máy chủ hoặc trang web WordPress hoặc kẻ tấn công sử dụng lỗ hổng đã biết để lây nhiễm plugin và chủ đề. Sau đó, chúng sử dụng phương pháp mồi nhử thông qua quảng cáo hoặc email để chuyển hướng lưu lượng truy cập đến các trang giả mạo này được lưu trữ trên các trang web hợp pháp. Hãy chú ý đến hành vi bất thường trên trang web của bạn, chẳng hạn như hiển thị quảng cáo mà bạn không tự chèn hoặc chuyển hướng đến các tên miền mà bạn không quen thuộc. Nếu bất kỳ lúc nào bạn nghi ngờ rằng trang web và các tệp cơ bản của mình đã bị can thiệp, hãy liên hệ với nhà cung cấp dịch vụ lưu trữ web để được hỗ trợ.
- Backdoor shell: Với backdoor shell, kẻ tấn công sẽ tải một đoạn mã PHP lên trang web của bạn, cho phép chúng kiểm soát trang web, tải xuống các tệp của bạn và tải lên tệp của chúng. Loại tấn
công này khó phát hiện hơn vì nó không phải lúc nào cũng thay đổi giao diện trang web của bạn hoặc trải nghiệm của bạn với trang web. Bạn thường phát hiện ra loại tấn công này bằng cách nhận thấy các tệp mới trong hệ thống tệp của mình hoặc mức sử dụng băng thông tăng đáng kể.
Phần còn lại của chương này sẽ chỉ cho bạn cách ngăn chặn bất kỳ cuộc tấn công khó chịu nào trong số này vào trang web WordPress của bạn để bạn có thể giữ an toàn cho bản thân và khách truy cập.
Cập nhật WordPress
Cách đầu tiên để ngăn chặn tin tặc là cập nhật trang web WordPress của bạn. Cách nhanh chóng và dễ dàng để thực hiện là thông qua tính năng cập nhật tự động. Chương 5 sẽ hướng dẫn bạn từng bước trong quy trình cập nhật WordPress.
Hãy nhớ rằng vẻ đẹp của việc áp dụng các bản cập nhật là chúng thường giới thiệu các tính năng mới được sắp xếp hợp lý, cải thiện khả năng sử dụng tổng thể và hoạt động để vá và đóng các lỗ hổng đã xác định hoặc đã biết.
Thật không may, khi công nghệ và các khái niệm phát triển, thì những kẻ tấn công cũng như các phương pháp tìm lỗ hổng mới của chúng cũng phát triển theo. Bạn càng tụt hậu, việc cập nhật sau này càng khó khăn và rủi ro của bạn càng tăng, điều này sẽ ảnh hưởng đến mức độ dễ bị tấn công của bạn. Vì vậy, điều quan trọng là phải cập nhật WordPress ngay khi có bản cập nhật.
Cài đặt bản vá
Không phải tất cả các bản cập nhật WordPress đều giống nhau, nhưng bạn nên đặc biệt chú ý đến một số bản cập nhật của phần mềm cốt lõi WordPress.
Các bản cập nhật bao gồm các bản phát hành chính (major
releases), chứa các tính năng bổ sung, thay đổi giao diện người
dùng (UI), sửa lỗi và cập nhật bảo mật. Bạn luôn có thể biết mình đang sử dụng bản phát hành chính nào bằng hai số đầu tiên trong số phiên bản (như trong 5.0).
Sau đó, bạn có các bản phát hành điểm (point releases), là các bản phát hành phụ có thể được xác định bằng số thứ ba trong số phiên bản (như trong 5.0.1). Các bản phát hành này chứa các bản sửa lỗi và bản vá bảo mật nhưng không giới thiệu các tính năng mới.
Mẹo: Khi bạn thấy bản phát hành điểm, hãy áp dụng bản phát
hành đó. Các bản phát hành điểm hiếm khi gây ra sự cố cho trang web của bạn và trong nhiều trường hợp, chúng giúp đóng các lỗ hổng.
Sử dụng tường lửa
Tường lửa xây dựng một bức tường giữa trang web của bạn và Internet rộng lớn hơn nhiều; một tường lửa tốt sẽ ngăn chặn được nhiều cuộc tấn công.
Máy chủ web của bạn cũng nên có một tường lửa tốt để bảo vệ.
Mỗi ngày, vô số lượt truy cập, tốt và xấu, được thực hiện trên mọi trang web. Một số lượt truy cập là của khách truy cập thực, nhưng nhiều lượt truy cập là của bot tự động. Tường lửa ứng dụng web
(web application firewall-WAF) giúp bảo vệ cài đặt WordPress của bạn khỏi những khách truy cập xấu đó.
Hãy nhớ rằng WAF không cung cấp khả năng bảo vệ 100%, nhưng chúng là biện pháp ngăn chặn tốt đối với các cuộc tấn công hàng ngày.
Nếu bạn đang sử dụng giải pháp lưu trữ được quản lý, có lẽ bạn đã may mắn, vì hầu hết các giải pháp này đều cung cấp các tính năng giống như WAF tích hợp sẵn.
Thông tin kỹ thuật: Nếu bạn có kế hoạch quản lý và quản trị
máy chủ của riêng mình, hãy cài đặt và định cấu hình một công cụ như Cloudflare (https://www.cloudflare.com), một giải pháp mã nguồn mở giống như WAF hoạt động ở cấp độ máy chủ web dưới dạng mô-đun Apache. Cloudflare cung cấp các tính năng giống như WAF tốt nhất hiện có cho trang web WordPress của bạn trên giải pháp lưu trữ được quản lý. Nếu bạn muốn sử dụng plugin Cloudflare trên trang web WordPress của mình, bạn cần có tài khoản Cloudflare tại https://www.cloudflare.com. Bạn có thể mở tài khoản miễn phí hoặc nâng cấp lên tài khoản trả phí có nhiều tính năng hơn. Sau khi cài đặt plugin trên trang web của mình, hãy làm theo hướng dẫn trên trang cấu hình Cloudflare để kết nối blog WordPress của bạn với tài khoản Cloudflare.
Sử dụng các nguồn đáng tin cậy
Một trong những điều đơn giản nhất bạn có thể làm để giữ cho trang web của mình an toàn là kiểm tra tất cả những người làm việc trên trang web của bạn: quản trị viên trang web, nhà thiết kế trang web, nhà phát triển và máy chủ web. Nếu bạn đang chạy
một trang web WordPress tự lưu trữ, thì có thể có khá nhiều người.
Hãy đảm bảo sử dụng các chủ đề, plugin và ứng dụng đáng tin cậy. Nếu bạn đang sử dụng chủ đề hoặc plugin, hãy sử dụng các thư mục Chủ đề và Plugin của WordPress.org (https://wordpress.org/themes và https://wordpress.org/plugins, tương ứng). Mỗi chủ đề và plugin bạn tìm thấy trong các thư mục đó đã trải qua quy trình đánh giá được ghi chép, giúp giảm nguy cơ bạn tải xuống mã nguy hiểm.
Thu hút cộng đồng người dùng WordPress. Diễn đàn WordPress (https://wordpress.org/support/forums) là nơi tuyệt vời để bắt đầu.
Yêu cầu cộng đồng tham khảo và xác định các cơ chế hỗ trợ hiện có để hỗ trợ chủ đề hoặc plugin trong thời gian dài.
Quản lý người dùng và mật khẩu
Khái niệm về đặc quyền tối thiểu (least privilege) đã được áp dụng trong nhiều thế kỷ: Cấp cho ai đó các đặc quyền cần thiết trong thời gian họ cần để thực hiện công việc hoặc nhiệm vụ của mình. Khi nhiệm vụ hoàn thành, hãy giảm các đặc quyền.
Hãy nhớ Áp dụng biện pháp bảo vệ này không chỉ cho Bảng điều
khiển WordPress của bạn mà còn cho các bảng điều khiển của máy chủ lưu trữ trang web và giao thức truyền máy chủ của bạn.
(Xem Chương 2 để biết thông tin về Giao thức truyền tệp an toàn.)
Quản lý mật khẩu có lẽ là nhiệm vụ đơn giản nhất, nhưng lại là điểm yếu của mọi ứng dụng, bao gồm cả ứng dụng trên máy tính để bàn và ứng dụng trên web. Bạn có thể giữ cho các tệp và dữ
liệu của mình trên máy chủ web an toàn và bảo mật thông qua các kỹ thuật quản lý mật khẩu đơn giản sau:
- Độ dài: Tạo mật khẩu dài hơn 16 ký tự, bao gồm các ký tự đặc biệt, để những người dùng có hại khó đoán được mật khẩu của bạn hơn.
- Tính duy nhất: Không sử dụng cùng một mật khẩu cho tất cả các dịch vụ. Theo cách đó, nếu ai đó phát hiện ra mật khẩu cho một trong các ứng dụng hoặc dịch vụ của bạn, họ sẽ không thể sử dụng mật khẩu đó để đăng nhập vào dịch vụ khác.
Bạn có thể tìm thấy thông tin chi tiết về từng vai trò trong Sách 3, Chương 3. Bạn cũng có thể khám phá thêm thông tin về người dùng và vai trò trong Tài liệu WordPress.org tại https://wordpress.org/documentation/article/roles-and-
capabilities/.
Mẹo: Tạo một tài khoản riêng với vai trò thấp hơn (như Tác giả)
và sử dụng tài khoản đó để đăng bài hàng ngày. Dành riêng tài khoản Quản trị viên chỉ để quản lý trang web của bạn.
Tăng tính bảo mật cho WordPress
Khi bạn tăng tính bảo mật cài đặt WordPress của mình, bạn sẽ giảm nguy cơ bị tấn công bởi những kẻ tấn công có ý đồ xấu.
Tăng tính bảo mật trang web của bạn bao gồm thực hiện theo năm bước sau:
- Bật xác thực đa yếu tố bằng plugin Two Factor Authentication.
- Hạn chế số lần đăng nhập.
- Tắt trình chỉnh sửa chủ đề và plugin.
- Lọc theo địa chỉ IP (Giao thức Internet).
- Hủy thực thi PHP.
Bạn sẽ tìm hiểu thêm về từng bước trong các phần sau. Ngoài ra, hãy xem thanh bên gần đó, “Tài nguyên làm cứng trang web”, để biết thêm thông tin.
TÀI NGUYÊN VỀ VIỆC CỨNG HÓA TRANG WEB
Tôi đề xuất các tài nguyên trang web sau đây cho nhu cầu củng cố và bảo mật WordPress của bạn:
- Củng cố WordPress:
https://wordpress.org/documentation/article/hardening-wordpress - Hướng dẫn bảo mật WordPress dứt khoát:
https://sucuri.net/guides/wordpress-security - Củng cố WordPress: 18 cách để củng cố bảo mật cho trang web của bạn: https://www.malcare.com/blog/wordpress-hardening
- Bảo mật WordPress – 19+ bước để khóa trang web của bạn:
https://kinsta.com/blog/wordpress-security
Bật xác thực đa yếu tố bằng plugin Two Factor Authentication
Xác thực, trong trường hợp này, đề cập đến việc xác nhận danh tính của người đang cố gắng đăng nhập và truy cập vào cài đặt WordPress của bạn — giống như khi bạn đăng nhập vào trang web WordPress của mình bằng tên người dùng và mật khẩu. Ý tưởng về xác thực đa yếu tố bắt nguồn từ ý tưởng rằng chỉ một mật khẩu không đủ để bảo mật quyền truy cập vào bất kỳ môi trường nào. Xác thực đa yếu tố (còn gọi là xác thực mạnh) yêu cầu nhiều hơn một phương thức xác thực người dùng. Theo mặc định, WordPress chỉ yêu cầu một: tên người dùng có mật khẩu.
Xác thực đa yếu tố bổ sung các lớp biện pháp xác thực để tăng cường bảo mật cho thông tin đăng nhập của người dùng.
Để bật xác thực đa yếu tố, bạn có thể sử dụng plugin miễn phí có tên là Two Factor Authentication, cung cấp xác thực người dùng hai yếu tố thông qua ứng dụng trên thiết bị di động hoặc máy tính bảng của bạn (iPhone, iPad, Android, v.v.). Để plugin này hoạt động, bạn cần những điều sau:
- Ứng dụng xác thực: Sử dụng Google Authenticator hoặc Authy;
bạn có thể tìm thấy cả hai trong App Store cho thiết bị iOS hoặc Google Play Store cho thiết bị Android.
- Plugin Multi-Factor Authentication: Bạn có thể tìm thấy plugin
này trong danh sách Plugin tại
https://wordpress.org/plugins/miniorange-login-security/. Xem Sách 7, chương 1 và chương 2 để biết thông tin chi tiết về cách tìm, cài đặt và kích hoạt plugin.
Khi bạn đã hoàn thành cả hai nhiệm vụ đó, bạn có thể cấu hình plugin Two Factor Authentication để sử dụng trên trang web của mình. Thực hiện theo các bước sau để cấu hình plugin cho từng người dùng trên trang web của bạn:
- Nhấp vào liên kết Two Factor trên menu Multi-Factor Authentication trên Bảng điều khiển của bạn. Trang Setup Two Factor sẽ mở ra.
- Tải ứng dụng xác thực xuống điện thoại thông minh của bạn (Android hoặc iPhone). Ứng dụng xác thực trên điện thoại của bạn là bắt buộc để hoàn tất xác thực hai yếu tố. Tôi đã chọn ứng dụng Authy, tải xuống iPhone của tôi.