Server +Anpassen hosts.allow

Post Reply
Message
Author
Mandi69
Posts: 6
Joined: 23. Nov 2005 12:33

Server +Anpassen hosts.allow

#1 Post by Mandi69 »

Hallo!

Habe bei mir einen Computer laufen, der als Server agieren soll (Lamp sowie als NFS Server).
Der NFS - Server soll im lokalen Netzwerk funktionieren (für die D-Box) und das Lamp System nach draußen.

Am Server (Debian Sarge 3.1) funktioniert grundsätzlich nach meinem ermessen alles.
An der Hardwarefirewall (im Router) wurde ein Portforward für Port 80 (Apache) und 2223(SSH eigens konfiguriert) eingerichtet.

Die Dateien hosts.allow und hosts.deny sah ich als relativ einfache Möglichkeit an, den NFS Server nach außen abzuschotten und habe sie folgenderweise editiert:


hosts.allow

Code: Select all

portmap: 192.168.0.0/255.255.255.0
mountd: 192.168.0.0/255.255.255.0
lockd: 192.168.0.0/255.255.255.0
statd: 192.168.0.0/255.255.255.0
rquoted: 192.168.0.0/255.255.255.0
sshd: *.*.*.*
httpd: *.*.*.*
Anstatt *.*.*.* steht meine eigenen IP Adresse.

hosts.deny

Code: Select all

ALL: ALL

Es funktioniert SSH über das Internet (nur für meine IP) und auch der NFS Server im lokalen Netzwerk.
Jedoch funktioniert der Apache Server nicht und ich weiß nicht warum! Stimmt der Eintrag mit httpd, hier bin ich mir nicht ganz sicher!

Hoffe es kann mir jemand helfen!

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#2 Post by klopskuchen »

Spielt Apache selbst auch mit? Ein grep -n "Controls who can get stuff from this server" /Pfad_zur_httpd.conf spuckt die Nummer der zu editierende Zeile in der httpd.conf aus.

(Steht httpd bei Debian per default und auskommentiert in der inetd.conf drin?)


MfG, Klopskuchen
When all else fails, read the instructions .

Mandi69
Posts: 6
Joined: 23. Nov 2005 12:33

#3 Post by Mandi69 »

Die httpd.conf hatte ich mir schon angeschaut, hier der Ausschnitt aus der httpd.conf

Code: Select all

Order allow,deny
Allow by all
In der inetd.conf ist httpd nicht eingetragen, allerdings ist dies sshd auch nicht und funktioniert auch!
Muss / soll man Dienste in die inetd.conf eintrage und wenn ja wie?

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#4 Post by klopskuchen »

Die Dateien /etc/hosts.allow und -deny werden vom tcpd ausgewertet, dieser wiederum wird vom inetd aufgerufen. Der sshd hat eine Default-Unterstützung für den tcpd. (Frag bitte nicht wo das konfiguriert wird, ich find den Artikel nicht mehr). Apache muß, soll ein Serverprozess durch tcpd gestartet werden, dem inetd bekannt gemacht werden.
Ein kurzer Selbstversuch zeigte übrigens das die /etc/hosts/deny (httpd: ALL: DENY) bei Direktstart über apachectl nicht ausgewertet wurde, der Zugriff über inetd bzw. tcpd jedoch erfolgreich verwehrt wurde. Da der Apache nicht in deiner inetd.conf eingetragen ist, kann es schonmal nicht an der /etc/hosts.$ liegen. Ist der Server an ein Interface (lo) gebunden?

> Muss / soll man Dienste in die inetd.conf eintrage und wenn ja wie?

Code: Select all

# http-server:
http    stream  tcp     nowait  root    /usr/sbin/httpd httpd
Vorerst würd ich apache aber noch manuell starten, bis geklärt ist warum der Server selbst keinen Zugriff erlaubt. Gibt er eigentlich ein Dokument aus oder tut sich im Browser einfach gar nichts?


MfG, Klopskuchen
When all else fails, read the instructions .

Mandi69
Posts: 6
Joined: 23. Nov 2005 12:33

#5 Post by Mandi69 »

Wie weiß man ob Apache an ein Interface gebunden ist? Ich denke er ist an keines gebunden.

Browser macht nichts, also nachdem man die IP Adresse eingeben hat wird nichts geladen.

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#6 Post by klopskuchen »

Zeilennummern: grep -n Listen /Pfad_zur_httpd.conf
Interface triffts wohl nicht ganz. Der Server kann an eine IP-Adresse gebunden werden wodurch er nur über das Interface an welches diese IP gebunden ist ausliefert. Allerdings kommt in diesem Fall wenigstens eine Fehlermeldung.
Was sagt eigentlich ein nmap -p 80 deine_IP ?

MfG, Klopskuchen
When all else fails, read the instructions .

Mandi69
Posts: 6
Joined: 23. Nov 2005 12:33

#7 Post by Mandi69 »

nmap -p 80 192.168.0.3 (Interne Adresse)

Code: Select all

Port        State                 Service
80/tcp     open                 http

Nmap finished: 1 IP address(1host up) scanned in 0.205 seconds



nmap -p 80 *.*.*.* (statische IP nach außen)

Code: Select all

Port        State                 Service
80/tcp     open                 http

Nmap finished: 1 IP address(1host up) scanned in 0.238 seconds



Ohne auch nur irgendetwas verändert zu haben ist der Apache Server nun von außen doch erreichbar (wohl laut nmap).
Wenn ich nun

Code: Select all

w3m localhost 
ausführe, dann versucht er die Seite ständig zu laden, bis gestern bekam ich die Ausgabe

Code: Select all

Could not resolve localhost!

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#8 Post by klopskuchen »

Could not resolve localhost!
Entweder fehlt in der Datei /etc/hosts der Eintrag "127.0.0.1 localhost" oder, was ich glaube, hast du einen Eintrag "deine_IP localhost". Zweites sollte man vermeiden.

MfG, Klopskuchen
When all else fails, read the instructions .

Mandi69
Posts: 6
Joined: 23. Nov 2005 12:33

#9 Post by Mandi69 »

Inhalt meiner /etc/hosts

Code: Select all

127.0.0.1	localhost.localdomain	localhost	server

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhost

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#10 Post by klopskuchen »

Tut mir leid das es gedauert hat (Entführung-> Außerirdische und so ;) ). An den Einträgen der /etc/hosts sollte es nicht liegen. Localhost ist zwar doppelt eingetragen (ipv4 und ipv6->ipv4 gemappt) aber nach Einlesen der ersten Zeile ist der Resolver bedient und kann durch die zweite Zeile nicht mehr durcheinanderkommen; die liest er ja nicht mehr.
Sonst fällt mir leider nichts brauchbares ein.

> Ohne auch nur irgendetwas verändert zu haben ist der Apache Server nun von außen doch erreichbar (wohl laut nmap).
Das heißt dein ursprüngliches Problem mit dem Indianer ist gelöst?

MfG, Klopskuchen
When all else fails, read the instructions .

Mandi69
Posts: 6
Joined: 23. Nov 2005 12:33

#11 Post by Mandi69 »

Das formatieren der Festplatte und kompilieren der aktuellen Apache Sources löste das Problem ;)
Danke aber nochmals

Post Reply