GNU/Linux >> Znalost Linux >  >> Linux

Jak zablokovat přístup k internetu pro určité programy v systému Linux

Řešení 1:

Řešení pro mě bylo přímočaré.

  1. Vytvořte a ověřte novou skupinu; přidat požadované uživatele do této skupiny:
    • Vytvořit:groupadd no-internet
    • Ověřit:grep no-internet /etc/group
    • Přidat uživatele:useradd -g no-internet username

      Poznámka:Pokud upravujete již existujícího uživatele, měli byste spustit:usermod -a -G no-internet userName zkontrolujte pomocí:sudo groups userName

  2. Vytvořte skript ve vaší cestě a udělejte jej spustitelným:
    • Vytvořit:nano /home/username/.local/bin/no-internet
    • Spustitelný soubor:chmod 755 /home/username/.local/bin/no-internet
    • Obsah:#!/bin/bash
      sg no-internet "[email protected]"

  3. Přidejte pravidlo iptables pro vyřazení síťové aktivity pro skupinu bez internetu :
    • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

      Poznámka:Nezapomeňte provést změny trvalé, aby se po restartu automaticky uplatnily. To závisí na vaší distribuci Linuxu.


4. Zkontrolujte to, například ve Firefoxu spuštěním:

  • no-internet "firefox"

V případě, že byste chtěli udělat výjimku a povolit programu přístup k lokální síti :

  • iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
  • iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT
  • iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP

POZNÁMKA: V případě spawnování budou pravidla zachována. Pokud například spustíte program s bez internetu pravidlo a tento program otevře okno prohlížeče, přesto budou pravidla použita.

Řešení 2:

Přímější možnost:použijte firejail . Spouští aplikaci uvnitř sandboxu. V karanténě můžete ovládat přístup aplikace k jakékoli síti nebo složce ve vašem počítači.

Chcete-li spustit určitou aplikaci bez přístupu k síti, postupujte takto:

firejail --net=none <application>

V tom případě "Sandbox vypadá jako počítač bez síťových rozhraní." (Viz část Síť v dokumentaci)

Například firejail --net=none firefox spustí firefox bez připojení k síti.

Instalace

Viz instalační dokumentace. Měli byste instalovat ze systému balíčků ve vaší distribuci, nebo si raději získejte nejnovější verzi LTS. (Například tato nejnovější verze LTS, 9.56.2 , funguje také v Ubuntu 16.04.)


Linux
  1. Linux – Blokovat síťový přístup procesu?

  2. Linux – Jak omezit přístup k internetu pro konkrétního uživatele v síti LAN pomocí Iptables v Linuxu?

  3. Jak auditovat přístup k souborům v systému Linux

  1. Jak zkontrolovat přístup k internetu pomocí bash skriptu v linuxu?

  2. Jak mohu zakázat přístup k internetu pro programy spuštěné ve Wine?

  3. Blokovat síťový přístup procesu?

  1. Jak nakonfigurovat virtuální síťové rozhraní na Redhat 7 Linux

  2. Jak ladit programy C v Linuxu pomocí gdb

  3. Jak získat přístup k souborovým systémům Linux ve Windows 10 a WSL 2