Назад | Перейти на главную страницу

UFW: Как заблокировать HTTP-запросы на порту, отличном от 80?

Я запускаю приложение на порту 7000, который является частью сети. Таким образом, он должен связываться через порт 7000 со всеми другими серверами сети (не LAN, динамические IP-адреса). У него также есть веб-интерфейс, к которому вы можете получить доступ по адресу http: //my.ser.ver.ip: 7000 но я хочу заблокировать доступ к веб-интерфейсу. Как это возможно, вообще не блокируя мое приложение?

Если я правильно понял ваш вопрос, у вас есть несколько способов заблокировать доступ к вашему приложению извне.

  1. Вы можете настроить приложение для работы только с IP-адресом 127.0.0.1/8.
  2. Вы можете заблокировать его через iptables.

Моя лучшая практика - это первый вариант.

Вам необходимо заблокировать любой доступ к порту 7000, а затем разрешить доступ к порту 7000 только серверам в вашей сети. Таким образом вы эффективно блокируете доступ к веб-интерфейсу, если вы не обращаетесь к нему с сервера внутри вашей сети.

HTTP - это протокол (P в HTTP), работающий на порту 80. UFW не может блокировать его на основании того, что это веб-страница или нет, поскольку он управляет только iptables и знает, что это веб-страница только после того, как соединение установлено.

В зависимости от того, какой веб-сервер вы используете, вы можете использовать предложение imvikasmunjal. Однако «заблокировать все для доступа к порту 7000», а затем предоставить конкретный доступ к определенным IP-адресам - лучший способ продвижения вперед. ИМО

Вы можете заблокировать это через файл .htaacess. В .htaccess Вам нужно разрешить приложение только через ваш публичный IP-адрес и запретить все остальные IP-адреса. Ниже я поделился контентом, который нужно ввести в .htaccess файл.

 Order deny,allow
 allow from 1.2.3.4  #Your Public IP, only this IP is accessible to application.
 deny from all

Это решит проблему за вас.