Zurück zur Übersicht

BMD Web: Einrichten der Anwendungen

 

1. Schritte zum Einrichten von BMD Webanwendungen

Diese Anleitung richtet sich an versierte IT-Administratoren, die Erfahrung im Umgang mit dem Internet Information Webserver besitzen. Bei Bedarf können Webanwendungen von der BMD Technik eingerichtet werden – bitte nehmen Sie dazu mit der BMD Terminkoordination Kontakt auf: termin@bmd.at

1.1. IIS muss am Webserver mit folgenden Rollendiensten installiert werden (zusätzlich zum Standard

  1. Komprimieren dynamischer Inhalte
  2. ISAPI-Erweiterungen
  3. HTTP-Umleitung
  4. Kompatibilität mit der IIS 6-Verwaltung
  • IIS 6-Metabasiskompatibilität
  • Kompatibilität mit WMI für IIS 6

PowerShell

Add-WindowsFeature Web-Server,Web-Dyn-Compression,Web-ISAPI-Ext,Web-Http-Redirect,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Web-WMI

Hinweis:

Eine Webapplikation kann bis zu 30 gleichzeitige User verarbeiten. Darüber muss ein entsprechendes Loadbalancing eingerichtet werden. Bitte nehmen Sie dazu mit der BMD Technik Kontakt auf: technik@bmd.at

Für die App BMD Go ist kein eigener ApplicationPool notwendig, es muss lediglich das BMD Web mit einem zusätzlichen Eintrag in der BMD.INI eingerichtet werden.

Auch die BMD Onlinebewerbung ist Bestandteil des BMD Web, diese wird über einen speziellen Parameter aufgerufen: http://.../bmdweb/bmdweb.dll/STARTFUNC/?func=MCS_FRMONLBEWWEB_CREATE


1.2. Einen eigenen Windows-Benutzer anlegen

Unter diesem Benutzer läuft die Anwendung.

 

Webserver = BMD Server

Benutzer als lokalen Benutzer (oder Domänen-Benutzer) anlegen

 

Webserver ≠ BMD Server

Benutzer direkt am Webserver als lokalen Benutzer (oder Domänen-Benutzer) anlegen

1. Benutzername: z. B. bmdcom-sa (Es wird empfohlen, für jede Webanwendung einen eigenen User anzulegen.)

Webanwendung

Benutzername

BMD Com

bmdcom-sa

BMD Web

bmdweb-sa

BMD Onlinebewerbung

bmdweb-sa

BMD Webservice

bmdntcsws-sa

 

2. Kennwort: ein beliebiges/komplexes Kennwort

3. Benutzer kann Kennwort nicht ändern und Kennwort läuft nie ab

4. Gruppenzugehörigkeit

  • Benutzer bzw. Domänen-Benutzer
  • IIS_IUSRS

 

Dem angelegten Benutzer muss das Recht „Debuggen von Programmen“ gewährt werden. Dies muss entweder über die lokale Sicherheitsrichtlinie oder über Gruppenrichtlinien konfiguriert werden.

1.3. Anlage der Ordnerstruktur je nach verwendeter Webanwendung am Webserver

1. C:\Inetpub\“Webanwendung“

Webanwendung

Ordnerstruktur

BMD Com

C:\Inetpub\bmdcom

BMD Web

C:\Inetpub\bmdweb

BMD Onlinebewerbung

C:\Inetpub\bmdweb

BMD Webservice

C:\Inetpub\bmdntcsws

2. Auf diesen Ordner „bmdcom“ dem jeweiligen User (z. B. bmdcom-sa) „Lesen, Ausführen“ gewähren und die Gruppe „Benutzer“ entfernen (dazu muss die NTFS-Vererbung über die erweiterten Sicherheitseinstellungen deaktiviert werden)

3. Darunter den Ordner „LOG“ anlegen

4. Auf diesen Ordner „LOG“ dem jeweiligen User (z. B. bmdcom-sa) „Ändern“ und „Schreiben“ gewähren


1.4. Kopieren der notwendigen Verzeichnisse und Dateien auf den Webserver

1. \\“BMDSERVER“\BMDNTCS_PGM\BMDWEBCORE2_SubFolder.zip in den vorher angelegten Ordner „bmdcom“ kopieren und entpacken.

2. \\“BMDSERVER“\BMDNTCS_PGM\bmdwebcore2.dll in den vorher angelegten Ordner kopieren und je nach Webanwendung umbenennen, z. B. bmdcom.dll (Ausnahme BMD Webservice).

 

ACHTUNG Verwechslungsgefahr! Die Dateien BMDWEBCORE_SubFolder.zip und bmdwebcore.dll sind für legacy BMD Web/Com-Anwendungen.

Webanwendung

.dll

BMD Com

bmdcom.dll

BMD Web

bmdweb.dll

BMD Onlinebewerbung

bmdweb.dll

BMD Webservice

Hier muss anstatt der bmdwebcore2.dll die Datei bmdntcsws.dll kopiert werden.

 

Beispiel BMD Com:

1.5. Anlage BMD.ini am Webserver

1. Im Verzeichnis der Webanwendung „bmdcom“ ist eine Datei „BMD.ini“ anzulegen.

2. Je nach Konstellation gibt es verschiedene Templates (Pfade an die Gegebenheiten anpassen).

ACHTUNG: Werden Pfade mit Leerzeichen angegeben, sind diese ohne ”“ anzugeben!!

Der Eintrag „ALIASCONFIG“ und „ALIASNAMES“ muss ident zur globalen BMD.ini gesetzt werden, welche sich im allgemeinen NTCS-Programmverzeichnis befindet.

Es ist auf die korrekte Groß-/Kleinschreibung zu achten (case sensitive) und es muss der SQL-Servername vom Webserver aus auflösbar sein (falls DNS-Auflösung nicht möglich ist, dann über die HOST Datei am Webserver festlegen). Über diesen Parameter wird die Art der Authentifizierung vorgegeben.

 

Konstellation

Inhalt der BMD.ini

BMDSERVER = WEBSERVER

[BMD]
BIN=D:\PROGRAMME\BMDSoftware\BIN
NLS=D:\PROGRAMME\BMDSoftware\NLS

DATA=D:\PROGRAMME\BMDSoftware\DATEN
LOG=C:\Inetpub\”Webanwendung”\LOG

 

[BMD\ALIASNAMES]
ALIAS0=BMDSERVER\BMD:BMD

 

[BMD\ALIASCONFIG]

BMDSERVER\BMD:BMD=ENCRYPTED, EXTENDED oder SQL

BMDSERVER ≠ WEBSERVER

 

[BMD]
BIN=C:\BMDUpdateservice\BIN
NLS=C:\BMDUpdateservice\NLS

DATA=C:\BMDUpdateservice\DATEN
LOG=C:\Inetpub\”Webanwendung”\LOG

 

[BMD\ALIASNAMES]
ALIAS0=BMDSERVER\BMD:BMD

 

[BMD\ALIASCONFIG]

BMDSERVER\BMD:BMD=ENCRYPTED, EXTENDED oder SQL


1.6. Je nach Webanwendung muss nun die BMD.ini noch erweitert werden.

 

Webanwendung

Ergänzung in der BMD.ini

BMD Com

[BMD\BMDCOM2]

DBALIAS=BMDSERVER\BMD:BMD

FILESDIR=C:\Inetpub\bmdcom\FILES

BMD Web

[BMD\BMDWEB2]

DBALIAS=BMDSERVER\BMD:BMD

FILESDIR=C:\Inetpub\bmdweb\FILES

BMD Onlinebewerbung

Hier wird nur der Eintrag von BMD Web benötigt.

BMD Webservice

Hier sind keine zusätzlichen Einträge nötig


1.7. Sonderkonstellationen

 

1. Es soll im Falle der BMD Go die Funktionalität des BMD Web vollständig deaktiviert werden.

Webanwendung

Ergänzung in der BMD.ini

BMD Go

[BMD\BMDWEB2]
HANDLEDREQUESTS=REST

 

2. Es soll im Falle der BMD Onlinebewerbung die Funktionalität des BMD WEB vollständig deaktiviert werden.

Webanwendung

Ergänzung in der BMD.ini

BMD Onlinebewerbung

[BMD\BMDWEB2]
AUTOSTART_SUBTYPE_MCS=MCS_FRMONLBEWWEB_CREATE

 

3. Das standardmäßige Timeout von 30 Minuten soll angepasst werden.

Webanwendung

Ergänzung in der BMD.ini

BMD Com

[BMD\BMDCOM2]
TIMEOUT=10

BMD Web

[BMD\BMDWEB2]
TIMEOUT=10


1.8. Einrichtung im IIS

(unterscheidet sich nur in der Namensgebung zwischen den einzelnen Webanwendungen)

1. Einen Anwendungspool je nach Webanwendung erstellen

Webanwendung

Name des Anwendungspools

BMD Com

bmdcom

BMD Web

bmdweb

BMD Onlinebewerbung

bmdweb

BMD Webservice

bmdntcsws

 

Beispiel BMD Com:

2. Die erweiterten Einstellungen des Anwendungspools bearbeiten

  • 32-Bit-Anwendungen aktivieren → TRUE
  • Startmodus → AlwaysRunning
  • Identität → den Benutzer hinterlegen, z. B. bmdcom-sa
  • Leerlauftimeout (Minuten) → 0
  • Ping aktiviert → TRUE
  • Schutz für schnelle Fehler Aktiviert → FALSE

3. Über das Kontextmenü der Default Website eine neue Anwendung hinzufügen (je nach Webanwendung):

Webanwendung

Name der Anwendung

BMD Com

bmdcom

BMD Web

bmdweb

BMD Onlinebewerbung

bmdweb

BMD Webservice

bmdntcsws

  • Anwendungspool hinterlegen
  • „Verbinden als“ → den jeweiligen User hinterlegen, z. B. bmdcom-sa

Beispiel BMD Com:

4. Folgende Einstellungen in der gerade erstellten Anwendung anpassen:
Standarddokument hinzufügen → die jeweilige .dll der Webanwendung

Webanwendung

Name .dll Datei

BMD Com

bmdcom.dll

BMD Web

bmdweb.dll

BMD Onlinebewerbung

bmdweb.dll

BMD Webservice

bmdntcsws.dll

 

Beispiel BMD Com:

5. In den Handlerzuordnungen die ISAPI-dll aktivieren:

6. Die .dll der Webanwendung muss noch als ISAPI zugelassen werden in den ISAPI- und CGI-Einschränkungen (auf Ebene des Webservers):

Webanwendung

ISAPI- oder CGI-Pfad

BMD Com

C:\Inetpub\bmdcom\bmdcom.dll

BMD Web

C:\Inetpub\bmdweb\bmdweb.dll

BMD Onlinebewerbung

C:\Inetpub\bmdweb\bmdweb.dll

BMD Webservice

C:\Inetpub\bmdntcsws\bmdntcsws.dll

 

Beispiel BMD Com:

7. In der Anforderungsfilterung der jeweiligen Website das Uploadlimit der Anwendung auf knapp über 100 MB (z. B. 107520000 Byte) erhöhen, da der Standardwert in der NTCS 100 MB entspricht. Somit wird sichergestellt, dass das IIS-Limit hoch genug ist und das NTCS Limit zuvor greift, um eine entsprechende NTCS Meldung zu generieren, wenn das Limit überschritten wird:

Beispiel für BMD Com:

1.9. Einrichtung automatischer Updatedienst

Diese unterscheidet sich je nach Konstellation (Pfade den Gegebenheiten anpassen). Der Updatedienst muss eingerichtet und gestartet werden. Ist er fertig durchgelaufen (Eintrag im Log: Update complete), kann der Aufruf der Webseite getestet werden.

 

Konstellation

Inhalt der BMDService.ini

BMDSERVER = WEBSERVER

  1. Die Datei \\“BMDSERVER“\BMDNTCS_PGM\bmdservice.ini bearbeiten und folgenden Eintrag setzen: [
    BMDUPDATESERVICE]
    UpdateClient=2
  2. Den Dienst „BMDNtcsSvc“ neu starten
  3. Zur Kontrolle die Datei \\“BMDSERVER“\BMDNTCS_PGMDATA\LOG\bmdntcssvc.log prüfen

BMDSERVER ≠ WEBSERVER

 

  1. Die Dateien BMDNtcsSvc.exe – libeay32.dll – ssleay32.dll – msvcr71.dll aus dem Verzeichnis \\“BMDSERVER“\BMDNTCS_PGM in ein lokales Verzeichnis am Webserver kopieren (z. B. C:\BMDUpdateservice)
  2. Eine Datei bmdservice.ini ist in dem gleichen Verzeichnis nach folgendem Muster anzulegen:
    [BMDUPDATESERVICE]
    UpdateClient=1
    Host=BMDSERVER
    Port=81
  3. Eine Datei BMD.ini ist in dem gleichen Verzeichnis nach folgendem Muster anzulegen:
    [BMD]
    BIN=C:\BMDUpdateservice\BIN
    NLS=C:\BMDUpdateservice\NLS
    DATA=C:\BMDUpdateservice\DATEN
    LOG=C:\BMDUpdateservice\LOG
    [BMD\ALIASNAMES]
    ALIAS0=BMDSERVER\BMD:BMD
  4. Den Dienst am Webserver über den Befehl z. B. C:\BMDUpdateservice\BMDNtcsSvc.exe /install anlegen und danach starten.
  5. Zur Kontrolle die Datei prüfen, z. B. C:\BMDUpdateservice\LOG\bmdntcssvc.log

 

 


1.9.1. Sonderkonstellationen Updateservice

Der App-Pool am IIS wird automatisch um 0:00 neugestartet. Wenn man dies auf einen anderen Zeitpunkt legen will, muss folgender Eintrag gesetzt werden:

Ergänzung in der Datei BMDService.ini

[BMDUPDATESERVICE]
PeriodicRestartSchedule=03:00


2. Troubleshooting

  • Kontrolle, ob alle notwendigen Ports vom Webserver aus zum Applikationsserver erreichbar sind – siehe Systemvoraussetzungen: BMD Webapplikationen.
  • Website wird mit „Service unavailable“ angezeigt und der Applicationpool wird jedes Mal automatisch gestoppt:
    • Kontrolle, ob der User bmdcom-sa sowohl auf der Website als auch dem Applicationpool mit dem korrekten Kennwort hinterlegt ist.
    • Kontrolle, ob die Berechtigungen auf die benötigten Verzeichnisse korrekt sind.
    • Kontrolle, ob der User bmdcom-sa das Recht „Anmelden als Stapelverarbeitungsauftrag“ besitzt (sollte standardmäßig über die Mitgliedschaft der Gruppe IIS_IUSRS der Fall sein).
  • Die Anmeldemaske erscheint, jedoch ohne Hintergrund oder Text in den Schaltflächen:
    • Der Benutzer bmdcom-sa benötigt Lese- und Ausführen-Berechtigungen auf die in der BMD.ini definierten Verzeichnisse BIN, NLS und FILES, um einen ordnungsgemäßen Betrieb sicherzustellen.
  • Beim Login tritt ein Datenbankverbindungsfehler auf:
    • Kontrolle des ALIAS Eintrages in der BMD.ini
    • Namensauflösung nicht möglich (speziell wenn Webserver in einer DMZ)
  • Upload der Databox oder Dokumente freigeben funktioniert nicht:
    • Der Dienst BMDNTCSSVC muss laufen und das Dokumentenarchiv in der NTCS muss mit „Speicherung über Service“ laufen.
    • Namensauflösung nicht möglich (speziell wenn Webserver in einer DMZ)
  • Es wird im Browser eine Meldung ausgegeben „Possible DoS Attack…“
    • Die BMD Webapplikationen haben einen Denial-of-Service-Schutz. Erfolgen innerhalb von 5 Minuten mehr als 20 Zugriffe von der identen IP-Adresse, so blockt die Webapplikation weitere Zugriffe ab. Dieser Wert kann auch mittels Parameter in der BMD.INI am Webserver verändert werden. Das kann unter Umständen notwendig sein, wenn Sie einen Loadbalancer einsetzen und somit immer die gleiche IP am Webserver zugreift.
    • Dazu in der Sektion [BMD\BMDWEB2] folgende Einträge setzen:
      • DOS_TIME_RANGE=5                            (Zeitspanne in Minuten)
      • DOS_ALLOWEDSESSIONS=100           (Anzahl an Zugriffen von identer IP Adresse)

3. Sicherheitsempfehlungen

 

Bitte beachten Sie auch den NTCS Hardening Guide: BMD NTCS: Hardening Guide