Nội dung bài viết
Giới thiệu
Việc sử dụng Cloudflare để tăng cường hiệu suất hay bảo vệ website khỏi các cuộc tấn công DDOS chắc hẳn là việc làm được nhiều người dùng áp dụng cho website của mình.
Tuy nhiên trước đó Cloudflare có một hạn chế là khi các bạn sử dụng Proxy của Cloudflare, thì tất cả log truy cập (access_log) vào website sẽ không hiển thị IP thực, mà thay vào đó là hiển IP Proxy của Cloudflare. Việc này vô tình gây khó khăn cho người dùng trong việc thống kê cũng như kiểm tra các lượt truy cập là người dùng thật hay bot/hacker tấn công.
Và bên dưới là một ví dụ, khi mình check access log của website thì các IP truy cập đều là IP Proxy của Cloudflare.
Nếu bạn muốn kiểm tra thông tin của IP trên, bạn có thể check thông qua trang Check Host.
Và nếu bạn cũng đang gặp vấn đề này, thì đừng lo lắng vì hiện nay Cloudflare đã cung cấp một Header HTTP đặc biệt giúp hiển thị được IP thực truy cập vào website , giúp việc thống kê và quản trị trở nên dễ dàng hơn.
Lợi ích của tính năng này:
- Ghi lại thông tin IP truy cập chính xác của người dùng.
- Thực hiện các hành động dựa trên vị trí địa lý của người dùng.
- Khắc phục sự cố liên quan đến địa chỉ IP.
Hướng dẫn thực hiện
Bước 1: Backup file cấu hình httpd_config.conf
Và công việc không thể thiếu mỗi lần chỉnh sửa cấu hình nào đó, chính là thực hiện backup lại file cấu hình để có thể khôi phục nếu trường hợp xấu xảy ra.
cp /usr/local/lsws/conf/httpd_config.conf /usr/local/lsws/conf/httpd_config.conf.old
Bước 2: Sửa file cấu hình httpd_config.conf
Bây giờ bạn mở file httpd_config.conf
với lệnh:
vi /usr/local/lsws/conf/httpd_config.conf
Tiếp đó bạn copy nội dung dưới đây và dán vào ngay dưới dòng autoLoadHtaccess
như ảnh đính kèm.
useIpInProxyHeader 2
Tiếp theo bạn tìm dòng accessControl
và sửa nội dung như sau:
Từ
allow ALL
Thành
allow ALL, 103.21.244.0/22T, 103.22.200.0/22T, 103.31.4.0/22T, 104.16.0.0/12T, 108.162.192.0/18T, 131.0.72.0/22T, 141.101.64.0/18T, 162.158.0.0/15T, 172.64.0.0/13T, 173.245.48.0/20T, 188.114.96.0/20T, 190.93.240.0/20T, 197.234.240.0/22T, 198.41.128.0/17T, 199.27.128.0/21T
Cấu hình trước và sau khi thêm sẽ như sau
Bước 3: Khởi động lại webserver
Bạn thực hiện khởi động lại webserver với lệnh:
systemctl restart lsws lshttpd
Và bây giờ bạn có thể kiểm tra kết quả sau khi đã cấu hình. Và như hình dưới đây, thì access_log truy cập vào website đã hiển thị đúng IP thực của người dùng thay vì IP Proxy Cloudflare như trước đó.
Nếu bạn muốn kiểm tra thông tin của IP trên, bạn có thể check thông qua trang Check Host.
Tổng kết
Việc biết được IP thực truy cập vào website, sẽ giúp bạn xác định được chính xác vị trí địa lý hay quốc gia của IP đó. Từ đó bạn có thể dễ dàng phân loại được đó là người dùng thực hay là bot/hacker tấn công (DDOS), từ đó có các biện pháp bảo mật phù hợp cho website.
Chúc các bạn thực hiện thành công.!
Để xem thêm các bài viết liên quan khác, các bạn có thể xem thêm tại đây:
- https://openlitespeed.org/kb/show-real-visitor-ip-instead-of-cloudflare-ips/
- https://runcloud.io/docs/real-ip-openlitespeed-behind-cloudflare