Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ip logging mit apache?

45 views
Skip to first unread message

Ulli Horlacher

unread,
May 20, 2021, 5:43:36 PM5/20/21
to
Ich moechte, dass der apache ip Adressen statt DNS Namen ins log schreibt.

Ich hab konfiguriert:

HostnameLookups Off

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

CustomLog /var/log/apache2/tandem-fahren.de/custom.log combined


Leider kommt dann an:

root@tandem:~/bin# tail -1 /var/log/apache2/tandem-fahren.de/custom.log
port-92-196-97-208.dynamic.as20676.net - - [2021-05-20 23:28:58] "GET /favicon.ico HTTP/1.1" 200 - "http://tandem-fahren.de/Mitglieder/Framstag/PMT/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36" "-"



In https://httpd.apache.org/docs/2.4/logs.html steht:

(%h)
This is the IP address of the client (remote host) which made the request
to the server. If HostnameLookups is set to On, then the server will try
to determine the hostname and log it in place of the IP address.


Was hab ich uebersehen?

--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: horl...@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/

Stefan Froehlich

unread,
May 21, 2021, 4:45:45 AM5/21/21
to
On Thu, 20 May 2021 23:43:35 Ulli Horlacher wrote:
> HostnameLookups Off
> LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
> CustomLog /var/log/apache2/tandem-fahren.de/custom.log combined

> (%h)
> This is the IP address of the client (remote host) which made the request
> to the server. If HostnameLookups is set to On, then the server will try
> to determine the hostname and log it in place of the IP address.
>
> Was hab ich uebersehen?

In den Zeilen, die Du hier gepostet hast nichts (bzw. fällt mir
nichts auf, aber so viel ist das nicht).

Eventuell irgendetwas *ganz* blödes, z.B. eine andere
Konfigurationsdatei, die verwendet wird, ein Include, das
die obigen Vorgaben überschreibt, oder ein <VirtualHost>, der
eigene Vorstellungen hat?

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Wenn die Profis kommen: Stefan - wenn Mobbing dich nervt!
(Sloganizer)

Sven Hartge

unread,
May 21, 2021, 5:58:45 AM5/21/21
to
Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:
> Ich moechte, dass der apache ip Adressen statt DNS Namen ins log schreibt.

> Ich hab konfiguriert:

> HostnameLookups Off

> LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

> CustomLog /var/log/apache2/tandem-fahren.de/custom.log combined

> Leider kommt dann an:

> root@tandem:~/bin# tail -1 /var/log/apache2/tandem-fahren.de/custom.log
> port-92-196-97-208.dynamic.as20676.net - - [2021-05-20 23:28:58] "GET /favicon.ico HTTP/1.1" 200 - "http://tandem-fahren.de/Mitglieder/Framstag/PMT/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36" "-"

> In https://httpd.apache.org/docs/2.4/logs.html steht:

> (%h)
> This is the IP address of the client (remote host) which made the request
> to the server. If HostnameLookups is set to On, then the server will try
> to determine the hostname and log it in place of the IP address.

> Was hab ich uebersehen?

Hast du irgendwo eine andere Komponente, die HostnameLookup wieder
erzwingt, z.B. ein .htaccess-File, welches auf Namen statt auf IPs
matcht o.ä.?

Ich erinnere mich dunkel, das es diverse Stellen gibt, die implizit
HostnameLookup wieder einschalten, wenn man bestimmte Features nutzt.



--
Sigmentation fault. Core dumped.

Ulli Horlacher

unread,
May 21, 2021, 7:36:06 AM5/21/21
to
Sven Hartge <sh-...@svenhartge.de> wrote:
> Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:
> > Ich moechte, dass der apache ip Adressen statt DNS Namen ins log schreibt.
>
> > Ich hab konfiguriert:
>
> > HostnameLookups Off
>
> > LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
>
> > CustomLog /var/log/apache2/tandem-fahren.de/custom.log combined
>
> Hast du irgendwo eine andere Komponente, die HostnameLookup wieder
> erzwingt, z.B. ein .htaccess-File, welches auf Namen statt auf IPs
> matcht o.ä.?

root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# cat .htaccess
order Allow,Deny
Allow from all
Deny from .cn
Deny from .kr
Deny from .ru

root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# del .htaccess
root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# service apache2 restart
root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# tail -1 /var/log/apache2/tandem-fahren.de/access.log
129.69.1.129 - - [2021-05-21 13:32:28] "GET / HTTP/1.1" 200 4653


TatatAAAAA!!!

OHMANN, da waer ich NIE drauf gekommen!

Obiges .htaccess fackel ich jetzt halt ueber iptables ab.

Sven Hartge

unread,
May 21, 2021, 7:44:31 AM5/21/21
to
Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:
> Sven Hartge <sh-...@svenhartge.de> wrote:
>> Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:

>>> Ich moechte, dass der apache ip Adressen statt DNS Namen ins log schreibt.

>> Hast du irgendwo eine andere Komponente, die HostnameLookup wieder
>> erzwingt, z.B. ein .htaccess-File, welches auf Namen statt auf IPs
>> matcht o.ä.?

> root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# cat .htaccess
> order Allow,Deny
> Allow from all
> Deny from .cn
> Deny from .kr
> Deny from .ru

> root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# del .htaccess
> root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# service apache2 restart
> root@tandem:/export/home/httpd/virtual/tandem-fahren.de/htdocs# tail -1 /var/log/apache2/tandem-fahren.de/access.log
> 129.69.1.129 - - [2021-05-21 13:32:28] "GET / HTTP/1.1" 200 4653

> TatatAAAAA!!!

> OHMANN, da waer ich NIE drauf gekommen!

Ich habe diesem Problem seinerzeit fast einen Monat hinterher
recherchiert, bevor ich das Problem eingrenzen konnte, weil der Fakt das
eine simple .htaccess beim Match auf Namen dies wieder einschaltet
anstelle entweder einen Fehler zu liefern oder einfach nicht zu
funktionieren, ist extrem dünn bis gar nicht dokumentiert.

Ulli Horlacher

unread,
May 21, 2021, 8:42:39 AM5/21/21
to
Sven Hartge <sh-...@svenhartge.de> wrote:

> Ich habe diesem Problem seinerzeit fast einen Monat hinterher
> recherchiert, bevor ich das Problem eingrenzen konnte, weil der Fakt das
> eine simple .htaccess beim Match auf Namen dies wieder einschaltet
> anstelle entweder einen Fehler zu liefern oder einfach nicht zu
> funktionieren, ist extrem dünn bis gar nicht dokumentiert.

Ich han zuvor schon Stunden mit debugging und Kollegen-Befragung
verbracht. Da haette ich noch Tage weitermachen koennen :-}

apache ist halt wie viele Software inzwischen so komplex, dass man es kaum
noch ueberblickt und bei seltenen Bugs nicht weiterkommt.

Manchmal ist es daher besser alles selber zu schreiben...

Kay Martinen

unread,
Jun 1, 2021, 3:50:02 PM6/1/21
to
Am 21.05.21 um 13:44 schrieb Sven Hartge:
> Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:
>> Sven Hartge <sh-...@svenhartge.de> wrote:
>>> Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:
>
>>>> Ich moechte, dass der apache ip Adressen statt DNS Namen ins log schreibt.

>> Allow from all
>> Deny from .cn
>> Deny from .kr
>> Deny from .ru

>> 129.69.1.129 - - [2021-05-21 13:32:28] "GET / HTTP/1.1" 200 4653
>
>> TatatAAAAA!!!

> recherchiert, bevor ich das Problem eingrenzen konnte, weil der Fakt das
> eine simple .htaccess beim Match auf Namen dies wieder einschaltet
> anstelle entweder einen Fehler zu liefern oder einfach nicht zu
> funktionieren, ist extrem dünn bis gar nicht dokumentiert.

Bot der Apache nicht mal eine option mit der man zur runtime aktive
statements ausgeben konnte. Irgendwas mit testparm oder graceful optionen?


Kay

--
Posted via leafnode

Christian Garbs

unread,
Jun 1, 2021, 4:53:24 PM6/1/21
to
Mahlzeit!

Andreas Kohlbach <a...@spamfence.net> wrote:
> On Fri, 21 May 2021 13:44:30 +0200, Sven Hartge wrote:
>>
>> Ich habe diesem Problem seinerzeit fast einen Monat hinterher
>> recherchiert, bevor ich das Problem eingrenzen konnte, weil der Fakt das
>> eine simple .htaccess beim Match auf Namen dies wieder einschaltet
>> anstelle entweder einen Fehler zu liefern oder einfach nicht zu
>> funktionieren, ist extrem dünn bis gar nicht dokumentiert.
>
> Vielleicht ein Design-Flaw, der den Maintainer nicht bekannt ist?

Wenn er beim allow/deny auf ".cn" matchen soll, dann muss er ja einmal
den Lookup machen, sonst geht das nicht. Die Folgelogik wird dann
vermutlich einfach sein "wir haben einen Namen, also verwenden wir den."

Alternativ müsste man an diversen Stellen im Code, wo ein Hostname
vorbekommen könnte, nochmal das globale Flag "wollen wir überhaupt
Hostnamen?" abfragen. Das wird dem Code nicht guttun, daher haben
die Entwickler nur schwammig in die Doku geschrieben "manche Dinge
machen den Lookup wieder an", weil niemand alle Stellen raussuchen
will…

(Alles reine Vermutung, aber IMHO in sich schlüssig ;-)

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Uncool ist cool. (M. A. S. Foit)

Kay Martinen

unread,
Jun 1, 2021, 5:50:06 PM6/1/21
to
Am 01.06.21 um 22:53 schrieb Christian Garbs:
> Mahlzeit!
>
> Andreas Kohlbach <a...@spamfence.net> wrote:
>> On Fri, 21 May 2021 13:44:30 +0200, Sven Hartge wrote:
>>>
>>> Ich habe diesem Problem seinerzeit fast einen Monat hinterher
>>> recherchiert, bevor ich das Problem eingrenzen konnte, weil der Fakt das
>>> eine simple .htaccess beim Match auf Namen dies wieder einschaltet
>>> anstelle entweder einen Fehler zu liefern oder einfach nicht zu
>>> funktionieren, ist extrem dünn bis gar nicht dokumentiert.
>>
>> Vielleicht ein Design-Flaw, der den Maintainer nicht bekannt ist?
>
> Wenn er beim allow/deny auf ".cn" matchen soll, dann muss er ja einmal
> den Lookup machen, sonst geht das nicht. Die Folgelogik wird dann
> vermutlich einfach sein "wir haben einen Namen, also verwenden wir den."
>
> Alternativ müsste man an diversen Stellen im Code, wo ein Hostname
> vorbekommen könnte, nochmal das globale Flag "wollen wir überhaupt
> Hostnamen?" abfragen. Das wird dem Code nicht guttun, daher haben
> die Entwickler nur schwammig in die Doku geschrieben "manche Dinge
> machen den Lookup wieder an", weil niemand alle Stellen raussuchen
> will…
>
> (Alles reine Vermutung, aber IMHO in sich schlüssig ;-)

Meine Ansicht ebenso. Apache startet doch eh mehrere prozesse die dann
die abfragen behandeln und kennt außerdem virtuelle hosts. Da wäre es
ebenso naheliegend das so der hostnamelookup in globalen configs als
hauptschalter fungierte und in virtuellen hosts auf einer per IP/Port
basis noch mal - aber auch anders (an oder aus) sein kann und nur dort.

Ich bin da nicht auf dem laufenden was es genau mit den "worker"
prozessen auf sich hat und inwie weit da mpm u.alternativen einen
unterschied machen würden. Aber das obige hört sich für mich zu
schwammig an um überhaupt eine konfigurations-sicherheit zu bieten.

Wenn ich mir vorstelle das man solcher software Banküberweisungen,
Gesundheitsdaten und (A)soziale Netzwerke anvertraut wird mir übel. :-)

Zu fragen wäre auch ob ein neu gestarteter prozess die gesamt-konfig
einlesen würde oder nur die für dessen vhost-abfrage er gestartet wurde
- und damit verbundene direktiven was die sache auch wieder schwammig
machen wird, zugegeben.

N.B. Funktionieren Namebased Virtual Hosts mit Hostnamelookup No? Der
Name kommt aus der Anfrage oder? Die kann ja auch eine IP beinhalten -
landet dann aber m.E. auf dem defaulthost

Sven Hartge

unread,
Jun 2, 2021, 1:38:54 AM6/2/21
to
Kay Martinen <use...@martinen.de> wrote:

> N.B. Funktionieren Namebased Virtual Hosts mit Hostnamelookup No? Der
> Name kommt aus der Anfrage oder?

Der Name kommt aus dem HTTP-Header, ja. DNS-Lookups werden dabei keine
gemacht.

> Die kann ja auch eine IP beinhalten - landet dann aber m.E. auf dem
> defaulthost

Die landet auf dem VHost, welcher die IP als ServerName/ServerAlias
konfiguriert hat oder auf dem Default-VHost als Fallback.
0 new messages