Zur Sicherheit des Betriebs von vtiger CRM im Internet

Informationen in Customer-Relationship-Management-Datenbanken (CRM) zählen zu den sensibelsten Daten von allen. Unter anderem umfassen sie Adressen, Gesprächsnotizen, persönliche Anmerkungen, Angebote, Forderungen und Umsatzzahlen. Ein CRM wie vtiger stellt zudem weitreichende Möglichkeiten des Versands von Einzel- und Serienemails zur Verfügung, deren Missbrauch unangenehm sein könnte. Vor allem deshalb empfehlen Kritiker, ein CRM wie vtiger „unbedingt nur intern und nie direkt im Internet “ zu betreiben, um das Risiko unberechtigten Zugriffs so gering wie möglich zu halten. Es scheint aber so zu sein, dass man das „durchaus tun“ könne, sofern man „die notwendigen Vorkehrungen zum Schutzseiner Verbindung vornimmt“, also „mindestens SSL“ und „htaccess etc.“ einrichtet.

SSL

SSL sichert eine Verbindung zwischen Server und Client, beispielsweise einem Browser. Ziel ist es, die Verbindung vor Lauschern und die Datenpakete gegen Verfälschung zu schützen. Mit SSL kann man sich davor schützen, dass Passwörter abgehört, IP-Adressen oder Kommunikationsvorgänge durch Dritte missbraucht oder Datenpakete in Vermittlungsstellen abgefangen und manipuliert werden. Prominent ist SSL im Zusammenhang mit Bank- oder Emaildiensten etc., deren URL mit https:// beginnen.

Wenn man nun vtiger im Internet betreiben will, ist eine SSL-geschützte Installation denkbar einfach umzusetzen. Hierfür bedarf es eines Webhosting-Dienstleisters, der den SSL-Schutz einzelner Verzeichnisse als Teil seiner Dienstleistung zur Verfügung stellt. Alfahosting bietet beispielsweise drei verschiedene SSL-Leistungsklassen für Preise zwischen 1,99 € und 5,99 € pro Monat an. Bedingung ist dort der Erwerb einer dedizierten IP-Adresse für 30,- €. Beim Kauf des für vtiger vollkommen ausreichenden „Mulitpakets“ summerieren sich die monatlichen Ausgaben auf 7,68 € bei zwölf Monaten Laufzeit. Bei Goneo ist ähnlicher Leistungsumfang im Paket „Premium“ für 9,95 € erhältlich. Webhoster.ag lockt seine Kunden mit stattlichen Leistungen und kleinen Preisen. SSL muss hier jedoch mit 99.- € pro Jahr extra bezahlt werden.

htaccess

htaccess bietet mehrere Möglichkeiten, vtiger gegen unberechtigte Zugriffe zu schützen. Mittels htaccess lässt sich zunächst eine weitere Authentifikationsebene hinzufügen, auf der sich Nutzer mit Benutzernamen und Passwort identifizieren müssen, ehe sie vom Server autorisiert werden. Damit lässt sich jedweder unerlaubter Zugriff vermeiden. Der Benutzer kann sich dann erst nach der htaccess-Authentifikation wie gewohnt am vtiger-System anmelden.

Die Erstellung von htaccess-Dateien für den Schutz von Verzeichnissen ist mit einfachen Texteditoren möglich. Häufig werden jedoch in den Administrationsmenüs der Webhosting-Dienstleister entsprechende Werkzeuge angeboten. Desweiteren gibt es im Internet auch kleine Webseiten, die einem bei der Erstellung behilflich sind. Zum Beispiel http://www.ekiwi.de/tools/htaccess/index.php oder auch http://www.bananajoe.de/cgi-bin/pass.cgi.

Sollte die htaccess-Authentifizierung von einem Eindringling überwunden werden, kann dann ferner mittels htaccess sichergestellt werden, innerhalb der Ordnerstruktur von vtiger nicht navigieren und einzelne Dateien nicht identifizieren zu können. Gehört diese Einstellung nicht sowieso schon zur voreingestellten Konfiguration des Servers, beinhaltet die vtiger-Installation standardmäßig eine Datei namens „htaccess.txt“, die den diesbezüglichen Befehl „Options -Indexes“ beinhaltet.
Ist der Webserver so konfiguriert, dass er die in einem Verzeichnis vorhandenen Dateien auflistet, sobald keine Datei mit der Bezeichnung index.php oder index.html gefunden wird, so kann das Anzeigen der Dateien im Verzeichnis unterbunden werden, indem die Datei htaccess.txt in .htaccess umbenannt wird. Aber Vorsicht: Es kann sein, dass bereits eine .htaccess-Datei existiert, auch wenn keine zu sehen ist. Die Sichtbarkeit von .htaccess-Dateien hängt ebenfalls von der Konfiguration des Webservers ab. Man muss daher sicherstellen, die vorhandenen Dateien nicht zu überschreiben, da sie für die Konfiguration des jeweiligen Webhosting-Pakets relevant sind. Bestehende htacess-Datei sollte man deshalb im Zweifel lieber nicht überschreiben, sondern den Befehl „Options -Indexes“ einfach hinzufügen. (siehe auch Apache Tutorial: .htaccess files oder auch Using htaccess files)

Der Vollständigkeit halber sei erwähnt, dass die Dateien auf dem Server des Webhosting-Anbieters auch via FTP vor unerlaubten Zugriffen geschützt werden können und müssen. Per FTP lassen sich die Zugriffsrechte je Datei und Verzeichnis per CHMOD einstellen. Dabei werden die Rechte des Eigentümers (owner) von denen von Gruppen (groups) und Öffentlichkeit (public) unterschieden. Wichtig ist, die Schreibrechte der Gruppen und der Öffentlichkeit einzugrenzen. (CHMOD 755). Es ist jedoch zu berücksichtigen, dass einige Verzeichnisse und Dateien in vtiger eventuelle volle Schreibrechte benötigen; beispielsweise im Moment der Installation.

Sicherheit der vtiger-internen Dateiablage

Der zusätzliche Schutz von vtiger mittels htaccess ist insbesondere deshalb wichtig, weil das CRM seinen Nutzern die Möglichkeit bietet, kundenspezifisch Dateien abzulegen und damit eine einfache Dokumentenmanagementfunktion (DMS) bereitstellt. Diese Dateien werden von vtiger nicht in der Datenbank abgelegt, sondern liegen als Dateien prinzipiell ungeschützt im Verzeichnis /storage. Vtiger generiert zwar automatisch eine sich am Datum der Ablage orientierende Ordnerstruktur und benennt die Dateien bei der Ablage partiell um, sodass Name und Pfad der einzelnen Dateien schwer zu erraten sind. Dies scheint jedoch keine befriedigende Lösung zu sein, um Angebote, Korrespondenz oder ähnliches sicher im Internet aufzubewahren, sofern kein zusätzlicher Zugriffschutz per htaccess existiert. Wer auf eine zusätzliche Authentifikation mittels htaccess verzichtet, reduziert die Sicherheit der im Web hinterlegten Dateien auf das Problem, das System der Benennung der Pfade und Dateinamen zu erraten. Unklar ist, ob dann Suchmaschinen eben jene Dateien identifizieren und durchsuchen könnten. (Hierzu mehr im vtiger.com-Forum) Erst dann erscheint es interessant, weitere htaccess-basierte Maßnahmen zu ergreifen, den Zugriff auf untergeordnete Dateien und Verzeichnisse für Suchmaschinen zu erschweren.

Weitere Sicherheitsmaßnahmen

Sofern man die Möglichkeit dazu hat, kann man die Sicherheit einer vtiger-Installation im Internet auch erhöhen, indem man den Zugriff nur von bestimmten IP-Adressen aus zulässt (bspw. via Access Control mittels htaccess). Das funktioniert beispielsweise dann, wenn die Nutzer, die auf ein im Internet liegendes CRM zugreifen sollen, alle an das gleiche LAN angeschlossen sind, das sich durch eine bestimmte IP ausweisen kann. Den Zugriff auf bestimmte IP-Adressen zu beschränken ist aber problematisch, sobald es sich bei den CRM-Nutzern um Personen handelt, die inn kleinen Büros ohne feste IP-Adressen arbeiten. Dies ist für alle jene Büros der Fall, deren DSL- oder Kabelmodems dynamisch eine IP-Adresse von einem Provider zugewiesen bekommen.

In diesem Fall besteht noch die Möglichkeit, den Zugriff auf vtiger im Rahmen eines Virtual Private Networks (VPN) zu kontrollieren. In diesem Fall wird ein eigener Server administriert, der über das Internet von außen erreichbar ist, auf den zum Beispiel Außendienstmitarbeiter oder andere Geschäftsstellen zugreifen müssen.

Aber auch das dürfte für die allermeisten kleinen Büros keine Lösung sein, da es den Betrieb eines eigenen Servers ebenso wie die Administration eines VPN voraussetzt. Spätestens bei der Anmietung externer Server und dem Einkauf der für die Administration notwendig werdenden Dienstleistungen stellt sich dann die Frage, ob dieser Aufwand bezahlbar und berechtigt ist.

Zu allerletzt hat es der Server-Administrator in der Hand, die PHP-Installation auf seinem Server gegen Angriffe zu sichern. (siehe hierzu bspw. die Diskussion „Securing LAMP/vTiger5.1„) Ist man entschlossen, vtiger im Internet zu betreiben und hierzu einen virtuellen oder dezidierten Webserver anzumieten, hat man auf die Server-Administration so gut wie keinen Einfluß, außer dadurch, sich seinen Provider nach Möglichkeit genau auszusuchen, die persönlichen Bedürfnisse präzise zu beschreiben und an einen verständnisvollen Dienstleister zu geraten.

Fazit

Zweifelsohne sollte man sich eines bestehenden Risikos bewußt sein, wenn man ein CRM wie vtiger im Internet betreibt. Restrisiken bestehen weiterhin durch den sachgemäßen und vertraulichen Umgang der Nutzer mit ihren Zugangsdaten und den im CRM gesammelten Daten.

Es scheint jedoch so zu sein, dass sich ein solches System wie vtiger mittels SSL und htaccess bereits verhältnismäßig sicher betreiben lässt. Ein Indiz hierfür sind all jene Internetshops, die in ganz ähnlicher Form auf virtuellen Webservern gehostet werden, in denen ebenfalls zum Teil äußerst sensible Kundendaten wie beispielsweise Bankverbindungen verwaltet werden und die in ganz ähnlicher Form abgesichert sind.

Letztlich ist die Aussicht, auch ohne eigene Server-Infrastruktur ein CRM betreiben zu können, auf das beliebig viele räumlich voneinander getrennt arbeitende Mitarbeiter Zugriff haben, ein gewichtiger Grund, Chancen und Risiken eines Betriebs von vtiger im Internet abzuwägen.

5 Kommentare

    Enrico

    Super interessanter Artikel. Vielen Dank für die Informationen!

    Open-Source-CRM: Wie man vtiger CRM 5.1.0 auf eigenem Webspace installiert | Der Dieckmann

    […] Möglichkeit der Absicherung von vtiger auf einem eigenen Webspace mittels SSL und htaccess habe ich an anderer Stelle ausführlich dargestellt. Die Installation sollte nach Möglichkeit in […]

    Zum Umgang mit Sicherheitslücken bei Webanwendungen mittels .htaccess | Der Dieckmann

    […] Zugriffsrechte einräumen muss. Für ein nicht-öffentlich genutztes System wie beispielsweise vtigerCRM ist dies eine geeignete Lösung. Nicht jedoch für Content-Management-Systeme, deren Content […]

    kutte

    Vielen dank für die Infos und das ausführliche Beschreiben

    Florian Dieckmann

    Interessante Fundsache betreffs vtiger 5.2.1 vom 07.10.2011:

    Blind SQL Injection:-

    The „onlyforuser“ parameter was not properly sanitized, which allows attacker to conduct Blind SQL Injection Attack. This could an attacker to inject or manipulate SQL queries in the back-end database, allowing for the manipulation or disclosure of arbitrary data.

    Remote Code Execution:-

    vTiger uses the vulnerable version of phpmailer class file located at /cron/class.phpmailer.php

    XSS:-

    Multiple parameters were not properly sanitized, which allows attacker to conduct Cross Site Scripting attack. This may allow an attacker to create a specially crafted URL that would execute arbitrary script code in a victim’s browser.

    http://www.voiceofgreyhat.com/2011/10/multiple-vulnerability-found-in-vtiger.html

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*
*