GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menonaktifkan pembuatan soket untuk proses Linux, untuk kotak pasir?

ptrace tampaknya menjadi alat yang paling jelas tapi selain itu…

util-linux[-ng] memiliki perintah unshare , yang menggunakan clone kernel /unshare antarmuka. Jika Anda menjalankan proses baru melalui unshare -n (atau clone(CLONE_NEWNET) ), semua soket jaringan yang dibuatnya berada di ruang nama yang berbeda. Itu tidak menyelesaikan masalah sumber daya kernel tetapi itu mem-sandbox prosesnya.

Kernel Linux juga mendukung seccomp, sebuah mode yang dimasukkan dengan prctl(PR_SET_SECCOMP, 1) yang mencegah proses (yah, utas, sungguh) memanggil syscall apa pun selain read , write , exit , dan sigreturn . Ini adalah kotak pasir yang cukup efektif tetapi sulit digunakan dengan kode yang tidak dimodifikasi.

Anda dapat menentukan domain SELinux yang melarang socket /bind /dll. panggilan, dan melakukan transisi dinamis ke jenis tersebut. Ini (jelas) membutuhkan sistem dengan kebijakan SELinux yang aktif ditegakkan. (Kemungkinan hal serupa dimungkinkan dengan AppArmor dan TOMOYO, tapi saya tidak terlalu paham dengan salah satunya.)


Lihatlah systrace - tidak terbatas pada soket, tetapi generator/penegak kebijakan syscall generik. Kutipan:

Port GNU/Linux selesai dan patch kernel dikelola secara aktif oleh Marius Eriksen. Dapat dijalankan tanpa perubahan kernel menggunakan backend ptrace.

Penafian - Saya tidak pernah mencobanya di Linux.


Linux
  1. Cara memutakhirkan Kernel di Desktop Linux

  2. Cara menonaktifkan login jarak jauh untuk pengguna root di mesin Linux

  3. Linux – Bagaimana Cara Berhenti Berbagi Jaringan Untuk Proses Saat Ini?

  1. Linux – Bagaimana Cara Menonaktifkan Bip Sistem Untuk Pengguna yang Tidak Memiliki Hak Istimewa?

  2. Cara menggunakan kdump untuk Analisis Kernel Crash Linux

  3. Cara menonaktifkan perintah khusus untuk pengguna tertentu di Linux

  1. Cara memeriksa ukuran heap untuk suatu proses di Linux

  2. Bagaimana cara membuat kode modul kernel Linux?

  3. Cara mengatur ID proses di Linux untuk program tertentu