Guten Tag,
ich habe einen Server mit mehreren IPs und nutze diese um unter anderem den SSH Zugang auf eine IP zu legen, welche sonst nicht verwendet wird.
Ich habe meine "Kunden" in eine vollwertige Chroot Umgebung (Also ein komplettes minimal Debian System) gesperrt und würde dort nun gerne verhindern das ein von den Kunden gestarteter Service (Teamspeak Server o.Ä.) nicht auf der SSH Zugangs IP lauschen kann sondern sich auf eine bestimmte IP beschränkt.
Kann ich das irgendwie durch die Netzwerk Konfguration innerhalb des Chroots erledigen, oder eventuell durch iptables oder sonst was?
Danke :)
Dennis
Port Listening in chroot nur auf festgelegten IPs erlauben
-
- Posts: 22
- Joined: 2006-04-23 15:52
-
- Userprojekt
- Posts: 608
- Joined: 2005-12-16 17:57
Re: Port Listening in chroot nur auf festgelegten IPs erlauben
"Normales" Chroot oder RSBAC-Jail? Falls ersteres, solltest Du Dir zweiteres überlegen...xardias wrote:
ich habe einen Server mit mehreren IPs und nutze diese um unter anderem den SSH Zugang auf eine IP zu legen, welche sonst nicht verwendet wird.
Ich habe meine "Kunden" in eine vollwertige Chroot Umgebung (Also ein komplettes minimal Debian System) gesperrt und würde dort nun gerne verhindern das ein von den Kunden gestarteter Service (Teamspeak Server o.Ä.) nicht auf der SSH Zugangs IP lauschen kann sondern sich auf eine bestimmte IP beschränkt.
-
- Posts: 22
- Joined: 2006-04-23 15:52
Re: Port Listening in chroot nur auf festgelegten IPs erlauben
Ist ein "normales" chroot, jedoch mit den grsecurity patches ein wenig geflickt.MattiasS wrote: "Normales" Chroot oder RSBAC-Jail? Falls ersteres, solltest Du Dir zweiteres überlegen...
Ist das damit nicht möglich?
-
- Administrator
- Posts: 2636
- Joined: 2004-01-21 17:44
Re: Port Listening in chroot nur auf festgelegten IPs erlauben
Wenn Dein Kernel mit dem Grsecurity-Patch versorgt ist, sollte eine chroot-Umgebung hinreichend ausbruchsicher sein. Allerdings ist eine feingranulare Zuweisung von Ressourcen (wie z. B. einer dedizierten IP-Adresse) nur in der RSBAC-Implementierung möglich. Dir bleibt also nur der Weg über ip-tables oder ein per Cron gestartetes Script, das per netstat prüft, welche Dienste auf besagter IP lauschen und alle abschießt, die nicht sshd heißen und auf Port 22 lauschen (eine Prüfung nur auf sshd würde es einem "bösen" Kunden ermöglichen, einen beliebigen Dienst einfach in sshd umzubenennen und dann trotzdem laufen zu lassen).
EDIT: Natürlich wirkt Grsecurity nur, wenn Du die entsprechenden Optionen in der Kernel-Config auch aktiviert hast:
EDIT: Natürlich wirkt Grsecurity nur, wenn Du die entsprechenden Optionen in der Kernel-Config auch aktiviert hast:
Code: Select all
Security Options --->
Grsecurity --->
Filesystem Protection --->
[...]
[*] Chroot jail restrictions
[*] Deny mounts
[*] Deny double-chroots
[*] Deny pivot_root in chroot
[*] Enforce chdir("/") on all chroots
[*] Deny (f)chmod +s
[*] Deny fchdir out of chroot
[*] Deny mknod
[*] Deny shmat() out of chroot
[*] Deny access to abstract AF_UNIX sockets out of chroot
[*] Protect outside processes
[*] Restrict priority changes
[*] Deny sysctl writes
[*] Capability restrictions
-
- Posts: 22
- Joined: 2006-04-23 15:52
Re: Port Listening in chroot nur auf festgelegten IPs erlauben
Gut dann werde ich mal zusehen dass ich das hinkriege. Jedoch die überprüfung auf einen laufenden sshd ist nicht nötig, dass grsecurity nur Prozesse aus dem aktuellen chroot listet. Danke für die tipps :)jfreund wrote:Dir bleibt also nur der Weg über ip-tables oder ein per Cron gestartetes Script, das per netstat prüft, welche Dienste auf besagter IP lauschen und alle abschießt, die nicht sshd heißen und auf Port 22 lauschen (eine Prüfung nur auf sshd würde es einem "bösen" Kunden ermöglichen, einen beliebigen Dienst einfach in sshd umzubenennen und dann trotzdem laufen zu lassen).
-
- Administrator
- Posts: 2636
- Joined: 2004-01-21 17:44
Re: Port Listening in chroot nur auf festgelegten IPs erlauben
Ich würde diese Prüfung nicht innerhalb des chroot laufen lassen, da sie dort (theoretisch) manipulierbar ist.xardias wrote:Jedoch die überprüfung auf einen laufenden sshd ist nicht nötig, dass grsecurity nur Prozesse aus dem aktuellen chroot listet.
-
- Posts: 163
- Joined: 2004-11-08 09:59
Re: Port Listening in chroot nur auf festgelegten IPs erlauben
wuerd ich mit iptables machen, einfach allen traffic von und zu TCP22 zu dieser IP verwerfen.
ohne gewaehr:
ohne gewaehr:
Code: Select all
/usr/sbin/iptables -A INPUT -p TCP --dport 22 -d 1.2.3.4 -m state --state NEW,ESTABLISHED -j ACCEPT
/usr/sbin/iptables -A OUTPUT -p TCP --sport 22 -s 1.2.3.4 -m state --state ESTABLISHED -j ACCEPT
/usr/sbin/iptables -A INPUT -d 1.2.3.4 -j DROP
/usr/sbin/iptables -A OUTPUT -s 1.2.3.4 -j DROP