Мы проделали огромную работу: настроили на VDS незаметный парсинг, подняли собственную прокси-ферму и даже научили сервер бесплатно анализировать данные через локальный ИИ. Но у этой медали есть обратная сторона. Когда вы активно и в промышленных масштабах собираете данные с маркетплейсов, ваш IP-адрес неизбежно «светится» в их логах.
Современные защитные WAF-системы (вроде Cloudflare, DDoS-Guard или Яндекса) умеют вычислять подозрительную активность. Поняв, что с вашего сервера идёт автоматический скрейпинг, они могут отправить ответные бот-запросы для сканирования ваших сетевых портов. Кроме того, в сети круглосуточно работают тысячи хакерских ботов, которые ищут открытые серверы и пытаются подобрать к ним пароли (брутфорс).
Если не защитить свой сервер вовремя, вы рискуете потерять и базу данных, и саму прокси-ферму. Давайте наглухо забаррикадируем наш VDS от любых внешних угроз.
1. Скрываем SSH-порт от хакерских сканеров
По умолчанию для управления Linux-сервером используется порт 22. Именно на него приходится 99% всех автоматических атак методом перебора паролей. Первое, что мы сделаем — сменим этот порт на случайный пятизначный номер (например, 22055). Хакерские боты просто пройдут мимо вашего сервера, посчитав его закрытым.
Откройте конфигурационный файл службы SSH:
sudo nano /etc/ssh/sshd_config
Найдите строку #Port 22, раскомментируйте её (уберите знак #) и замените число на своё:
Port 22055
Сохраните файл (Ctrl+O, Enter, Ctrl+X).
Важно: Не перезапускайте службу SSH прямо сейчас! Сначала нужно разрешить этот новый порт в брандмауэре, иначе сервер заблокирует вас самих при следующей попытке входа.
2. Настраиваем встроенный брандмауэр UFW
По умолчанию в Ubuntu все порты открыты «наружу». Мы включим встроенный сетевой экран UFW (Uncomplicated Firewall), который закроет все лазейки в системе, оставив доступными только те порты, которые нужны для работы наших прокси и управления сервером. При включении брандмауэра на слабом сервере есть скрытая опасность: если маркетплейс начнет в ответ бомбардировать ваш IP тысячами запросов, слабый процессор VDS просто зависнет, обрабатывая эти правила фильтрации. Именно поэтому для парсинг-ноды важна аппаратная защита на уровне самого дата-центра. Например, на хостинге Aéza (по ссылке) во все тарифы VDS по умолчанию включена бесплатная и очень мощная геораспределенная DDoS-защита. Она перехватывает любые вредоносные сетевые штормы еще на подлете к серверу, вообще не нагружая процессор вашей машины
Разрешим вход по нашему новому SSH-порту и рабочему порту нашей прокси-фермы 3proxy (например, 3128):
sudo ufw allow 22055/tcp
sudo ufw allow 3128/tcp
Теперь активируем брандмауэр. Система выдаст предупреждение, что текущая сессия SSH может оборваться — соглашаемся, введя y:
sudo ufw enable
Проверить статус и список разрешенных портов можно командой sudo ufw status. Теперь ваш VDS стал невидимым для случайных сканеров сети.
3. Защита от брутфорса: настраиваем Fail2ban
Если защитные системы маркетплейсов или хакеры всё же вычислят ваши изменённые порты и попытаются подобрать к ним пароли, их нужно жестко блокировать на системном уровне. Для этого установим утилиту Fail2ban. Она в реальном времени читает логи сервера и, если видит несколько неудачных попыток входа с одного IP, мгновенно отправляет этот адрес в бан через брандмауэр.
Шаг 1. Установка утилиты
sudo apt update
sudo apt install fail2ban -y
Шаг 2. Настройка правил защиты
Создадим собственный локальный конфигурационный файл, который переопределит стандартные настройки защиты:
sudo nano /etc/fail2ban/jail.local
Вставьте в него следующий чистый рабочий код (обратите внимание, в блоке [sshd] мы указываем наш изменённый порт 22055):
[DEFAULT]
# Время бана нарушителя (в секундах) — ставим на 24 часа
bantime = 86400
# Окно времени, в течение которого считаются ошибки входа (10 минут)
findtime = 600
# Количество разрешенных неудачных попыток перед баном
maxretry = 3
[sshd]
enabled = true
port = 22055
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Сохраните файл (Ctrl+O, Enter, Ctrl+X).
Шаг 3. Запуск защиты
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
Теперь у любого злоумышленника или WAF-бота будет всего 3 попытки, чтобы постучаться к вам в SSH. На 4-й раз его IP улетит в глухую блокировку на сутки. Наш ИИ-сервер и парсинг-инфраструктура находятся в полной безопасности.
Что делать, если я сам трижды ввёл неверный пароль и Fail2ban забанил мой IP?
Если у вас динамический интернет-провайдер, достаточно просто перезагрузить ваш домашний роутер — ваш IP изменится, и вы снова сможете зайти на сервер. Если IP статический, подключитесь к VDS через веб-консоль в личном кабинете вашего хостинга и разблокируйте свой рабочий адрес командой: fail2ban-client set sshd unbanip ВАШ_ДОМАШНИЙ_IP.
Безопасно ли использовать бесплатные подсети IPv6 от хостинга для парсинга?
С точки зрения взлома — абсолютно безопасно, так как входящие соединения на них закрыты нашим брандмауэром UFW. С точки зрения банов маркетплейсов — это самое выгодное решение, так как вы получаете миллионы чистых адресов, которые ещё не успели попасть в черные списки антифрод-систем.
Нужно ли закрывать порты локальной нейросети Ollama?
Движок Ollama по умолчанию запускается на локальном интерфейсе (127.0.0.1:11434) и физически не виден из внешнего интернета. Дополнительно закрывать его не нужно, так как наш брандмауэр UFW и так заблокирует любые внешние запросы на этот порт.












