Nonaktifkan jaringan untuk pengguna tertentu


16

Saya sedang mengerjakan distro Ubuntu / Mint yang dimaksudkan untuk dijalankan secara Langsung. Ada beberapa akun yang termasuk dalam tiga grup umum: Admin, Internet, dan Keamanan.

  • Admin jelas memiliki wewenang untuk melakukan apa saja.
  • Akun internet adalah untuk menggunakan Internet.

Akun lainnya adalah akun keamanan . Dalam keadaan apa pun, tidak ada jaringan internet, printer, Bluetooth, perangkat WiFi, dll.

Yang ingin saya lakukan adalah menghapus driver jaringan dari kernel, tetapi itu akan menonaktifkan akun yang membutuhkan Internet.

Apa cara tingkat terendah untuk menonaktifkan Internet untuk akun keamanan ini? Saya mencari solusi yang tidak mungkin terhubung .

Jawaban:


14

Anda bisa melakukannya dengan iptables.

Pada terminal tambahkan aturan ke iptables

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

di mana nama pengguna adalah pengguna yang Anda ingin menonaktifkan koneksi internet. Simpan file dan keluar.

Ini akan menambahkan aturan untuk iptablesmengatakan bahwa paket keluar yang dibuat oleh pengguna yang ditentukan akan secara otomatis dibatalkan iptables.

Jika Anda ingin melakukan hal yang sama untuk grup lengkap yang saya sarankan daripada --uid usernameAnda gunakan --gid-owner groupname, itu akan memiliki efek yang sama untuk grup pengguna lengkap.

Jadi untuk mencegah keamanan grup dari mengakses Internet perintah akan terlihat seperti ini

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

Untuk membuat aturan menjadi permanen, Anda dapat membuat skrip /etc/network/if-up.d/, tambahkan baris yang diperlukan dan membuatnya dapat dieksekusi.


Sebagai opsi gunakan iptables-saveuntuk menyimpan aturan Anda saat ini dan mengembalikannya saat boot.

Simpan iptablesaturan saat ini

sudo iptables-save > /etc/iptables_rules

Buka /etc/rc.localdengan editor teks favorit Anda dan di akhir file tambahkan

/sbin/iptables-restore < /etc/iptables_rules

Itu akan mengembalikan aturan yang disimpan pada setiap boot.

Untuk informasi lebih lanjut, kunjungi halaman [ iptablesmanpage ] untuk informasi lebih lanjut tentang beberapa iptablesopsi.


Terima kasih. Itu bekerja untuk Internet, tetapi pengguna ini masih bisa menggunakan bluetooth. Saya sedang menguji untuk nirkabel tetapi belum dikonfirmasi. Sepertinya akun saya macet di DENY. Saya mencoba sudo iptables -A OUTPUT -p all -m owner --uid-owner internet -j ACCEPTtetapi itu tidak menyalakannya kembali untuk pengujian.
bambuntu

Ok, iptables tampaknya menjadi filter untuk sesuatu yang lebih rendah yang sebenarnya membuat koneksi jaringan. Apa aplikasi yang memungkinkan koneksi? Bisakah saya menonaktifkannya? Jika demikian, nonaktifkan berdasarkan siapa yang mengendalikan konsol. Distro langsung ini dimaksudkan untuk banyak pengguna, tetapi tidak dimaksudkan untuk lebih dari satu konsol. Jadi, jika saya dapat melacak siapa yang menggunakan konsol, saya pikir saya mungkin dapat menonaktifkan aplikasi jaringan ini berdasarkan izin pengguna tersebut.
bambuntu

Nah, itu akan menjadi manajer jaringan Anda di Ubuntu yang akan network-manager, jika Anda menghapus pengguna dari grup networkdan menonaktifkan koneksi di network-manageratau alat serupa lainnya ia tidak akan bisa mendapatkannya lagi, di sisi lain pengguna yang merupakan bagian dari grup jaringan akan. Ini adalah tingkat pemikiran lain karena itu menonaktifkan koneksi itu sendiri.
Bruno Pereira

Setelah sedikit Googling, saya menemukan Anda dapat menghapus network-manager dan mengatur semuanya secara tradisional dengan mengedit / etc / network / interfaces . Ini sepertinya bukan aplikasi jaringan yang ingin saya nonaktifkan. Saya melihat sedikit lebih rendah. Seberapa rendah kita bisa pergi sebelum kita sampai ke pengemudi?
bambuntu

Saya dapat menghapus dan membersihkan manajer jaringan. Pada saat itu jaringan dinonaktifkan. Tapi, saya bisa mengembalikan semuanya dengan ini: sudo /etc/init.d/networkingsetelah mengedit /etc/network/interfaces Jadi /etc/init.d/networkingserendah yang Anda mau?
bambuntu

2

Solusi Bruno baik: Saya pikir mungkin solusi mandiri terbaik.

Opsi lain yang dapat Anda pikirkan adalah mengatur firewall / proxy pada mesin terpisah, sebagai gateway ke internet, yang hanya memungkinkan koneksi keluar yang menyediakan otentikasi per pengguna. Anda bisa menggunakan keduanya secara bersamaan untuk perlindungan ekstra.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.