Per proses firewall?

18

Saya telah membaca sekitar tetapi sepertinya tidak bisa menemukan cara untuk membuat aturan firewall per-proses. Saya tahu iptables --uid-ownertetapi itu hanya berfungsi untuk lalu lintas keluar. Saya telah mempertimbangkan skrip netstatdan iptablestetapi ini tampaknya sangat tidak efisien karena jika suatu proses hanya aktif untuk kerangka waktu yang kecil skrip mungkin akan melewatkannya. Pada dasarnya saya ingin menegakkan pembatasan spesifik tentang port dan dst pada suatu proses sementara meninggalkan proses lain tidak terpengaruh. Ada ide?


Untuk referensi selinux dapat melakukan ini dengan tepat dan bekerja dengan cukup baik. Pengaturannya sedikit menyusahkan.

s3c
sumber
1
Mungkin LXC (Linux Containers) akan melakukan triknya? lxc.sourceforge.net
nsg
Apa yang begitu sulit dengan selinux? Tentu ada sedikit kurva pembelajaran, tetapi ada alat yang hebat, baik garis grafis dan perintah untuk membantu dengan konfigurasi. Dukungan tersedia di IRC di #selinux dan #fedora
Panther
Sudahkah Anda mencoba menggunakan Douane? askubuntu.com/a/330259/46437
Aquarius Power
GUI firewalld untuk iptables memungkinkan Anda melakukan hal itu, dan cukup mudah digunakan.
BKilpat01

Jawaban:

10

Pertanyaan Anda sangat mirip dengan /programming/5451206/linux-per-program-firewall-similar-to-windows-and-mac-counterparts

Ada --cmd-ownermodul untuk iptables, tetapi dihapus karena tidak berfungsi dengan benar. Sekarang versi beta pertama dari Leopard Flower tersedia, yang memecahkan masalah dengan daemon ruang pengguna.

Secara umum firewall per-proses tidak terlalu berguna kecuali Anda benar-benar mengisolasi dan membatasi program. Untuk ini, Anda harus melihat solusi keamanan seperti TOMOYO Linux, SELinux, AppArmor, grsecurity, SMACK, ...

Jofel
sumber
1

Mudah, jalankan proses Anda di bawah pengguna yang berbeda dan gunakan '--uid-owner' :)

jirib
sumber
1
Itu adalah pikiran pertama saya juga, tetapi ketika saya perhatikan itu tidak bekerja untuk proses mendengarkan.
s3c
Apa sebenarnya niat Anda? Untuk memastikan pemilik / proses tertentu memiliki openports sendiri untuk koneksi masuk / keluar?
jirib