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 |
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] DATA=D:\PROGRAMME\BMDSoftware\DATEN
[BMD\ALIASNAMES]
[BMD\ALIASCONFIG] BMDSERVER\BMD:BMD=ENCRYPTED, EXTENDED oder SQL |
BMDSERVER ≠ WEBSERVER
| [BMD] DATA=C:\BMDUpdateservice\DATEN
[BMD\ALIASNAMES]
[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] |
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] |
3. Das standardmäßige Timeout von 30 Minuten soll angepasst werden.
Webanwendung | Ergänzung in der BMD.ini |
---|---|
BMD Com | [BMD\BMDCOM2] |
BMD Web | [BMD\BMDWEB2] |
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:
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 |
|
BMDSERVER ≠ WEBSERVER
|
|
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] |
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
- Alle Server sollten mit den aktuellsten Windows-Updates und den entsprechenden Hersteller-Patches versorgt werden, um diverse Sicherheitslücken zu schließen.
- Generell sollten die entsprechenden Anweisungen und Empfehlungen von Microsoft beachtet werden, um das Betriebssystem und die Betriebssystem-Komponenten möglichst sicher zu betreiben. Weiterführende Hinweise finden Sie hier http://social.technet.microsoft.com/wiki/contents/articles/18931.security-hardening-tips-and-recommendations.aspx
Bitte beachten Sie auch den NTCS Hardening Guide: BMD NTCS: Hardening Guide