ipfw und xdm

cyzz

Active Member
nabend

ich habe hier ein kleineres problem mit meinem paketfilter.
und zwar folgendes:
nachdem ich mir einen eigenen kernel uebersetzt hatte (mit firewall support) wollte ich mir ein ruleset erstellen und dann nur die ports freigeben die ich auch wirklich benoetige.
in etwa sieht mein ruleset so aus.......
open_tcpports="22,67,68,80,139"
open_udpports="22,67,68,123,137,138"
wie man schoen sieht ist es ein fileserver fuer mein netzwerk.
da ich sowieso xfree86 installiert hatte, wollte ich mal einige X sachen per remote auf meine linuxbox holen mittels ssh -X.
ist klar, das geht wunderbar.
aber wenn ich das ganze mittels xdm machen will tut sich nichts mehr nach X -query ip_von_der_freebsd_box.
seltsam denk ich zuerst und mir faellt es nach 5 minuten wie schuppen von den augen ;) "ich hab ja ne firewall laufen"
also gut denk ich mir, aender eben das ruleset wie ich's brauch.
open_tcpports="22,67,68,80,139,6000"
open_udpports="22,67,68,123,137,138,177"
danach die xdm-config und Xaccess angepasst und die dienste neu gestartet.
aber denkste...... nichts geht.
hab ich vielleicht irgendwas uebersehn?

mfg

p.s das sind die options in meiner kernel config:

options IPSEC
options IPSTEALTH
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
 
Hast du schonmal versucht ohne Firewall per xdmcp etwas zu erreichen? Dann kann man wenigstens eine fehlerhafte Configuration dieser Komponente ausschliessen.
 
ja, hab ich.
genau das war meine erste aktion nachdem ich angefangen habe zu suchen woran es liegen koennte.
ohne firewall kann ich mich ohne probleme einloggen.
das ist mein ruleset:

#!/bin/sh
#

#Mach "Quiet"
fwcmd="/sbin/ipfw -q"

#Erstmal alles saubermachen bevor wir anfangen
${fwcmd} -f flush

#Das setzen unserer eigenen Variabeln
interface="rl0" # ${interface} Netzwerkkarte
dns_server="194.25.2.131" # ${dns_server} DNS-Server
open_tcpports="22,67,68,80,139,6000,10000" # ${open_tcpports} Offene TCP-Po$
open_udpports="22,67,68,123,137,138,177" # ${open_udpports} Offene UDP-Ports

#Erlaubt Loopbackverbindungen
${fwcmd} add allow ip from any to any via lo0

#Erlaubt Verbindungen welche von hier initiiert wurden
${fwcmd} add allow tcp from any to any out xmit ${interface} setup
${fwcmd} add allow udp from any to any out xmit ${interface} setup

#Erlaubt der Verbindung offen zu bleiben
${fwcmd} add allow tcp from any to any via ${interface} established
${fwcmd} add allow tcp from any to any via ${interface} established

#Erlaubte Dienste die aus dem Netzwerk erreicht werden duerfen
${fwcmd} add allow tcp from any to any ${open_tcpports} setup
${fwcmd} add allow udp from any to any ${open_udpports} setup
${fwcmd} add allow tcp from any to any ${open_tcpports} out xmit ${interfac$
${fwcmd} add allow udp from any to any ${open_udpports} out xmit ${interfac$
${fwcmd} add allow tcp from any to any ${open_tcpports} in recv ${interface}
${fwcmd} add allow udp from any to any ${open_udpports} in recv ${interface}

#Sendet RESET an alle ident Packete
${fwcmd} add reset tcp from any to any 113 in recv ${interface}

#Erlaubt ausgehende DNS-Anfragen NUR auf angegebenem DNS-Server
${fwcmd} add allow udp from any to ${dns_server} 53 out xmit ${interface}
${fwcmd} add allow tcp from any to ${dns_server} 53 out xmit ${interface}
${fwcmd} add allow udp from ${dns_server} 53 to any in recv ${interface}
${fwcmd} add allow tcp from ${dns_server} 53 to any in recv ${interface}

#Loggt ICMP Anfragen (echo und dest. unreachable)[/I]
${fwcmd} add allow log icmp from any to any in recv ${interface} icmptype 3
${fwcmd} add allow log icmp from any to any in recv ${interface} icmptype 8

#ICMP erlauben
${fwcmd} add allow icmp from any to any

#Alles andere verbieten (Wird nicht geloggt)
${fwcmd} add deny ip from any to any
 
Zuletzt bearbeitet:
Setze Deine letzte Regel (deny) auf log und dann findest Du in den Logs sicher einen Hinweis, was beim xdm connect geblockt wird!

Gruß,

Ice
 
Zurück
Oben