apache: Authentifizierung wahlweise über IP oder HTTP-Auth

Bei sensiblen Web-Applikation wie die für das Verwalten des Mailservers (z.B. postfixadmin) oder welche die Zugriff auf die Datenbanken haben (z.B. phpmyadmin) sollte man sich nicht nur auf die Sicherheit der Applikation verlassen und stattdessen zusätzlich eine Authentifizierung über den Webserver (.htaccess) vornehmen.

Hierzu gibt es grundsätzlich zwei Möglichkeiten: Authentifizierung über die IP-Adresse und über eine HTTP-Passwortabfrage.

Doch während die erstere den Nachteil hat unflexibel zu sein (z.B. kein Zugriff mehr wenn man mal von einem Internet-Cafe dringend darauf zugreifen muss), müsste man bei zweitem immer zweimal einloggen: Einmal über die HTTP-Authentifizierung und einmal über die Web-Applikation selbst.

Doch zum Glück lassen sich diese zwei Mechanismen kombinieren, so dass man bei bekannten IPs ohne vorgängige Passwort-Abfrage direkt zum Web-Login kommt und bei „fremden“ IPs die Möglichkeit hat nach einer zusätzlichen HTTP-Authentifizierung die Web-Applikation zu erreichen.

Eine entsprechende .htaccess könnte z.B. so aussehen:

# Access is either granted if the hostname is trusted, OR
# if password authentication succeeds
#
# SYNTAX:
# "Require ip" can be single- or multi line, i.ex.:
# Require ip <ip1> <ip2>
# or:
# Require ip <ip1>
# Require ip <ip2>

Require ip 192.168.0.50
Require host  myhost.example.org

AuthType Basic
AuthName "Untrusted source IP access"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
#Require group staff
require valid-user

Kommt man nun entweder mit dem Hostnamen „myhost.example.org“ oder der IP: „192.168.0.50“ daher, erreicht man direkt die Webseite; bei allen anderen Quell-IPs kommt stattdessen der HTTP-Password Dialog, wo man nach erfolgreicher Anmeldung weiter kommt.

Tipp: Dieses Konstrukt lässt sich ebenfalls auf nginx abbilden.

Published by

Steven Varco

Steven ist ein Redhat RHCE- und Kubernetes CKA Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

One thought on “apache: Authentifizierung wahlweise über IP oder HTTP-Auth”

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert