Port nur von bestimmten IP Adressen zugriff erlauben

txc

New Member
hallo,

ich möchte dass der Port 3306 nur von localhost und von 2 anderen IPAdressen verfügbar ist.
Löst man dies mit iptables oder wie macht man dies?

Gruß txc
 
da ich von iptables nicht so die Ahnung habe frage ich lieber nochmal nach:
Code:
iptables -A INPUT -p tcp --dport 3306 -s 123.123.123.123 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP
Damit sollte vom Server 123.123.123.123 der Port 3306 extern erreichbar sein aber für den Rest nicht.
Stimmt das so?
 
Teste es doch selbst. ;)
Im Zweifelsfall vorher in einer VMware.
Aber Grundsätzlich sieht es so gut aus.

huschi.
 
danke nur ist es normal das wenn ich eine andere Adresse als 123.123.123.123 habe wird es ja abgelehnt.
Diese Ablehnung dauert nur ziemlich Lange (wie ich noch nicht die externe ipadresse bei bind in mysql hatte wurde schneller abgelehnt)
Was hat dies für einen Sinn bzw warum ist dies so?

Noch eine Frage und zwar kann man die Reihenfolge von den eingetragenen Regeln im nachhinein ändern?
Gibt es außer webmin noch eine Weboberfläche?


Macht das ganze überhaupt Sinn? Oder reicht es wenn man Mysql unter Host einfach 123.123.123.123 angibt?
Aber ich denke halt, dass von der Sicherheit es doch besser ist wenn man noch nicht mal zum connecten von einer externen Adresse kommt (sondern nur von 123.123.123.123).
 
Last edited by a moderator:
Wenn die Ablehnung schneller laufen..
Ah danke. mit "-j REJECT --reject-with icmp-port-unreachable "
wird also gleich zurückgegeben, dass der Port nicht verfügbar ist.
Was ist also der Vorteil von drop?
Was würdest ihr verwenden?
 
Sinn macht es auf jeden Fall, das ganze sowohl bei den Hosts in den Mysql-User-Regeln anzugen, als auch bei den IpTables.

Solltest du die Mysql-Daten über das I-net verteilen, würde ich mir überlegen, ob man für den Mysql-Zugriff nichth einen SSL- oder SSH-Tunnel verwendet.
 
Bei DROP wird einfach die Verbindung abgelehnt und der Client muss auf einen Timeout warten. Was für mich persönlich mehr darauf schließen lässt das eine Firewall im Einsatz ist, da die meisten Systeme sonst mit einem Reject antworten. Deswegen bevorzuge ich ein REJECT.

It's not quite that simple. The tcp stack on the sender's machine may
wait, then send another syn packet, and possibly repeat several times.
In that case DROP may actually increase the incoming traffic.

In addition to the suggestions from other posters, you can keep
traffic down and minimize your profile by using REJECT with a "host
unreachable" type instead of the default "port unreachable". By doing
that it makes the sender think that either there is no machine there,
or that it is down completely. That of course is not true if you allow
ping through and they use that to test first.

Quelle Iptables mailinglist.
 
Solltest du die Mysql-Daten über das I-net verteilen, würde ich mir überlegen, ob man für den Mysql-Zugriff nichth einen SSL- oder SSH-Tunnel verwendet.

Hier habe ich mir vorgestellt einfach mysql ssl "beizubringen".
Das Problem bei einem Tunnel ist halt, dass man einen ssh Zugriff benötigt und dieser ist nicht überall gegeben.
 
Hier habe ich mir vorgestellt einfach mysql ssl "beizubringen".
Na muss ja nicht unbedingt ein Tunnel sein. Mir gings eher darum, dass man sich um ne Verschlüsselung kümmert, aber das hast du ja eh schon getan ;-)
 
Back
Top