У меня был облачный сервер с двумя ip, и каждый ip настроен соответственно с apache
и wildfly
сервер. В каждом из них есть несколько настроек домена / vhost в продакшене.
Проверяя журнал доступа к apache (а также журнал widlfy в том же облаке), я вижу много таких запросов HTTP CONNECT:
192.99.xxx.xxx - - [21/Jun/2019:09:58:03 +0200] "CONNECT www.instagram.com:443 HTTP/1.1" 200 - "-" "-"
118.24.xxx.xxx - - [21/Jun/2019:09:59:20 +0200] "CONNECT api.zxkjj.cn:443 HTTP/1.1" 200 - "-" "Python/3.6 aiohttp/3.4.4"
и так далее..
Кто-нибудь пытается взломать мой сервер? Почему я их получил? И .. Как его заблокировать без записи iptables
правила для каждого домена или ip?
Дополнительная информация: я хочу заблокировать нежелательный запрос прямо из конфигурации apache. Лучше всего будет удалить запрос с помощью mod_security вместо http 403.
Мой httpd.conf очень прост:
Виртуальный хост по умолчанию со следующей настройкой:
<VirtualHost _default_:*>
ServerName catchall
<Location />
Deny from all
Options None
</Location>
</VirtualHost>
и второй виртуальный хост со следующей настройкой:
<VirtualHost myserverip:80>
DocumentRoot "/var/www/mydir"
ServerName www.mydomain.com
SSLProxyEngine on
ProxyRequests Off
<Directory "/var/www/mydir">
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
<Proxy *>
Order Deny,Allow
Deny from all
Allow from www.mydomain.com
</Proxy>
</VirtualHost>
но я продолжаю получать запросы на втором виртуальном хосте, как описано в моем первом вопросе.
Где я не прав?
Вполне возможно, что этот сервер был внесен в список прокси, потому что кто-то действительно обнаружил на нем открытый прокси.
Тот факт, что CONNECT возвращает статус 200 вместо статуса 405, является хорошим / плохим индикатором этого. Если этот сервер не предназначен для проксирования HTTP-запросов, ОТКЛЮЧИТЕ модуль mod_proxy в Apache.
Если Apache работает как обратный прокси для Wildfly, отключите по крайней мере mod_proxy_connect. Если RewriteRule [P] используется для обратного проксирования, убедитесь, что он может проксировать только экземпляр Wildfly, а не случайный домен, например, перехватывая переменную HTTP_HOST и помещая ее в RewriteRule, например RewriteRule / wildfly https: //% 1 / [P] или что-то в этом роде.
Нет, это не попытка взломать ваш сервер. Это попытка использовать ваш apache
сервер как прокси. Что вы можете сделать, так это отключить в apache
настроить метод CONNECT:
С движком перезаписи:
RewriteCond %{REQUEST_METHOD} ^(OPTIONS)
RewriteRule .* - [F]
Через Разрешить / Запретить (используя этот ответ):
<Proxy *>
Order Deny,Allow
Deny from all
Allow from yournetwork.example.com
</Proxy>