Я настроил свой маршрутизатор для переадресации трафика с определенного порта на сервер, действующий как обратный прокси. Сервер основан на CentOS 7 с Apache 2.4.6. Один из моих внутренних серверов также основан на CentOS и работает с экземпляром ownCloud.
Моя цель - заблокировать общедоступные IP-адреса с использованием fail2ban, которые имеют несколько попыток ввода неверного пароля (грубая сила). Чтобы это произошло, я обязательно пропустил общедоступные IP-адреса с использованием X-Forwarded-For- с обратного прокси-сервера на сервер ownCloud. По статусу fail2ban я также вижу, что действительно общедоступные IP-адреса с несколькими попытками ввода неверного пароля заблокированы.
Но ... Поскольку трафик проходит от обратного прокси (а не напрямую из внешнего мира), общедоступные IP-адреса, даже если они заблокированы на сервере ownCloud, по-прежнему будут иметь доступ к серверу ownCloud.
Есть ли способ заблокировать такие общедоступные IP-адреса в приведенной выше настройке? Если я не ошибаюсь, это возможно в обратных прокси NGINX, добавив "set_real_ip_from rev.proxy.ip.add.", Но я не нашел ничего, связанного с apache.
Конфигурация моего прокси, если она нужна
ServerName my.domain.com
SSLEngine On
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol -All +TLSv1.2
SSLHonorCipherOrder On
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyRequests Off
ProxyPreserveHost On
SSLCertificateFile /etc/letsencrypt/live/my.domain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my.domain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/my.domain.com/chain.pem
Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains;"
Header always set X-Frame-Options DENY
Header set X-Content-Type-Options "nosniff"
ProxyPass https://backend.ip/
ProxyPassReverse https://backend.ip/