Zugriff auf Alias-IPs beschränken
Posted: 2008-04-05 12:36
Moin,
ich habe folgendes Problem: An mein phyisches NIC (eth0) sind neben der Haupt-IP 6 Alias-IPs gebunden. Da das Interface über iproute2 konfiguriert wird, entstehen dabei keine virtuellen Interfaces à la eth0:1 etc.
Nun möchte ich für einzelne chroot-Jails den Zugriff auf jeweils eine der Alias-Adressen beschränken. In /proc und /dev habe ich allerdings bisher nichts gefunden, womit ich das bewerkstelligen könnte. Im Moment fällt mir nur noch eine Möglichkeit ein: Per iptables anhand der User-IDs (diese sind systemweit eindeutig, auch in den Jails) alles droppen, was nicht erlaubt ist. Aber eigentlich genügt mir das nicht; ich würde einerseits gerne ohne Paketfilter auskommen und andererseits verhindern, dass sich ein Prozess an ein Interface bindet, auf dem er nichts zu suchen hat (von wegen gegenseitiger Portklau - wenn auch wahrscheinlich nur aus Versehen).
Zum Server selbst: Es läuft ein gehärtetes Gentoo Linux (amd64) mit PaX und grsecurity. Letzteres bietet dafür offenbar keinen Mechanismus (ich dachte da an eine Rolle pro Jail, die eine bestimmte IP nutzen darf) - jedenfalls konnte ich nichts entsprechendes in der (recht dürftigen) Doku finden. Bin für jede Idee dankbar, wie sich sowas realisieren lässt, ohne auf RSBAC oder eine "richtige" Virtualisierungslösung zurückzugreifen.
ich habe folgendes Problem: An mein phyisches NIC (eth0) sind neben der Haupt-IP 6 Alias-IPs gebunden. Da das Interface über iproute2 konfiguriert wird, entstehen dabei keine virtuellen Interfaces à la eth0:1 etc.
Nun möchte ich für einzelne chroot-Jails den Zugriff auf jeweils eine der Alias-Adressen beschränken. In /proc und /dev habe ich allerdings bisher nichts gefunden, womit ich das bewerkstelligen könnte. Im Moment fällt mir nur noch eine Möglichkeit ein: Per iptables anhand der User-IDs (diese sind systemweit eindeutig, auch in den Jails) alles droppen, was nicht erlaubt ist. Aber eigentlich genügt mir das nicht; ich würde einerseits gerne ohne Paketfilter auskommen und andererseits verhindern, dass sich ein Prozess an ein Interface bindet, auf dem er nichts zu suchen hat (von wegen gegenseitiger Portklau - wenn auch wahrscheinlich nur aus Versehen).
Zum Server selbst: Es läuft ein gehärtetes Gentoo Linux (amd64) mit PaX und grsecurity. Letzteres bietet dafür offenbar keinen Mechanismus (ich dachte da an eine Rolle pro Jail, die eine bestimmte IP nutzen darf) - jedenfalls konnte ich nichts entsprechendes in der (recht dürftigen) Doku finden. Bin für jede Idee dankbar, wie sich sowas realisieren lässt, ohne auf RSBAC oder eine "richtige" Virtualisierungslösung zurückzugreifen.