Как бы вы заблокировали конкретного пользователя с определенного IP-адреса и определенного порта?

Просто любопытно, реального варианта использования нет...

Ответ, вероятно, /etc/hosts.deny, но спрашиваю, есть ли другой способ сделать

2 ответа

Вы можете использовать модуль/расширение «владельца» netfilter для создания соответствующих правил для сопоставления трафика от конкретного пользователя (в системе Linux, где находится пользователь).

      sudo iptables -I OUTPUT -m owner --uid-owner <USERNAME> -p tcp -m tcp -d destination-address --dport destination-port-number -j REJECT 

Но как только IP-трафик покидает систему, в трафике TCP/IP больше не существует понятия «имя пользователя/владелец», пакеты содержат только протокол, IP-адрес и номера портов и не имеют идентификации пользователя, которую можно было бы использовать в качестве надежной основы для правила брандмауэра в удаленной системе или в промежуточном брандмауэре.

Историческим решением этой проблемы былоidentпротокол иidentdсервис (RFC 931 и потомок RFC 1413), работающий на исходном IP-адресе входящего соединения, который будет возвращать имя пользователя, связанное с конкретным TCP-соединением. Именно это позволило осуществлять аутентификацию на основе имени пользователя вhosts.[allow|deny]контроль доступа. Я не знаю никого, кто бы до сих пор поддерживал или доверял службе идентификации, и даже в разделе 6 RFC совершенно ясно излагаются соображения безопасности: « Протокол идентификации не предназначен для использования в качестве протокола авторизации или контроля доступа», так что не Я не пойду туда.

вы можете установить пакет UFW (несложный брандмауэр), а затем использовать UFW для создания некоторых записей. При активации UFW весь входящий трафик блокируется, а исходящий разрешается по умолчанию. Прежде чем активировать UFW, обязательно внесите SSH-соединения в белый список, чтобы не заблокировать вас от вашего сервера с помощью. Чтобы включить брандмауэр, вы можете использовать. Чтобы перезагрузить конфигурации брандмауэра, вы можете ввести.

Чтобы заблокировать определенный адрес IPv4/6, вы можете создать запись ufw с помощью этой команды:чтобы заблокировать IPv4-адрес со всего вашего сервера.

Но я точно не знаю, как заблокировать определенные адреса и порты IPv4 с помощью UFW.

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