Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- From: "Juergen P. Meier" <nospam-2005@xxxxxxxx>
- Date: Wed, 14 Dec 2005 21:41:36 +0000 (UTC)
Achim Lindt <lindt@xxxxxxxxxxxxxxxxxxxx>:
> Ein Server hat alle Ports nach aussen dicht, bis auf SSH.
> Wenn sich nun ein User von außen per SSH eingeloggt hat, werden mit IPTABLES
> weitere Ports für diese IP geöffnet.
>
> Wie das ganze mit Portknocking funktioniert habe ich in Grundzügen
> verstanden, allerdings möchte ich so den SSH als Schlüssel für weitere Ports
> nutzen. Also sollen weitere Ports z.B. nur mit dem korrekten Keyfile
> geöffnet werden.
>
> Ich könnte ja irgendein Skript deponieren was beim Login ausgeführt wird,
> das Problem wären aber die benötigten root-Rechte.
>
> Für Vorschläge, Links u.ä. Hilfe wäre ich sehr dankbar. Vielleicht habe ich
> ja auch nur ein riesiges Brett vorm Kopf :-)
Entkopple doch den Teil, der iptables aufruft, von dem teil, der
mitbekommt, wenn sich jemand per ssh einloggt.
Einige Beispiele:
1) Cron: installiere einen root-cronjob der jede minute nachschaut,
wer von wo aus per ssh eingeloggt ist, und mit iptables ggf.
aenderungen am aktuellen netfilter regelwerk durchfuehrt. -> keine
Aenderung fuer die Nutzer, alles laeuft "automagisch". Max 59 sek
Verzoegerung allerdings fuers freischalten, wenn sich jemand grade
nach lauf des scripts einlogggt.
Vorteil: Einfach, robust gegen User (keine direkte kommunikation user
<-> root-script, kein bufferoverflowmoeglichkeit hier)
Nachteil: laeuft nur minuetlich (min)
2) daemon unter UID=0 mit lokalem, world-writeable socket, der
auf User-input wartet. Kann auch ein shellscript sein. Der user
schreibt irgendwas oder was spezielles auf den socket, z.B. in
seinem login-script, und der daemon oeffnet die ports.
Vorteil: ports werden sofort bei login aufgemacht
Nachteil: beim programmieren aufpassen, dass $USER hier nix durch
malformed input exploiten kann (sorry fuers denglish), fuer das
zumachen brauchts wieder sowas wie in 1)
3) festcompiliertes suid-programm, das nur die noetigen iptables
kommandos absetzt und keinen User-input entgegen nimmt.
Vorteil: siehe 2)
Nachteil: siehe 2, falls user-input noetig. Zum aufraeumen brauchts
auch wieder was wie in 1)
etc. (mir faqellt grad nix weiter ein)
HTH,
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
.
- Follow-Ups:
- Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- From: Wolfgang Behrens
- Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- Prev by Date: Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- Next by Date: Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- Previous by thread: Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- Next by thread: Re: IPTABLES: Per erfolgreichem SSH Login Ports öffnen
- Index(es):
Relevant Pages
|