Часто системным администраторам необходимо отключить или заблокировать доступ в Интернет для определенных программ в Linux. Это очень распространенное требование, которое часто вызывает беспокойство у новичков. Конечно, существует множество сторонних инструментов и программ, которые позволяют это сделать, но они часто стоят дорого. Знаете ли вы, что отключить доступ в интернет для определенных программ можно бесплатно, без использования сторонних инструментов? В этой статье мы узнаем, как ограничить доступ к интернету для программ в Linux.
Как ограничить доступ к Интернету для программ в Linux
Ниже описаны шаги по ограничению доступа к Интернету для программ в Linux.
1. Создайте новую группу пользователей
Сначала мы создадим новую группу пользователей в Linux, скажем, no-internet.
1 | groupadd no-internet |
Затем выполните следующую команду для проверки этой группы.
1 | grep no-internet /etc/group |
Наконец, добавьте пользователя, которого нужно ограничить, в эту группу. Замените имя пользователя на имя вашего пользователя.
1 | useradd -g no-internet [имя пользователя] |
Если у вас уже есть группа и вы хотите добавить в нее пользователя, выполните следующую команду.
1 | usermod -a -G no-internet [имя пользователя] |
2. Создайте сценарий оболочки
Создайте сценарий оболочки в одной из папок в PATH.
1 | nano /home/username/.local/bin/no-internet |
Добавьте в него следующий код.
1 2 | #!/bin/bash sg no-internet "$@" |
Сохраните и закройте файл. Сделайте его исполняемым с помощью следующей команды.
1 | chmod 755 /home/username/.local/bin/no-internet |
Вы фактически создали новую команду no-internet в вашей системе, синтаксис которой следующий
1 | no-internet [имя_программы] |
3. Обновление правил брандмауэра
Обновите правила iptables, чтобы запретить сетевую активность для этой новой группы no-internet.
1 | iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP |
Обязательно сохраните изменения в правилах iptables. Ниже описаны шаги, чтобы сделать правила iptables постоянными.
4. Проверьте
После того как вы подготовили вышеуказанный скрипт и правила брандмауэра, вы можете проверить его, используя его для отключения доступа к приложению, такому как, например, firefox, с помощью следующей команды.
1 | no-internet firefox |
ИЛИ
1 | no-internet "firefox" |
Заключение
В этой статье мы узнали, как ограничить доступ к интернету для программ в Linux. Вы можете использовать эти шаги во всех дистрибутивах Linux. Если у вас есть другой брандмауэр, кроме обычного iptables, вам нужно будет обновить и его правила.