Trang web có trở nên chậm và traffic giảm không rõ lý do? Trang web hiển thị quảng cáo không mong muốn? Bạn thấy pop-up bạn không chèn? Có thể bạn cần X-XSS-protection trên WordPress.
Đây có thể là kết quả của tấn công XSS trên trang WordPress. Những tấn công này khá phổ biến nhưng tác động tàn khốc.
CVE Details ghi nhận 9.903 cuộc tấn công XSS lớn từ 2009. Không biết bao nhiêu cuộc tấn công không được báo cáo.
Tin tặc dùng lỗ hổng XSS để đánh cắp dữ liệu, hiển thị quảng cáo của mình (thường ma túy trái phép hoặc nội dung người lớn), gian lận khách hàng, trong danh sách dài hoạt động độc hại.
Nhưng bạn không cần lo vì có cách dễ dàng bảo vệ trang chống XSS. Hôm nay, chúng tôi xem cách thêm header bảo vệ X-XSS trong WordPress vì nó sẽ chặn mạnh mẽ mọi cố gắng XSS.
Bạn sẽ học header phản hồi này là gì và cách triển khai. Sau đó, chúng tôi cũng cho thêm vài mẹo bảo mật WordPress để trang web "chắc như đúc" chống XSS và mọi tấn công!
Tóm tắt: Bảo vệ trang WordPress khỏi tấn công XSS và mọi dạng mã độc với Giải Pháp Bảo Mật Toàn Diện MalCare. Cài plugin trên WordPress và yên tâm trang được giám sát, quét thường xuyên để bảo vệ khỏi mọi tấn công độc hại.
XSS (Cross-Site Scripting) Trong WordPress Là Gì?
Cross-site scripting (XSS) là kiểu tấn công tiêm mã mà tin tặc khai thác lỗ hổng bảo mật xuất phát từ đầu vào người dùng trên trang web. Đầu vào người dùng có thể là bất kỳ khu vực nào nhận dữ liệu từ người dùng như thanh tìm kiếm, phần bình luận, biểu mẫu liên hệ, hoặc trường đăng nhập.
Họ tận dụng loại thông tin người dùng có thể nhập vào các trường này theo nhiều cách. Vì vậy, có các loại tấn công cross-scripting khác nhau. Ở đây, chúng tôi chi tiết hai tấn công XSS phổ biến nhất:
Tấn Công XSS Stored (Lưu Trữ) Hoặc Persistent
Loại tấn công này nhắm vào người truy cập trang web. Hãy xem cách nó xảy ra.
Giả sử examplesite.com chấp nhận đầu vào người dùng trên trang web dưới dạng bình luận trên bài blog. Người truy cập chia sẻ suy nghĩ và hỏi bằng cách để lại bình luận. Sau khi gửi, nó gửi đến cơ sở dữ liệu và lưu.
Thông thường, trường bình luận nên có cấu hình xác thực dữ liệu trước khi gửi đến cơ sở dữ liệu.
Nhưng nếu cấu hình không đúng, nó không phân biệt được giữa bình luận văn bản thường và một dòng mã.
Vì vậy, giả sử tin tặc tìm ra phần bình luận của trang này chấp nhận mọi đầu vào. Họ có thể nhập mã JavaScript nhưng đầu ra trông như bình luận thường.
Chủ trang có thể không nhận ra tin tặc có thể nhập nút "Click me" (Nhấn vào tôi), thứ lý tưởng không nên cho phép.
Tiếp theo, người truy cập thường xuyên (mục tiêu) đến trang này. Nếu người dùng nhấp nút, mã độc sẽ chạy và nhiễm trình duyệt. Tin tặc sẽ trích xuất dữ liệu từ cookie trình duyệt.
Cookie lưu mọi loại thông tin như thông tin đăng nhập đã lưu, thông tin thẻ tín dụng, dữ liệu cá nhân. Khi đăng nhập trang, bạn thấy pop-up hỏi có muốn trình duyệt nhớ mật khẩu:
Bây giờ người dùng thường (mục tiêu) thường mở nhiều tab trên trình duyệt như Facebook, email, trang mua sắm, trang làm việc, YouTube, v.v. Nếu tin tặc chạy tấn công XSS, họ đánh cắp cookie của tất cả trang mở trên trình duyệt. Đó là lý do gọi là 'cross-site'. Họ dùng thông tin này để gian lận khách hàng hoặc chạy tấn công lớn hơn.
Mặc dù tấn công này không ảnh hưởng trực tiếp trang web, nó có hậu quả nghiêm trọng. Nó khiến mọi người truy cập rơi vào nguy hiểm. Thêm vào, Google nhanh chóng đưa vào danh sách đen và host treo tài khoản hosting.
Tấn Công XSS Reflective (Phản Xạ) Hoặc Non-Persistent
Trong tấn công này, tin tặc nhắm vào chính trang web để chiếm quyền truy cập. Hãy xem cách hoạt động:
Giả sử trang web có tab tìm kiếm khách hàng tìm nhanh thứ muốn. Tab này lý tưởng chỉ chấp nhận chữ cái. Nhưng chưa được cấu hình đúng và chấp nhận ký tự đặc biệt và số. Công cụ tìm kiếm trang không phân biệt đầu vào văn bản từ người dùng và mã độc từ tin tặc.
Khi chèn, mã độc đi đến cơ sở dữ liệu trang và được thực thi. Khi đó, tin tặc chiếm quyền truy cập trang và bắt đầu hành vi độc hại! Tệ hơn, họ có thể dùng trang bạn khởi động tấn công lớn hơn như DDoS.
Bây giờ chúng ta biết tấn công XSS nghiêm trọng đến đâu và tại sao cần bảo vệ trang. Vì vậy hãy tìm hiểu tại sao header bảo mật HTTP ngăn chặn XSS.
HTTP Security Headers Là Gì?
HTTP là Hypertext transfer protocol và định nghĩa cách thông báo được định dạng và truyền trên internet.
Trình duyệt hiện đại như Google Chrome hoặc Mozilla Firefox có header phản hồi HTTP được mã hóa. Các header bảo mật HTTP thường bao gồm metadata – như mã lỗi trạng thái, content-encoding, content security, và cache control.
Header phản hồi hướng dẫn trình duyệt cách hành động khi tương tác với trang web. Ví dụ, người dùng mở Chrome và truy cập trang, header HTTP đóng vai trò xác định cách trình duyệt, trang và máy chủ giao tiếp.
Chúng tôi sẽ giải thích một header phản hồi để bạn hiểu tốt hơn.
Nếu bạn thiết lập chứng chỉ SSL hoặc TLS trên trang, nghĩa là trang chỉ truy cập qua HTTPS (kết nối an toàn mã hóa dữ liệu khi truyền). Nhưng tin tặc có cách truy cập trang qua HTTP. Có vài script sẵn trên internet tin tặc dùng mở trang qua HTTP và đánh cắp dữ liệu.
Để củng cố chứng chỉ SSL và đảm bảo trang không bao giờ truy cập qua HTTP, bạn thêm header phản hồi 'strict transport security'. Buộc tất cả trình duyệt mới như Safari, Chrome, Firefox giao tiếp với trang qua HTTPS. Loại bỏ khả năng content sniffing và packet sniffing.
Nếu kẻ tấn công thử mở trang qua HTTP, trình duyệt đơn giản không tải trang.
Có nhiều header bảo mật HTTP bạn thêm cho WordPress. Hôm nay, tập trung vào X-XSS Protection giảm ngăn chặn cross-site scripting.
Cách Thiết Lập X-XSS Protection Trong HTTP Security Header
Để thiết lập HTTP Security Headers, bạn cần truy cập và chỉnh sửa tệp .htaccess và thêm dòng mã. Thay đổi tệp WordPress mọi lúc mang rủi ro cao. Sai lầm nhỏ có thể dẫn đến trang web hoàn toàn hỏng.
Do đó, chúng tôi mạnh mẽ khuyến khích sao lưu hoàn chỉnh trang WordPress. Bạn có thể dùng plugin BlogVault sao lưu đầy đủ trang trong vài phút. Nếu có lỗi trong quá trình, bạn khôi phục nhanh trang về bình thường.
Sao lưu trang WordPress trước khi thay đổi tệp WordPress. Bạn có sao lưu tin cậy với BlogVault. Click to Tweet
Bước 1: Quét Trang Web Kiểm Tra Header Tồn Tại
Chúng tôi khuyến khích kiểm tra xem trang đã bật header chưa. Bạn kiểm tra với managed WordPress host hoặc dùng trang như securityheaders.com.
Nhập URL trang và quét. Bạn thấy báo cáo như sau:
Chúng ta chắc không có header X-XSS protection.
Lưu ý: Hầu hết trình duyệt bật X-XSS protection mặc định. Nhưng thêm header bảo mật này vào WordPress sẽ hướng dẫn trình duyệt chặn cố gắng hack XSS.
Bước 2: Truy Cập Tệp .htaccess WordPress
Đăng nhập tài khoản hosting WordPress. Vào cPanel > File Manager.
Bên trong, bạn thấy danh sách thư mục. Bên phải, tìm thư mục public_html . Tệp .htaccess ở đây.
Mẹo: Nếu không thấy .htaccess, vào settings chọn "show hidden files".
Bước 3: Chèn WordPress Security Header
Để chỉnh sửa tệp, chuột phải vào tệp và chọn edit.
Thêm dòng mã sau cuối tệp .htaccess:
Header set X-XSS-Protection "1; mode=block"
Lưu tệp.
Bước 4: Kiểm Tra HTTP Response Header Hoạt Động
Chúng tôi khuyến khích truy cập securityheaders quét trang kiểm tra header hoạt động.
Và xong. Bạn đã thêm lớp bảo mật bằng cách triển khai header bảo mật chặn tấn công XSS.
Tôi thiết lập header bảo mật dễ dàng trên WordPress để chặn tấn công X-XSS dùng hướng dẫn từ MalCare. Click to Tweet
Kết Luận: Bảo Vệ Chống Tất Cả Tấn Công
Sau khi triển khai header bảo mật WordPress này, chúng tôi tin trang an toàn khỏi XSS. Nhưng XSS không phải lỗ hổng duy nhất. Trang web ở môi trường số chịu rủi ro nhiều như hack và nhiễm mã độc.
Bạn cần biện pháp bảo mật đầy đủ chặn hack và bảo vệ trang. Cài MalCare để bảo vệ toàn diện trang WordPress. Nó quét và giám sát trang thường xuyên. Cũng cung cấp tường lửa chặn IP độc hại. Với MalCare, bạn yên tâm trang được bảo mật. Xem hướng dẫn cách bảo mật trang WordPress.
Bảo vệ trang WordPress với MalCare!