Как я могу предотвратить код от инициирования исходящие http соединения?

Я хочу препятствовать тому, чтобы код установил http связи с другим, определенными хостами. Мое понимание, это может быть сделано в/etc/hosts.deny. На что это было бы похоже?

1
задан 28.02.2011, 21:59

5 ответов

Вы могли отобразить имена хостов на localhost в/etc/hosts (его более легкое для установки, чем hosts.deny, но испытывает недостаток в детализированном управлении).

Запись в качестве примера в файле hosts:

google.com    127.0.0.1
someotherdomain.com    127.0.0.1

О, btw, этот вопрос лучше подходит для serverfault.com.

1
ответ дан 17.12.2019, 00:24

/etc/hosts/ подход является плохим с тех пор на любом адресе, которого Вы перенаправляете "запрещенный хост", другой веб-сервер мог бы послушать.

Если у Вас есть доступ для записи к /etc/hosts, Вы обычно - корень и также отвечающий за установку Вашего брандмауэра. Это - то, где необходимо установить правила относительно исходящего трафика.

0
ответ дан 17.12.2019, 00:24

Ядро Linux имеет возможности брандмауэра. они, вероятно, дадут Вам лучшие результаты. Не ясно от Вас вопрос, если Вы хотите заблокировать все http соединение от своей машины до определенных хостов или только определенной программы - но в случае необходимости можно также отфильтровать трафик исходным приложением или пользователем.

Я обычно использую FireHOL, который является удобной оберткой вокруг основных команд конфигурации брандмауэра.

0
ответ дан 17.12.2019, 00:24

Нет, hosts.deny не сделает этого. Ни будет взламывание/etc/hosts иметь любое значение (оно может повредить библиотеку сопоставителя, но не предотвратить приложение, устанавливающее исходящие связи, если оно не использует стандартный сопоставитель или находит адреса некоторым другим способом).

Используя брандмауэр действительно самый очевидный путь. Для локально сгенерированного трафика iptables может заблокировать исходящие пакеты идентификатором пользователя, идентификатором группы или идентификатором процесса, что означает, что можно ограничить его определенными процессами. Вероятно, самый легкий путь состоит в том, чтобы сделать это идентификатором пользователя и выполнить его при некотором ограниченном пользователе.

0
ответ дан 17.12.2019, 00:24

Хорошая разбивка файлов хоста: http://linux.about.com/od/commands/l/blcmdl5_hostsde.htm

0
ответ дан 17.12.2019, 00:24

Теги

Похожие вопросы