freeBSDNew
Member
Hi,
zunächst einmal entschuldige ich mich für die vermutlich dumme Frage.
Ich möchte verschiedene VNET-Jails erstellen. Deren Traffic soll nach extern und intern (nicht jede Jail soll mit jeder Anderen kommunizieren können) isoliert und "geglättet" werden.
Hierzu stelle ich mir folgendes Schema vor
(1)
WAN ---- em0 ------- pf-jail ------ jail 1
WAN ---- em0 ------- pf-jail ------ jail 2
oder
(2)
WAN ---- em0 ------- |pf-jail| ----- |bridge0| ------ jail 1
WAN ---- em0 ------- |pf-jail| ----- |bridge0| ------ jail 2
Aus diesem Artikel https://vermaden.wordpress.com/posts/ habe ich folgende Jail.conf
Ich befürchte, mittels (2), kann ich die Jails nicht isolieren, da sie über die bridge direkt miteinander kommunzieren können. Die Festlegung des Gateway ist dabei nicht hilfreich, da ein böswilliger Angreifer diese Angabe in der Jail ändern könnte.
Um (1) einzurichten, dachte ich, diese beiden Zeilen
Ok, nun zerreißt mich in der Luft, oder erklärt mir bitte, wie ich mein Ziel erreiche.
Danke schon mal.
PS: Die Vorstellung eines böswilligen Angreifers im internen Lan, der es schafft, eine Jail zu infiltrieren, kann paranoisch erscheinen. Aber ich will ja auch ein bisschen was über VNET und Jails lernen.
zunächst einmal entschuldige ich mich für die vermutlich dumme Frage.
Ich möchte verschiedene VNET-Jails erstellen. Deren Traffic soll nach extern und intern (nicht jede Jail soll mit jeder Anderen kommunizieren können) isoliert und "geglättet" werden.
Hierzu stelle ich mir folgendes Schema vor
(1)
WAN ---- em0 ------- pf-jail ------ jail 1
WAN ---- em0 ------- pf-jail ------ jail 2
>> pf-jail ist direkt über jeweils eigene epair mit jail1 und jail2 verbunden
oder
(2)
WAN ---- em0 ------- |pf-jail| ----- |bridge0| ------ jail 1
WAN ---- em0 ------- |pf-jail| ----- |bridge0| ------ jail 2
>> pf-jail ist via bridge0 über jeweils eigene epair mit jail1 und jail2 verbunden
Aus diesem Artikel https://vermaden.wordpress.com/posts/ habe ich folgende Jail.conf
host # cat /etc/jail.conf.d/vnet.conf
vnet {
# STARTUP/LOGGING
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.consolelog = "/var/log/jail_console_${name}.log";
# PERMISSIONS
allow.raw_sockets;
exec.clean;
# PATH/HOSTNAME
path = "/jail/${name}";
host.hostname = "${name}";
# VNET/VIMAGE
vnet;
vnet.interface = "${if}b";
# NETWORKS/INTERFACES
$id = "60";
$ip = "20.0.0.${id}/24";
$gw = "20.0.0.1";
$br = "bridge0";
$if = "epair${id}";
# ADD TO bridge0 INTERFACE
exec.prestart += "ifconfig ${if} create up";
exec.prestart += "ifconfig ${if}a up descr jail:${name}";
exec.prestart += "ifconfig ${br} addm ${if}a up";
exec.start += "ifconfig ${if}b ${ip} up";
exec.start += "route add default ${gw}";
exec.poststop += "ifconfig ${if}a destroy";
}
Ich befürchte, mittels (2), kann ich die Jails nicht isolieren, da sie über die bridge direkt miteinander kommunzieren können. Die Festlegung des Gateway ist dabei nicht hilfreich, da ein böswilliger Angreifer diese Angabe in der Jail ändern könnte.
Um (1) einzurichten, dachte ich, diese beiden Zeilen
zu ändern inexec.prestart += "ifconfig ${if}a up descr jail:${name}";
exec.prestart += "ifconfig ${br} addm ${if}a up";
undexec.prestart += "ifconfig ${if}a up descr jail:${name}";
exec.prestart += "ifconfig ${if}b up descr jailf-jail";
ergänzen umexec.poststop += "ifconfig ${if}a destroy";
exec.poststop += "ifconfig ${if}b destroy";
Ok, nun zerreißt mich in der Luft, oder erklärt mir bitte, wie ich mein Ziel erreiche.
Danke schon mal.
PS: Die Vorstellung eines böswilligen Angreifers im internen Lan, der es schafft, eine Jail zu infiltrieren, kann paranoisch erscheinen. Aber ich will ja auch ein bisschen was über VNET und Jails lernen.