Absicherung gegen direkten Zugriff

Da die Absicherung von Diensten durch den security.manager über einen Web Security Service erfolgt, muss sichergestellt werden, dass der direkte Zugriff auf den zu schützenden Dienst verhindert wird. Eine Möglichkeit ist die Einschränkung des Zugriffs über die IP-Adresse.

Microsoft Internet Information Services (IIS)

Führen Sie die folgenden Schritte durch, um den Schutz für Microsoft Internet Information Services (IIS) einzurichten:

  • Starten Sie den IIS Managers (über die Systemverwaltung)

  • Wählen Sie das Web-Verzeichnis aus, über das der zu schützende Dienst erreichbar ist (z.B. „ArcGIS" für ArcGIS Server Dienste). Klicken Sie mit rechter Maustaste auf das Verzeichnis und öffnen Sie die Eigenschaften.

  • Im Fenster Eigenschaften wählen Sie den Tab Verzeichnissicherheit und klicken Sie unter Beschränkungen für IP-Adressen und Domainnamen auf Bearbeiten….

  • Wählen Sie die Standardoption Zugriff verweigern aus und tragen Sie unter Ausnahme die IP-Adresse des Servers ein, auf dem der WSS läuft. Verwenden Sie die lokale IP-Adresse 127.0.0.1, wenn beide Dienste auf der gleichen Maschine installiert sind.

  • Bestätigen Sie dreimal mit OK.

Der geschützte Dienst kann jetzt nur noch von den explizit festgelegten IP-Adressen aus direkt angesprochen werden. Für alle anderen ist der Zugriff blockiert.

Tomcat Application Server

Im Apache Tomcat können Zugriffe auf einzelne Web Contexte über sog. Valves auf bestimmte IP-Adressen oder Host-Namen eingeschränkt werden. Dazu muss in der Datei, die das Context-Element der zu schützenden Web-Applikation enthält geöffnet werden. In das Context-Element der Web Applikation wird dann ein Valve-Element eingefügt, wobei es zwei unterschiedliche Implementierungen gibt: eine, die die Spezifikation von Beschränkungen auf bestimmte Hosts auf Basis von Host-Namen erlaubt, und eine, für die Verwendung von IP-Adressen.

Beispiel eines Contexts mit Zugriffsbeschränkungen
<Context path="/gateway" ...>
    ...
    <Valve className="org.apache.catalina.valves.RemoteHostValve" allow="*.mycompany.com,www.yourcompany.com"/>
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.1.*"/>
    ...
</Context>

Beide Möglichkeiten (Host-Name oder IP-Adresse) erlauben die Angabe von erlaubten Hosts (allow-Attribut) und verbotenen Hosts (deny-Attribut). Wenn das allow-Attribut verwendet wird, werden nur die Hosts zugelassen, die im Attribut aufgeführt werden. Existiert das Attribut nicht, werden alle Anfragen zugelassen, es sei denn das deny-Attribut existiert und enthält den entsprechenden Host. Wenn das deny-Attribut existiert, darf der entsprechende Host nicht aufgeführt sein, um Zugriff zu erlangen. Wenn dieses Attribut nicht existiert, wird der Zugriff vom allow-Atribut geregelt.
(Quelle: https://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#Remote_Host_Filter)