Blokir koneksi keluar untuk cairan certaing (root, apache, tidak ada)

8

Dengan iptables di CentOS 5 dan 6 Linux - bagaimana Anda bisa mencegah proses berjalan sebagai root , apache atau tidak ada orang yang memulai koneksi keluar?

Pada CentOS 5 Linux saya sudah mencoba meletakkan baris-baris ini ke / etc / sysconfig / iptables:

-A OUTPUT -m owner --uid-owner root -j DROP
-A OUTPUT -m owner --uid-owner apache -j DROP
-A OUTPUT -m owner --uid-owner nobody -j DROP

tapi sayangnya mendapatkan kesalahan:

# sudo service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore v1.4.7: owner: Bad value for "--uid-owner" option: "apache"
Error occurred at line: 27
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
                                                           [FAILED]
Alexander Farber
sumber
Anda tidak dapat melakukannya menggunakan iptables. iptables hanya memeriksa paket ip, dan tidak ada informasi tentang uid / gid di sana. iptables hanya dapat memblokir paket berdasarkan bidang sumber / tujuan, port, ...
Goez
Saya tahu bahwa OpenBSD dapat melakukannya. Dan juga tampaknya ada pemilik -m di iptables Linux juga. Jadi mungkin Anda salah?
Alexander Farber
jika saya memeriksa halaman manual saya, -m berarti pertandingan (modul) dan bukan untuk pemiliknya, mungkin ada modul untuk pemilik proses, tidak yakin.
Goez
Dalam pemahaman saya "-m owner" mengatakan kepada iptables: "tolong muat modul 'owner', sehingga kita dapat melakukan sesuatu"
Alexander Farber
baru diperiksa, memang ada modul pemilik. Belum pernah mendengarnya sebelumnya. Tetapi ini bekerja dengan angka numerik, jadi dia harus mengubah aturannya
Goez

Jawaban:

8

Coba gunakan UID angka alih-alih nama. Sebagai contoh:

-A OUTPUT -m owner --uid-owner 400 -j DROP

dari pada

-A OUTPUT -m owner --uid-owner apache -j DROP

Anda dapat menemukan UID dengan mengetik

id user
Goez
sumber