Mặt nạ nhận dạng máy chủ
Một kỹ thuật thường giúp làm chậm và gây nhầm lẫn cho những kẻ tấn công là thay đổi nhận dạng máy chủ web. Các máy chủ web thường gửi danh tính của họ với mỗi phản hồi HTTP trong tiêu đề Máy chủ. Apache đặc biệt hữu ích ở đây, không chỉ gửi tên và phiên bản đầy đủ theo mặc định mà còn cho phép các mô-đun máy chủ nối thêm các phiên bản của chúng.
Để thay đổi danh tính của máy chủ web Apache, bạn sẽ phải truy cập mã nguồn, tìm nơi tên "Apache" được mã hóa cứng, thay đổi nó và biên dịch lại máy chủ. Hiệu quả tương tự có thể đạt được bằng cách sử dụng
Chỉ thị SecServerSignature:
SecServerSignature "Microsoft-IIS/5.0"
Cần lưu ý rằng mặc dù điều này hoạt động khá tốt, những kẻ tấn công (và công cụ) lành nghề có thể sử dụng các kỹ thuật khác để "lấy dấu" máy chủ web. Ví dụ: các tệp mặc định, thông báo lỗi, thứ tự của các tiêu đề gửi đi, cách máy chủ phản hồi các yêu cầu nhất định và tương tự - tất cả đều có thể cung cấp danh tính thực. Tôi sẽ xem xét nâng cao hơn nữa sự hỗ trợ cho việc che dấu danh tính trong các phiên bản mod_security trong tương lai.
Nếu bạn thay đổi chữ ký Apache nhưng bạn cảm thấy khó chịu bởi thông báo lạ trong nhật ký lỗi (một số mô-đun vẫn hiển thị - điều này chỉ ảnh hưởng đến nhật ký lỗi, từ bên ngoài nó vẫn hoạt động như mong đợi):
[Fri Jun 11 04:02:28 2004] [notice]
Microsoft-IIS/5.0 mod_ssl/2.8.12
OpenSSL/0.9.6b \ configured --
resuming normal operations
Sau đó, bạn nên sắp xếp lại thứ tự tải mô-đun để cho phép mod_security chạy lần cuối, chính xác như được giải thích cho chroot.
chú thích
Để lệnh này hoạt động, bạn phải để / đặt ServerTokens thành Full.
Khi chỉ thị SecServerSignature được sử dụng để thay đổi chữ ký máy chủ công cộng, ModSecurity sẽ bắt đầu viết chữ ký thực vào nhật ký lỗi, để cho phép bạn xác định máy chủ web và các mô-đun được sử dụng.