Belirli kullanıcılar için ağ iletişimini devre dışı bırak


16

Ben Live koştu olması gerekiyordu Ubuntu / Mint dağıtım üzerinde çalışıyorum. Üç genel gruba giren birden fazla hesap vardır: Yönetici, İnternet ve Güvenlik.

  • Yönetici açıkçası her şeyi yapma yetkisine sahiptir.
  • Internet hesabı interneti kullanmak içindir.

Diğer hesaplar Güvenlik hesaplarıdır. Hiçbir koşulda hiçbir ağa İnternet, yazıcı, Bluetooth, WiFi cihazı vb. İzin verilmez.

Yapmak istediğim şey, ağ sürücülerini çekirdekten kaldırmak, ancak bu Internet'e ihtiyaç duyan hesapları devre dışı bırakacak.

Bu güvenlik hesapları için İnternet'i devre dışı bırakmanın en düşük düzey (ler) i nedir? Çözümleri bağlamak imkansız arıyorum .

Yanıtlar:


14

Bunu ile yapabilirsiniz iptables.

Bir terminalde kuralı iptables

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

burada kullanıcı adı , İnternet bağlantısını devre dışı bırakmak istediğiniz kullanıcıdır. Dosyayı kaydet ve çık.

Bu iptables, belirtilen kullanıcı tarafından oluşturulan giden paketlerin otomatik olarak bırakılacağını söyleyen bir kural ekleyecektir iptables.

Tam bir grup için aynı şeyi yapmak istiyorsanız, bunu --uid usernamekullanmak yerine --gid-owner groupname, bunun tam bir kullanıcı grubu için aynı etkiye sahip olacağını umuyorum .

Bu nedenle, Güvenlik grubunun İnternet'e erişmesini önlemek için komut şöyle görünecektir:

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

Kuralı kalıcı hale getirmek için bir komut dosyası oluşturabilir /etc/network/if-up.d/, gerekli satırları ekleyebilir ve çalıştırılabilir hale getirebilirsiniz.


Bir seçenek olarak iptables-savemevcut kurallarınızı kaydetmek ve önyükleme sırasında geri yüklemek için kullanın.

Mevcut iptableskuralları kaydet

sudo iptables-save > /etc/iptables_rules

/etc/rc.localFavori metin düzenleyicinizle açın ve dosyanın sonuna ekleyin

/sbin/iptables-restore < /etc/iptables_rules

Bu, her önyüklemede kaydedilen kuralları geri yükleyecektir.

Daha fazla bilgi için çeşitli seçenekler hakkında daha fazla bilgi için [ iptablesmanpage ] sayfasını ziyaret edin iptables.


Teşekkürler. Bu İnternet için çalıştı, ancak bu kullanıcı yine de bluetooth kullanabilir. Kablosuz için test yapıyorum ancak onaylamadım. Hesabın DENY'ye takılmış gibi görünüyor. Denedim sudo iptables -A OUTPUT -p all -m owner --uid-owner internet -j ACCEPTama bu test için tekrar açılmadı.
bambuntu

Tamam, iptables aslında ağ bağlantısı yapan daha düşük bir şey için bir filtre gibi görünüyor. Uygulama bağlantıyı mümkün kılıyor? Devre dışı bırakabilir miyim? Öyleyse, konsolu kontrol eden kişiyi devre dışı bırakma. Bu canlı dağıtım birden çok kullanıcı içindir, ancak birden fazla konsol için değildir. Bu yüzden, konsolu kimin kullandığını izleyebilirsem, bu ağ uygulamasını kullanıcıların izinlerine göre devre dışı bırakabileceğimi düşünüyorum.
bambuntu

Bu, Ubuntu'daki ağ yöneticiniz olurdu network-manager, eğer bir kullanıcıyı gruptan kaldırırsanız networkve bağlantıyı network-managerveya diğer benzer bir aracı devre dışı bırakırsanız , diğer taraftaki bir parçayı tekrar alamaz. ağ grubunun olacaktır. Bu, başka bir düşünme seviyesidir, çünkü kendisinin bağlantısını devre dışı bırakır.
Bruno Pereira

Google'ın birazından sonra, ağ yöneticisini kaldırabileceğinizi ve Ubuntu'yu geleneksel olarak / etc / network / arayüzlerini düzenleyerek ayarlayabileceğinizi öğrendim . Bu, devre dışı bırakmak istediğim ağ uygulaması gibi görünmüyor. Biraz daha alçak görünüyorum. Sürücüye gitmeden önce ne kadar düşük gidebiliriz?
bambuntu

Ağ yöneticisini kaldırabilir ve temizleyebilirim. Bu noktada ağ bağlantısı devre dışı bırakıldı. Ama, bununla bir şeyleri geri getirebildim: sudo /etc/init.d/networkingdüzenledikten sonra /etc/network/interfaces Yani /etc/init.d/networkinggittiğiniz kadar düşük mü?
bambuntu

2

Bruno'nun çözümü iyi: Bence muhtemelen en iyi bağımsız çözüm.

Aklınıza gelebilecek diğer bir seçenek, yalnızca kullanıcı başına kimlik doğrulaması sağlayan bağlantılara izin veren, internete ağ geçidi olarak ayrı bir makinede güvenlik duvarı / proxy kurmaktır. Ekstra koruma için her ikisini birlikte kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.