IIS Web.Config

Konfigurationsvorschläge

Im Folgenden wird die empfohlene Grundkonfiguration der An­wen­dung­ im Webserver betreffend Sicherheitsaspekten be­han­delt­. Einige Einstellungen die­nen­ dazu, automatisierten Scans möglichst wenige In­for­ma­tio­nen­ über die verwendete In­fra­struk­tur­ zu liefern.

Diverses

httpRuntime
  • maxRequestLength
    Begrenzt die Grösse hochzuladender Da­tei­en­
  • 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 In­for­ma­tio­nen­ des Webserver und der Version (bsp.: Microsoft-IIS/8.5)
  • maxAllowedContentLength
    Begrenzt die Grösse hochzuladender Da­tei­en­

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 un­ter­ kei­nen­ Umständen an «fremde» Web­sei­ten­ weiterzuleiten. Der verwendete Browser muss dies un­ter­stüt­zen­.
  • httpCookies/httpOnlyCookies
    «true» weist den Browser an, den Zu­griff­ von Scripts auf Cookies zu verhindern. Der verwendete Browser muss dies un­ter­stüt­zen­.
  • 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 un­ter­stüt­zen­.
    Da die An­wen­dung­ auf das Session-Cookie angewiesen ist, ist es wichtig, dass diese nur noch per https erreicht wer­den­ kann.
  • httpCookies/sameSite
    «Strict» weist den Browser an, Cookies un­ter­ kei­nen­ Umständen an «fremde» Web­sei­ten­ weiterzuleiten. Sie wer­den­ es geahnt haben; Der verwendete Browser muss dies un­ter­stüt­zen­.

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 Web­site­ oder Teile davon auf fremden Sei­ten­ in einem «iFrame» engezeigt wer­den­.
  • 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 wer­den­ 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