Einrichten von BMD WEB-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)
- Komprimieren dynamischer Inhalte
- ISAPI-Erweiterungen
- HTTP-Umleitung
- 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 |
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 BMD MOBILE ist kein eigener ApplicationPool notwendig, es muss lediglich die BMD WEB mit einem zusätzlichen Eintrag in der BMD.INI eingerichtet werden.
Auch die BMD Onlinebewerbung ist Bestandteil der 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
- 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 MOBILE | bmdweb-sa |
BMD Onlinebewerbung | bmdweb-sa |
BMD Webservice | bmdntcsws-sa |
- Kennwort: ein beliebiges/komplexes Kennwort
- Benutzer kann Kennwort nicht ändern und Kennwort läuft nie ab
- 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
- C:\Inetpub\“Webanwendung“
Webanwendung | Ordnerstruktur |
BMD COM | C:\Inetpub\bmdcom |
BMD WEB | C:\Inetpub\bmdweb |
BMD MOBILE | C:\Inetpub\bmdweb |
BMD Onlinebewerbung | C:\Inetpub\bmdweb |
BMD Webservice | C:\Inetpub\bmdntcsws |
Auf diesen Ordner 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)
Darunter den Ordner „LOG“ anlegen
Auf diesen Ordner dem jeweiligen User (z. B. bmdcom-sa) „Ändern“ und „Schreiben“ gewähren
1.4. Kopieren der notwendigen Verzeichnisse und Dateien auf den Webserver
- \\“BMDSERVER“\BMDNTCS_PGM\BMDWEBCORE2_SubFolder.zip in den vorher angelegten Ordner kopieren und entpacken. Im Falle des BMD Webservice muss BMDNTCSWS_SubFolder.zip kopiert und entpackt werden.
- \\“BMDSERVER“\BMDNTCS_PGM\bmdwebcore2.dll in den vorher angelegten Ordner kopieren und je nach Webanwendung umbenennen (Ausnahmen BMD Webservice)
ACHTUNG Verwechslungsgefahr! Die Dateien BMDWEBCORE_SubFolder.zip und bmdwebcore.dll sind für legacy BMDWEB/COM-Anwendungen.
Webanwendung | .dll |
BMD COM | bmdcom.dll |
BMD WEB | bmdweb.dll |
BMD MOBILE | 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 der Datei BMD.ini am Webserver
- Im Verzeichnis der Webanwendung ist eine Datei „BMD.ini“ anzulegen.
- 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 MOBILE | Zusätzlicher Eintrag in der C:\Inetpub\bmdweb\BMD.ini [BMD\BMDMOBILE] DBALIAS=BMDSERVER\BMD:BMD |
BMD Onlinebewerbung | Hier sind keine zusätzlichen Einträge nötig |
BMD Webservice | Hier sind keine zusätzlichen Einträge nötig |
1.7. Sonderkonstellationen
- Es soll im Falle der BMD MOBILE die Funktionalität der BMD WEB vollständig deaktiviert werden.
Webanwendung | Ergänzung in der BMD.ini |
BMD Mobile | [BMD\BMDWEB2] HANDLEDREQUESTS=MOBILE |
- Es soll im Falle der BMD Onlinebewerbung die Funktionalität der BMD WEB vollständig deaktiviert werden.
Webanwendung | Ergänzung in der BMD.ini |
BMD Onlinebewerbung | [BMD\BMDWEB2] AUTOSTART_SUBTYPE_MCS=MCS_FRMONLBEWWEB_CREATE |
- 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)
- Einen Anwendungspool je nach Webanwendung erstellen:
Webanwendung | Name des Anwendungspools |
BMD COM | bmdcom |
BMD WEB | bmdweb |
BMD MOBILE | bmdweb |
BMD Onlinebewerbung | bmdweb |
BMD Webservice | bmdntcsws |
Beispiel BMD Com:
- Die erweiterten Einstellungen des Anwendungspools bearbeiten
- 32-Bit-Anwendungen aktivieren => TRUE
- Identität => den Benutzer hinterlegen, z. B. bmdcom-sa
- Leerlauftimeout (Minuten) => 0
- Ping aktiviert => TRUE
- Schutz vor schnellen Fehlern Aktiviert => FALSE
- Ü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 MOBILE | bmdweb |
BMD Onlinebewerbung | bmdweb |
BMD Webservice | bmdntcsws |
Beispiel BMD Com:
- 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 MOBILE | bmdweb.dll |
BMD Onlinebewerbung | bmdweb.dll |
BMD Webservice | bmdntcsws.dll |
Beispiel BMD Com:
- In den Handlerzuordnungen die ISAPI-dll aktivieren:
- 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 MOBILE | C:\Inetpub\bmdweb\bmdweb.dll |
BMD Onlinebewerbung | C:\Inetpub\bmdweb\bmdweb.dll |
BMD Webservice | C:\Inetpub\bmdntcsws\bmdntcsws.dll |
Beispiel BMD Com:
- In der Anforderungsfilterung der jeweiligen Website das Uploadlimit der Anwendung auf 100 MB (100000000 Byte) erhöhen:
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 | - Die Datei \\“BMDSERVER“\BMDNTCS_PGM\bmdservice.ini bearbeiten und folgenden Eintrag setzen:
[BMDUPDATESERVICE] UpdateClient=2 - Den Dienst „BMDNtcsSvc“ neu starten
- Zur Kontrolle die Datei \\“BMDSERVER“\BMDNTCS_PGMDATA\LOG\bmdntcssvc.log prüfen
|
BMDSERVER ≠ WEBSERVER | - 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)
- Eine Datei bmdservice.ini ist in dem gleichen Verzeichnis nach folgendem Muster anzulegen:
[BMDUPDATESERVICE] UpdateClient=1 Host=BMDSERVER Port=81 - 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 - Den Dienst am Webserver über den Befehl z. B. C:\BMDUpdateservice\BMDNtcsSvc.exe /install anlegen und danach starten.
- Zur Kontrolle die Datei prüfen, z. B. C:\BMDUpdateservice\LOG\bmdntcssvc.log
|
2. TROUBLESHOOTING
- Kontrolle, ob alle notwendigen Ports vom Webserver aus zum Applikationsserver erreichbar sind - siehe BMD Programme und (Software-) Firewalls.
- 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:
- BIN, NLS und FILES-Verzeichnis in der BMD.ini und deren Berechtigungen für den bmdcom-sa kontrollieren.
- 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)
- Die BMD MOBILE kann via Browser getestet werden:
- 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.