PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webseiten sperren mit Firewall?!?



ullifichte
04.01.02, 19:08
Hallo zusammen,

also, ich habe hier einen SuSE 7.3 Rechner, der mit einer ISDN Karte bestückt ein Gateway ins Internet für das dahinterliegende Netz betrieben werden soll! Das funktioniert auch einwandfrei! Nun meine Frage: Wie kann ich anstellen, damit die User auf ihren Clients nur den Port 110, 25, 80 und 53 benutzen dürfen?!? Und wie kann ich es einstellen, daß User nur auf ein paar bestimmte Internetseiten dürfen?!?

Gruß

Ulli

AirWulf
04.01.02, 19:36
Such dir das IPtable oder IPchains howto bei www.google.de heraus.

Mfg,
Air

Thomas
04.01.02, 19:46
Standartmäßig solltest du alles sperren, sprich die Standart-Outputregel der Firewall auf REJECT bzw. DROP setzen.

Dann gibst du nach und nach alles frei, was du auch tatsächlich erlauben willst. So sind dann auch nur die Seiten im Web zu erreichen, die du zulassen willst.


Allerdings verstehe ich nicht, weshalb du deine User nur die Ports 110, 25, 80 und 53 benutzen lassen willst?!?
Dann werden sie niemals surfen oder sonst etwas machen können, da dies ja die Server-Ports für die Dienste sind.
Sprich: Die Clients können über die Ports Dienste anbieten, selber nutzen können sie diese jedoch nicht.
Oder hast du gemeint: Die Clients sollen nur auf die Ports 110, 25, 80 und 53 des Servers zugreifen können?


Gruß, Thomas.

ullifichte
04.01.02, 22:26
Die User sollen nur die Dienste www, dns, pop und smtp nutzen dürfen, alles andere soll gesperrt werden! Weiterhin sollen die nur Zugang zu ein oder zwei Internetseiten bekommen!

Gruß

ulli

Thomas
05.01.02, 11:13
Was verwendest du denn für ein Firewall-Konzept?
IPTables oder noch IPChains? Bei SuSE 7.3 ist standartmäßig vermutlich IPTables dabei.

Liegen deine einzuschränkenden Clients alle im selben Netz und ausser den einzuschränkenden Clients keine anderen Rechner?
Wie lautet das Interface am Gateway für dieses Netz?


Wenn du mir diese Angaben und was du sonst noch für wichtig hälst postest, dann kann ich dir ein Gründgerüst für ein Script schreiben, welches du dann noch nach eigenen Bedürnissen anpassen kannst.


Gruß, Thomas.

ullifichte
05.01.02, 17:31
Also, die Firewall ist eine SuSE Firewall, welche ich nur (sorry) mit Yast konfiguriert habe. Laufen tut die mit Ipchains!

Dann fangen wir mal an:

ETH0 172.16.10.2 (3COM 3C905b -> Intern)
ETH1 192.168.0.99 (3COM 3C905b -> T-DSL / PPPOED)
Netz: 172.16.0.0 / 16
Sub-Net: 255.255.0.0
Gateway (Clients): 172.16.10.2

FW_YAST:

FW_ALLOW_SOURCEQUENCH="yes"
FW_ALLOW_FW_TRACEROUTE="yes"
FW_ALLOW_INCOMING_HIGHPORTS_TCP="no"
FW_ALLOW_INCOMING_HIGHPORTS_UDP="yes"
FW_ALLOW_PING_FW="no"
FW_AUTOPROTECT_GLOBAL_SERVICES="yes"
FW_DEV_WORLD="ppp0"
FW_KERNEL_SECURITY="yes"
FW_SERVICES_EXTERNAL_TCP="53 80"
FW_SERVICES_EXTERNAL_UDP="53"
FW_SERVICE_DNS="no"
FW_SERVICE_SAMBA="no"
FW_STOP_KEEP_ROUTING_STATE="no"
FW_DEV_INT="eth0"
FW_MASQUERADE="yes"
FW_MASQ_NETS="172.16.0.0/16"
FW_PROTECT_FROM_INTERNAL="yes"
FW_ROUTE="yes"
FW_SERVICES_INTERNAL_TCP="20 21 22 23 53 80"
FW_SERVICES_INTERNAL_UDP="53"

Wenn du da noch was hast, wie ich das mit IPTABLES oder IPCHAINS machen kann??! Bin für jeden Tip dankbar!
Das Teil läuft hier bereits, nur würde ich die Firewall-Konfiguration gerne so machen, daß ich beim Aufbau erstmal "ALLES" sperre und dann nach und nach die einzelnen Ports freigebe! Wie ich das anstelle weiß ich allerdings nicht (habe leider noch nicht so viel Erfahrung mit der Materie!)

Habe aber schon mal schönen Dank im vorraus!

Gruß

Ulli

Djuke Masters
06.01.02, 20:14
http://www.linuxinfo.de/de/doku/ip-masquerading/DE-ipmasq-HOWTO-1_84.html

hoffe es hilft ...

CU

Thomas
07.01.02, 13:48
Sorry, aber mit der SuSE-Firewall habe ich nichts am Hut...

Wenn du mal ein eigenes Script erstellen willst, kannst du dich aber gerne an mich wenden! :)



Gruß, Thomas.

bertl
08.01.02, 08:04
Hi ullifichte,

ich würd mir auch überlegen, ob du nicht noch einen proxy, also squid, auf dem gateway einrichtest. Hat den Vorteil, das Du genau steuern kannst, wann, wer, wo surfen darf. Alles wird protokolliert und das kann hervorragend mit sarg auswgewertet werden. Last but not least kannst Du die firewall so konfigurieren, das ausschließlich der proxy-rechner Paket ins Internet verschicken und empfangen kann, da dein lokales Netz den proxy ja anspricht.

cu
bertl

ullifichte
08.01.02, 14:28
Hmm, da hatte ich schonmal probiert, allerdings hat das Teil dann immer ein Problem mit dem Defualt-Gateway gehabt! Nachdem das Teil wieder down war und neu angewählt hatte, wußte Squid nicht mehr, auf welchem Gateway er raus sollte. Man konnte das mit einem manuellen Neustart einigermaßen in den Griff bekommen, aber das ist ja nicht Sinn der Sache!
Zum anderen hatte ich mir das auch schon überlegt, aber das muß doch auch mit einer reinen Firewall zu realisieren sein, oder?!?

Gruß


Ulli

bertl
10.01.02, 11:14
Hi,
klar geht das mit fw-regeln. nur kann das darin enden, das du millionen regeln aufstellen mußt, je nach redirect der seiten im i-net. oder auch nur wenn eine domain umzieht, kannst du deine regeln wieder durchforsten. sysiphus läßt grüßen...
sonst schreib doch '/etc/rc.d/squid restart' in das anwahlscript, so daß bei jeder anwahl, squid neu gestartet wird.

cu, bertl

ullifichte
11.01.02, 00:23
Wie sieht es denn aus, wenn ich eine Regel erstelle, die alles sperrt und dann eine Regel einfüge, die nur einige Seiten erlaubt?!?

Ungefähr so, daß alles gesperrt ist, nur die Seite www.xyz.de ist erlaubt! Geht das?!?

Gruß

Ulli

wadesch
11.01.02, 09:26
@ullifichte bestimmte webseiten sperren geht am besten mit squid und squidGuard.

Thomas
11.01.02, 14:07
Lese doch einfach mal die man-pages durch... *grummel*

Alles sperren und nur www.xyz.de erlauben:



iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP



iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT

iptables -A FORWARD -i INTERFACE-nach-aussen -p tcp -s DEIN_NAMESERVER --sport 53 --dport 1025:65535 -j ACCEPT -m state --state ESTABLISHED

iptables -A FORWARD -i INTERFACE-nach-aussen -p udp -s DEIN_NAMESERVER --sport 53 --dport 1025:65535 -j ACCEPT -m state --state ESTABLISHED


iptables -A FORWARD -i INTERFACE-intern -p tcp -d DEIN_NAMESERVER --dport 53 -j ACCEPT

iptables -A FORWARD -i INTERFACE-intern -p udp -d DEIN_NAMESERVER --dport 53 -j ACCEPT


iptables -A FORWARD -i INTERFACE-intern -p tcp -d www.xyz.de --dport 80 -j ACCEPT

iptables -A FORWARD -i INTERFACE-intern -p tcp -d www.xyz.de --dport 443 -j ACCEPT


iptables -A FORWARD -i INTERFACE-nach-aussen -p icmp -s www.xvz.de -j ACCEPT


iptables -A FORWARD -i INTERFACE-nach-aussen -p tcp -s www.xyz.de --sport 80 --dport 1025:65535 -j ACCEPT -m state --state ESTABLISHED

iptables -A FORWARD -i INTERFACE-nach-aussen -p tcp -s www.xyz.de --sport 443 --dport 1025:65535 -j ACCEPT -m state --state ESTABLISHED


iptables -A FORWARD -i INTERFACE-intern -j REJECT



Da ich jedoch noch nie was mit forward gemacht habe, habe ich auch keine Ahnung, ob das so laufen wird, probiers doch einfach aus! :)

Nicht vergessen: Du sperrst dich selbst damit aus -> kein SSH mehr möglich, ...