IIS Web.Config

Konfigurationsvorschläge

Im Folgenden wird die empfohlene Grundkonfiguration der Anwendung im Webserver betreffend Sicherheitsaspekten behandelt. Einige Einstellungen dienen dazu, automatisierten Scans möglichst wenige Informationen über die verwendete Infrastruktur zu liefern.

Diverses

httpRuntime
  • maxRequestLength
    Begrenzt die Grösse hochzuladender Dateien
  • enableVersionHeader
    «false» entfernt den X-AspNet-Version Response Header

system.web/httpRuntime

<system.web>
  <httpRuntime targetFramework="4.8" requestValidationMode="2.0" maxRequestLength="1073741824" enableVersionHeader="false" />
</system.web>
maxRequestLength auf auf denselben Wert wie system.webServer.security.requestFiltering.requestLimits.maxAllowedContentLength setzen
security
  • removeServerHeader
    «true» entfernt den Response Header mit den Informationen des Webserver und der Version (bsp.: Microsoft-IIS/8.5)
  • maxAllowedContentLength
    Begrenzt die Grösse hochzuladender Dateien

system.webServer.security

<system.webServer>
  <security>
    <requestFiltering removeServerHeader="true">
      <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
  </security>
<system.webServer>
maxAllowedContentLength auf denselben Wert wie httpRuntime.maxRequestLength setzen

Cookies

Das ANTRAS CMS benötigt idR. ausschliesslich ein Session Cookie.
  • sessionState/cookieName
    Überschreibt den Namen des «Sitzungscookies»
  • sessionState/cookieSameSite
    «Strict» weist den Browser an, das Sitzungs -Cookie unter keinen Umständen an «fremde» Webseiten weiterzuleiten. Der verwendete Browser muss dies unterstützen.
  • httpCookies/httpOnlyCookies
    «true» weist den Browser an, den Zugriff von Scripts auf Cookies zu verhindern. Der verwendete Browser muss dies unterstützen.
  • httpCookies/requireSSL
    «true» weist den Browser an, Cookies ausschliesslich per SSL/TLS abgesicherte Verbindungen zurück an den Server zu senden. Der verwendete Browser muss dies unterstützen.
    Da die Anwendung auf das Session-Cookie angewiesen ist, ist es wichtig, dass diese nur noch per https erreicht werden kann.
  • httpCookies/sameSite
    «Strict» weist den Browser an, Cookies unter keinen Umständen an «fremde» Webseiten weiterzuleiten. Sie werden es geahnt haben; Der verwendete Browser muss dies unterstützen.

Cookie Einstellungen unter system.web

<system.web>
  <sessionState cookieName="CompanySesID" cookieSameSite="Strict" />
  <httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="Strict"/>
</system.web>

Header

  • remove ..
    Entfernt einige nicht erfordliche Response Header
  • X-Frame-Options
    «sameorigin» ist die empfohlene Einstellung und verhindert, dass die Website oder Teile davon auf fremden Seiten in einem «iFrame» engezeigt werden.
  • Content-Security-Policy
    Die für den Betreib des ANTRAS CMS empfohlenen und notwendigen Einstellungen.
  • Strict-Transport-Security
    Weist den Browser an, in Zukunft für den angegebenen Zeitraum in Sekunden ausschliesslich verschlüsselte Verbindungen für diese Seite zu verwenden.
  • X-Content-Type-Options
    «nosniff» weist den Browser an, beim Download einer Datei diese nicht zu untersuchen um den Dateityp festzustellen, sondern den vom Server gelieferten Dateityp zu verwenden.

customHeaders

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <clear />
      <remove name="X-Powered-By" />
      <remove name="Server" />
      <remove name="x-aspnet-version" />
      <add name="X-Frame-Options" value="sameorigin" />
      <add name="Content-Security-Policy" value="default-src 'self' script-src 'unsafe-inline' script-src 'unsafe-eval' img-src 'self' data:;" />
      <add name="Strict-Transport-Security" value="max-age=7200" />
      <add name="X-Content-Type-Options" value="nosniff" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Überprüfung beim Applikationstart

Beim Start der Applikation werden die wichtigsten Einstellungen geprüft und im «web.log» gegebenenfalls Vorschläge für Anpassungen unterbreitet.
2023-03-06 13:32:42,972 [56] INFO  Application - Application ANTRAS.cms.AppAntrasCms created and is starting up
2023-03-06 13:32:42,987 [56] INFO  Application - Copyright © 2023 by ANTRAS Informationstechnologie GmbH ........
2023-03-06 13:32:42,987 [56] INFO  Application - Checking some entries in web.config
2023-03-06 13:32:42,987 [56] INFO  Application -   system.web/sessionState/CookieName = CompanySesID : OK
2023-03-06 13:32:42,987 [56] INFO  Application -   system.web/sessionState/CookieSameSite = Strict : OK
2023-03-06 13:32:42,987 [56] INFO  Application -   system.web/httpCookies/HttpOnlyCookies = True : OK
2023-03-06 13:32:42,987 [56] INFO  Application -   system.web/httpCookies/RequireSSL = False : Should be True. Cookies should only be transmitted in a SSL session
2023-03-06 13:32:42,987 [56] INFO  Application -   system.web/httpCookies/SameSite = Strict : OK
2023-03-06 13:32:42,987 [56] INFO  Application -   system.web/httpRuntime/enableVersionHeader = False : OK