Wie am besten Ports dicht machen?

Rund um die Sicherheit des Systems und die Applikationen
holtsch
Posts: 19
Joined: 2003-04-04 10:01
 

Wie am besten Ports dicht machen?

Post by holtsch »

Hi Forum,

ich werde mir demnächst JBoss 3.2.1 auf meinem Root-Server installieren. Dabei werden einige Dienste auf diversen Ports geöffnet, die teilweise nur lokal empfangen müssen, teilweise nur zur Administration von einer bestimmten IP-Adresse aus (nämlich meiner :lol: ). Meines Wissens sind die alle *sehr* unsicher, also sollte da auf gar keinen Fall irgendjemand dran kommen.

Jetzt wüsste ich gerne, was hierzu die geschickteste Lösung ist oder zumindest, welche Lösungen welche Vor- und Nachteile haben. iptables ist wohl die "Standard-Lösung", kommt aber scheinbar mit ordentlichen Performance-Einbussen.

Wie gesagt, im Prinzip gibt's nur zwei Anforderungen:
a) stelle sicher, daß Port 1234 nur vom localhost angesprochen werden kann
b) stelle sicher, daß Port 4567 nur von IP 123.124.125.126 angesprochen
werden kann bzw. jetzt von IP 123.124.125.126 und morgen vielleicht
von 126.127.128.129

Falls b) nicht wirklich sicher ist (z.B. wg. IP-Spoofing) muss ich evtl. auf einen "richtigen" Browser verzichten und das halt dann per lynx erledigen. Allerdings habe ich mir das sowieso so gedacht, daß der Port normalerweise zu ist, und ich ihn nur für meine aktuelle IP-Adresse während einer Session öffne.

liebe Grüße,
david
kahler
Posts: 130
Joined: 2003-04-18 17:42
Location: /root
 

Re: Wie am besten Ports dicht machen?

Post by kahler »

holtsch wrote:Meines Wissens sind die alle *sehr* unsicher, also sollte da auf gar keinen Fall irgendjemand dran kommen.
...und wieso willst du dann unbedingt diese Software installieren??
Wenn du selbst schon sagst, dass der/die Dienste unsicher sind, dann solltest du dir Mal überlegen, ob der Nutzen das Risiko wirklich wert ist und ob es nicht vielleicht "sicheren" Ersatz gibt.
holtsch wrote:iptables ist wohl die "Standard-Lösung", kommt aber scheinbar mit ordentlichen Performance-Einbussen.
Wie kommst du drauf, dass IP Tables mit Performance Einbußen einher geht?
Ich habe zumindest bis jetzt noch auf keinem System, auf dem ich IP Tables benutzt habe, irgendwas davon merken können.
holtsch wrote:stelle sicher, daß Port 1234 nur vom localhost angesprochen werden kann
Binde den Dienst an localhost bzw. das Loopback Device. Damit reagiert er nicht auf Anfragen an andere IP Adressen bzw. dieses Device und somit ist er nur vom Server selbst zu erreichen.
holtsch wrote:stelle sicher, daß Port 4567 nur von IP 123.124.125.126 angesprochen werden kann bzw. jetzt von IP 123.124.125.126 und morgen vielleicht von 126.127.128.129
Das Problem ist, dass man mit IP Tables keine DNS Namen verwendet sondern IP Adressen. Du könntest höchstens beim Ausführen der IP Tables Regel die aktuelle IP für den DNS Namen abfragen und diese dann in der Regel verwenden.
Ich gehe Mal davon aus, dass du das ganze von einem DialUp (dazu gehört im Prinzip auch DSL) Anschluss mit dynamischer IP administriern möchtest:
Die einzige Möglichkeit, die ich kenne, besteht darin, das Script regelmäßig auszuführen und dadurch die IP zum DNS Namen regelmäßig zu aktuallisieren (vorher alle Regeln löschen nicht vergessen, sonst steht alles mehrfach drin)
holtsch wrote:Falls b) nicht wirklich sicher ist (z.B. wg. IP-Spoofing) muss ich evtl. auf einen "richtigen" Browser verzichten und das halt dann per lynx erledigen.
Eigentlich die beste Lösung, da du dadurch keine zusätzlichen Dienste nach außen verfügbar machst.
holtsch wrote:Allerdings habe ich mir das sowieso so gedacht, daß der Port normalerweise zu ist, und ich ihn nur für meine aktuelle IP-Adresse während einer Session öffne.
...und was ist, wenn einer deinen Datenverkehr mitliest und dann verändert an deinen Server weiterreicht?? Du siehst, absolute Sicherheit kann man nur durch einen shutdown -h now erreichen...

...Du musst für dich selbst entscheiden, welchen Komfort du haben willst und was du dafür bereit bist, an Sicherheit aufzugeben.
burn
Posts: 14
Joined: 2003-02-05 22:34
Location: Hannover
 

Re: Wie am besten Ports dicht machen?

Post by burn »

kahler wrote:
holtsch wrote:stelle sicher, daß Port 4567 nur von IP 123.124.125.126 angesprochen werden kann bzw. jetzt von IP 123.124.125.126 und morgen vielleicht von 126.127.128.129
Das Problem ist, dass man mit IP Tables keine DNS Namen verwendet sondern IP Adressen. Du könntest höchstens beim Ausführen der IP Tables Regel die aktuelle IP für den DNS Namen abfragen und diese dann in der Regel verwenden.
Ich gehe Mal davon aus, dass du das ganze von einem DialUp (dazu gehört im Prinzip auch DSL) Anschluss mit dynamischer IP administriern möchtest:
Die einzige Möglichkeit, die ich kenne, besteht darin, das Script regelmäßig auszuführen und dadurch die IP zum DNS Namen regelmäßig zu aktuallisieren (vorher alle Regeln löschen nicht vergessen, sonst steht alles mehrfach drin)
`man iptables` besagt allerdings:
Source specification. Address can be either a hostname, a network name, or a plain IP address.
Wusste ich auch noch nicht, fiel mir aber gerade in der manual auf. Allerdings löst sich das Problem damit auch nicht auf, da man ja mit Dial -Up Zugängen auch dynamische Hostnamen hat, und Wildcard- Matching ganz sicher unsicher ist :)

Am sichersten wäre es natürlich, wie bereits gesagt, einfach die ganzen entsprechenden Ports nur für den Localhost freizugeben und alles per SSH- Session und Lynx zu erledigen.
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
 

Re: Wie am besten Ports dicht machen?

Post by dodolin »

`man iptables` besagt allerdings:
Source specification. Address can be either a hostname, a network name, or a plain IP address.
Ja, beim Frontend iptables. Intern arbeitet netfilter aber ausschliesslich mit IP Adressen.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
 

Re: Wie am besten Ports dicht machen?

Post by captaincrunch »

Wer Paketfilter-Regeln auf Hostnamen aufbaut, braucht sich nicht wundern, warum seine sorgfältig ausgearbeitetetn Regeln irgendwann mal nicht greifen, da DNS-Spoofing einfacher ist als Sppofing auf Paketebene.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
 

Re: Wie am besten Ports dicht machen?

Post by dodolin »

Wer Paketfilter-Regeln auf Hostnamen aufbaut, braucht sich nicht wundern, warum seine sorgfältig ausgearbeitetetn Regeln irgendwann mal nicht greifen, da DNS-Spoofing einfacher ist als Sppofing auf Paketebene.
Ja, beim Frontend iptables. Intern arbeitet netfilter aber ausschliesslich mit IP Adressen.
Nochmal: Will heißen: Sofort zu dem Zeitpunkt, wo man das Kommando iptables mit einem Hostnamen aufrust, wandelt iptables das intern in die *zu diesem Zeitpunkt* zugehörige IP-Adresse(n) um und arbeitet fortan *ausschließlich* mit dieser/diesen IP-Adresse(n).
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
 

Re: Wie am besten Ports dicht machen?

Post by captaincrunch »

Nochmal: Will heißen: Sofort zu dem Zeitpunkt, wo man das Kommando iptables mit einem Hostnamen aufrust, wandelt iptables das intern in die *zu diesem Zeitpunkt* zugehörige IP-Adresse(n) um und arbeitet fortan *ausschließlich* mit dieser/diesen IP-Adresse(n).
Hatte ich schon verstanden. Nur kannst/solltest du nicht davon ausgehen, dass die IP, die dir über den Lookup in dem Moment mitgeteilt wird auch die korrekte ist, und daher besser gleich mit den richtigen IP's arbeiten.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe
 

Re: Wie am besten Ports dicht machen?

Post by dodolin »

Hatte ich schon verstanden.
Ich hätt's eigentlich wissen müssen, aber irgendwie war ich mir nicht sicher... ;)
Nur kannst/solltest du nicht davon ausgehen, dass die IP, die dir über den Lookup in dem Moment mitgeteilt wird auch die korrekte ist, und daher besser gleich mit den richtigen IP's arbeiten.
Das sowieso. ACK.