авторизация конкретного пользователя для использования iptables

Я искал везде без ответа для этого. Вот моя проблема.

Я работаю в Linux и могу легко запускать все функции iptables от имени пользователя root. Я хочу разрешить конкретному пользователю использовать все функции iptable. Каждый раз, когда я пытаюсь получить к нему доступ от авторизованного пользователя (кроме root), я получаю эту ошибку:

«iptables v1.4.7: не удается инициализировать «фильтр» таблицы iptables: разрешение отклонено (вы должны быть пользователем root). Возможно, iptables или ваше ядро ​​необходимо обновить».

Затем я попробовал chown root:user iptables, а также все файлы, на которые ссылается символический iptables, чтобы пользователь мог получить к ним доступ. Этот метод работает для всех других файлов, к которым я хочу получить доступ авторизованного пользователя, но не для iptables.

Причина, по которой мне нужен ответ, заключается в том, что я хочу написать код на php, который позволяет пользователям блокировать и разблокировать IP-адреса от доступа к любой части всего сервера. У меня было слишком много попыток взлома, и я хочу иметь возможность отключить IP-адреса этих хакеров несколькими щелчками мыши, а не всегда обращаться к оболочке от имени пользователя root, чтобы вручную избавиться от них.

Любые идеи?


person Community    schedule 23.08.2014    source источник
comment
Этот вопрос может быть более успешно задан на serverfault, поскольку он больше относится к системному администрированию, чем к программированию.   -  person James M. Lay    schedule 24.08.2014
comment
Или для суперпользователя?   -  person Rudie    schedule 24.08.2014


Ответы (2)


Вы можете использовать команду «sudo», чтобы обычные пользователи могли запускать команды от имени root.

Это может быть опасно, и вам нужно быть очень осторожным, чтобы правильно его закодировать.

person Daniel Scott    schedule 23.08.2014

В Linux есть рудиментарная система мелких возможностей. Однако ключевое слово — зачаточный. Согласно strongSwan,

iptables не может обрабатывать возможности и не позволяет пользователям без полномочий root вставлять правила, даже если у этого пользователя есть необходимые возможности.

Вам потребуются привилегии суперпользователя не только для управления правилами, но иногда и для загрузки дополнительных модулей ядра.

Поэтому sudo — ваш лучший выбор — действуйте осторожно, если ваши локальные пользователи также могут быть настроены враждебно. Вы также можете сделать /sbin/iptables SUID root, но я бы не рекомендовал это делать.

Вы также можете рассмотреть альтернативные методы блокировки взлома методом грубой силы, такие как Fail2ban или PAM ABL.

person 200_success    schedule 23.08.2014