Брандмауэр для сервиса рендеринга Splash javascript

Я установил Splash на капле Digital Ocean Docker. Я хотел использовать туннель SSH для отправки запросов и получения результатов. Я не хочу, чтобы эта услуга была доступна кому-либо еще.

Я следовал инструкциям Splash, чтобы установить Splash. Это устанавливает брандмауэр UFW на сервере со всеми заблокированными портами, кроме 22 (SSH), 80 (http) и 443 (https). Я запустил UFW, чтобы запретить доступ на 80, 443, 8050 и 5023. Результаты статуса UFW приведены ниже:

К действию от 22 LIMIT Anywhere
2375 / tcp ALLOW Anywhere
2376 / tcp ALLOW Anywhere
80 DENY везде
443 ДЕНИ Везде
8050 DENY Anywhere
22 (v6) LIMIT Anywhere (v6)
2375 / tcp (v6) ALLOW Anywhere (v6)
2376 / tcp (v6) ALLOW Anywhere (v6)
80 (v6) DENY Anywhere (v6)
443 (v6) DENY Anywhere (v6)
8050 (v6) DENY Anywhere (v6)

Когда я захожу в браузер на рабочем столе и введите:

http: //: 8050 / render.html? url = http://yahoo.com/

Сервис возвращает обработанную веб-страницу.

Почему это не заблокировано?

РЕДАКТИРОВАТЬ Я нашел ответ. Docker вносит изменения непосредственно в ваши iptables, которые не отображаются со статусом ufw.

Согласно документам Splash, Splash можно запустить с помощью команды:

запуск докера -p 8050:8050 -p 5023:5023 скребок / брызг

Однако, если вы начнете с:

Docker run -p 127.0.0.1:8050:8050 -p 127.0.0.1:5023:5023 scrapinghub/splash

Теперь он доступен только локально. Для получения дополнительной информации см. Несложный межсетевой экран (UFW) ничего не блокирует при использовании Docker.

0 ответов

Другие вопросы по тегам