Я запускаю приложение Google App Engine, в котором есть страница администратора приманки, которая отвлекает от реальной страницы входа администратора. Некоторое время назад я начал получать повторяющиеся электронные письма о том, что кто-то пытается войти в систему на странице приманки. Я заблокировал рассматриваемый IP-адрес, но затем я начал видеть его для нового IP-адреса.
С тех пор я заблокировал и его в разделе правил брандмауэра Google App Engine:
Я проверил IP-адреса в правилах брандмауэра, и они получают отказ. Однако я все еще получаю электронные письма о том, что этот IP-адрес пытается войти в систему администратора honeypot. Для этого они должны сначала получить доступ к странице, а затем отправить форму, чего у них не должно быть.
Что еще я могу посмотреть и сделать, чтобы решить эту проблему?
Обновить:
Я только что провел дополнительное тестирование, попытавшись самостоятельно войти на поддельную страницу, и оказалось, что все попытки входа проходят как 172.17.0.6, поэтому это должен быть IP-адрес, связанный с инфраструктурой.
Я предполагаю, что именно поэтому IP-адрес не блокируется брандмауэром. Я немного углубился в код сайта-приманки (я не являюсь автором), и, похоже, IP-адрес получен ip_address=self.request.META.get('REMOTE_ADDR')
.
Как это можно исправить?
Вам нужно получить IP-адрес HTTP_X_FORWARDED_FOR как объяснено Вот. Это связано с тем, что запрос перенаправляется экземпляру App Engine. Я действительно думаю, что вы извлекаете IP-адрес балансировщика нагрузки App Engine или другой внутренний IP-адрес (в целях безопасности некоторые заголовки очищаются или изменяются промежуточными прокси-серверами до того, как они достигают приложения), и по этой причине вы не можете заблокировать этот (Клиентский IP -> Правило брандмауэра -> IP очищен (это тот, который вы блокируете) -> Экземпляр), поскольку IP-адрес, который вы получаете в методе, не является настоящим IP-адресом, вызывающим ваше приложение.
Другой способ проверить IP-адрес - это Stackdriver Logging. Найдите запрос и IP находится в поле IP :) Очень надеюсь, что эта информация вам поможет.