Вимкнути мережу для конкретних користувачів


16

Я працюю над дистрибутивом Ubuntu / Mint, який мав би працювати в прямому ефірі. Існує кілька облікових записів, які поділяються на три загальні групи: Адміністратор, Інтернет та безпека.

  • Адміністратор , очевидно, має повноваження робити все, що завгодно.
  • Інтернет- акаунт призначений для використання Інтернету.

Інші облікові записи - це облікові записи безпеки . Ні в якому разі не допускається будь-який мережевий Інтернет, принтер, Bluetooth, пристрої WiFi тощо.

Що я хотів би зробити, це видалити мережеві драйвери з ядра, але це відключить облікові записи, які потребують Інтернету.

Які способи найнижчого рівня відключити Інтернет для цих облікових записів безпеки? Я шукаю неможливих підключення рішень.

Відповіді:


14

Ви можете це зробити за допомогою iptables.

На терміналі додайте правило до iptables

sudo iptables -A OUTPUT -p all -m owner --uid-owner username -j DROP

де ім'я користувача - це той користувач, якого потрібно відключити підключення до Інтернету. Збережіть файл та вийдіть.

Це додасть правило про iptablesте, що будь-які вихідні пакети, створені вказаним користувачем, будуть автоматично скинуті на iptables.

Якщо ви хочете зробити те ж саме для цілої групи, я пропоную, щоб замість --uid usernameвас використовувати --gid-owner groupname, це матиме такий же ефект для цілої групи користувачів.

Отже, щоб запобігти доступу до групи Інтернету безпека, команда виглядала б приблизно так

sudo iptables -A OUTPUT -p all -m owner --gid-owner security -j DROP

Щоб правило стало постійним, ви можете створити скрипт /etc/network/if-up.d/, додати до нього необхідні рядки та зробити його виконуваним.


Як варіант використовуйте iptables-saveдля збереження ваших поточних правил та відновлення їх під час завантаження.

Збережіть поточні iptablesправила

sudo iptables-save > /etc/iptables_rules

Відкрийте /etc/rc.localулюблений текстовий редактор і в кінці файлу додайте

/sbin/iptables-restore < /etc/iptables_rules

Це відновить збережені правила для кожного завантаження.

Для отримання додаткової інформації відвідайте сторінку [ iptablesmanpage ] для отримання додаткової інформації про кілька iptablesваріантів.


Спасибі. Це працювало в Інтернеті, але цей користувач все ще може використовувати Bluetooth. Я тестую на бездротовий зв’язок, але не підтвердили. Я, здається, обліковий запис застряг на ДЕНІ. Я спробував, sudo iptables -A OUTPUT -p all -m owner --uid-owner internet -j ACCEPTале це не ввімкнуло його для тестування.
бамбунту

Гаразд, iptables, здається, є фільтром для чогось нижчого, що насправді робить мережеве з'єднання. Яка програма дозволяє зробити з'єднання можливим? Чи можу я його відключити? Якщо це так, вимкнення на основі того, хто контролює консоль. Цей прямий дистрибутив призначений для декількох користувачів, але не призначений для більш ніж однієї консолі. Отже, якщо я можу відстежити, хто використовує консоль, я думаю, що я можу відключити цей мережевий додаток на основі дозволів користувачів.
bambuntu

Ну, це був би ваш менеджер мережі в Ubuntu, який би був network-manager, якщо ви вилучите користувача з групи networkта відключите з’єднання в network-managerабо іншому подібному інструменті, він не зможе знову отримати його, з іншого боку, користувач, який є частиною мережевої групи буде. Це ще один рівень мислення, оскільки він вимикає зв’язок, який він є сам.
Бруно Перейра

Трохи погугливши, я виявив, що ви можете видалити мережевий менеджер і налаштувати Ubuntu традиційно, редагуючи / etc / network / interfaces . Здається, це не той мережевий додаток, який я хочу відключити. Я дивлюся трохи нижче. Наскільки низько ми можемо піти, перш ніж потрапити до водія?
bambuntu

Мені вдалося видалити та очистити мережевий менеджер. У цей момент мережа була відключена. Але мені вдалося повернути це з цим: sudo /etc/init.d/networkingпісля редагування /etc/network/interfaces Так це /etc/init.d/networkingнизько, як ви йдете?
bambuntu

2

Рішення Бруно добре: я вважаю, мабуть, найкращим автономним рішенням.

Ще один варіант, про який можна подумати, - це встановити брандмауер / проксі на окремій машині, як шлюз до Інтернету, який дозволяє лише з'єднання, що забезпечують аутентифікацію кожного користувача. Ви можете використовувати використання обох разом для додаткового захисту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.