Monatliche Archive: Januar 2018

Exchange: Organisationsweit Formulare verwenden

Auf dem Exchange Server in der Exchange Mangement Shell den folgenden Befehl eingeben:

New-PublicFolder -Path "\NON_IPM_SUBTREE\EFORMS REGISTRY" -Name "Organizational Forms Library"

In der Exchange Mangement Console unter Toolbox > Öffentliche Ordner Verwaltungskonsole wie folgt: Öffentliche Ornder – Servername > Öffentliche Systemordner > EFORMS REGISTRY auf der linken Seite anklicken.

Auf der rechten Seite dann Organizational Forms Library mit rechter Maustaste auf Eigenschaften und die Rechte anpassen (z.B. Public: Keine, Administratoren: Besitzer, Standard:  Prüfer).

Dann in ExFolders die Standard Datenbank für öffentliche Ordner öffnen und links im Baum auswählen System Folders > EFORMS REGISTRY > Organizational Forms Library.

Dann rechte Maustaste Properties > Property > Add Property to view > 0x6707001E > ok.

Denn Eintrag PR_URL_NAME markieren (Achtung: Mir wurde manchmal 0x6707001F statt 0x6707001E angezeigt, später wurde es jedoch richtig angzeigt) und rechte Maustaste > Edit Value und bei Value „/NON_IPM_SUBTREE/EFORMS REGISTRY“ (ohne die “ natürlich) eintragen und mit Ok bestätigen.

Dann MFCMAPI.exe starten und unter Logon eine Verbindung herstellen (hierzu muss eine MAPI Verbindung auf dem Server eingerichtet sein!).

Dann im linken Baum den entsprechenden neuen Ordner öffnen (Public Root > NON_IPM_SUBTREE > EFORMS REGISTRY > Organizational Forms Library).

Dann rechte Maustaste > Edit give Property > Select Property Tag > PR_EFORMS_LOCAL_ID auswählen > Ok.

Dann in der Auswahl PR_EFORMS_LOCAL_ID editieren und dort in Unsignes Decimal 1031 einsetzen (andere Locale IDs sind hier zu finden) und mit Ok schließen.

Anschließend auf er rechten Seite > rechte Maustaste > Save Changes klicken.

Danach Outlook neu starten und Enticklertools aktivieren in den Einstellungen.

Nun können Formulare erstellt und im Ordner Bibliothek für organisatorische Formulare gespeichert werden und nach einiger Zeit (Replikation) bei den anderen in den Outlookeinstellungen unter Erweitert > Benutzerdefinierte Formulare > Formulare verwalten heruntergeladen werden.

Die Formulare können dann anschließend einem öffentlichen Ordner zugewiesen werden.

Weitere Quellen:

 

 


Veeam: Emailbenachrichtigung für Veeam Backup Agent for Linux

Während der Backup Agent for Windows Emailbenachrichtigungen unterstützt gibt es diese leider nicht bei dem Agent for Linux.

Doch da ein Linux Server Mail und Scripte unterstützt ist es möglich mit einigen wenigen Handgriffen dies nachzurüsten.

Als Ausgangsbasis habe ich ein Debian 8 Server der als Webserver eingerichtet ist.

Solltet ihr einen virtuellen Server haben, erstellt am besten erst einen Snapshot – später könnt ihr diesen wieder bereinigen. Solltet ihr keinen virtuellen Server haben, so erstellt bitte erst eine Vollsicherung.

Wenn dies geschehen ist können wir mit der Exim installation loslegen:

Ich habe diese Anleitung verwendet.

Danach wird nun die Notifcation eingerichtet wie hier beschrieben.

Das habe ich wie folgt in einer Shell mit Root Rechten erledigt (su oder sudo vor jeden Befehl):

cd /etc/veeam

mkdir scripts

wget http://www.grufo.com/veeam_mail.sh.txt

wget http://www.grufo.com/veeam_mail_template.html

mv veeam_mail.sh.txt veeam_mail.sh

Mit VI oder NANO dann die veeam_mail.sh anpassen und editieren.

Wenn das erledigt ist, dann in den Backupjob Advanced Settings das Script als Post-Script eintragen.

Vielen Dank den Autoren Markus Mannshardt und Manfred Larcher für ihren Aufwand und das zur Verfügung stellen :).

Quellen:


Veeam: Sicherung auf USB Festplatte

Veeam kann auf vielen Medien sichern – unter anderem auch auf USB. Hier bietet sich an eine USB Festplatte an dem Host anzubringen (bitte darauf achten das ein entsprechender USB 3.0 Port verwendet wird). Dann wird in der VM ein USB 3.0 Port eingerichtet und ein Weiteres USB Gerät (nachdem die Platte angeschlossen wurde, wird diese dann angezeigt und kann dann entsprechend ausgewählt werden.

Alternativ kann man auch an einem NAS eine Platte verbinden, welche dann als Netzwerkfreigabe eingerichtet wird.

Diese Platte wird dann in Veeam unter Backup & Replication > Backup Infrastructure > Backup Repository eingerichtet (entweder als Netzwerkshare oder als lokale Platte – je nachdem wie diese freigegeben ist).

In den Eigenschaften sollte dann unter Repository > Advanced > This repository is backed by rotated hard drives aktiviert sein.

Danach sollte für die Sicherung ein eigener Job eingerichtet werden (hier kann ein existierender gecloned werden und das Ziel sowie die Zeit angepasst werden).

Die Retentionpolicy sollte auf 1 eingestellt werden (unter Storage – wenn z.B. nur ein Job aufbewahrt werden soll und die Platte nicht Volllaufen soll).

Hierbei gilt zu beachten, das die Retentionpolicy erst nach der Sicherung greift – sollte die USB Festplatte zu wenig Platz haben, muss man sich behelfen und kann z.B. ein Script hinterlegen welches ohne Rückfrage die vorhandene Sicherung löscht (einzustellen in den Jobeigenschaften unter Storage > Advanced > Scripts > Run the followinf script before the Job).

Veeam startet erst nachdem das Script durchgelaufen ist. Hierbei gilt jedoch zu beachten, das wenn die Sicherung fehlschlägt, auch das vorherige Backup weg ist!

Update 26.02.2019: Möchte man hier nicht Scripten, gibt es einen Registryeintrag – welcher die Platten zuvor bereinigt. Legen Sie dazu den DWORD Eintrag ForceDeleteBackupFiles mit dem Wert 3 an unter HKLM\Software\Veeam\Veeam Backup and Replication .

Weitere Informationen:


ESXI/Veeam: Failed to create Snapshot

Um Linuxserver sowie in virtuellen als auch in physischen Umgebungen zu sichern bietet Veeam den kostenlosen Backup Agent für Windows sowie für Linux an.

Diesen hatte ich auf einen virtuellen Debian Server eingesetzt – hatte jedoch das Problem, das die Sicherungen nicht liefen, da anscheinend der Snapshot nicht erstellt wurde.

Der Fehler lautete:

[18.01.2018 15:37:38] <140310290929408> lpbcore| WARN|Failed to get used space on device [sda5].
[18.01.2018 15:37:38] <140310290929408> lpbcore|       Partition sda5, size: 4393533440, used: 4393533440.
[18.01.2018 15:37:38] <140310290929408> lpbcore|     Used space: 59995000832.
[18.01.2018 15:37:38] <140310290929408> lpbcore|     Overall data size used: 59995000832.
[18.01.2018 15:37:38] <140310290929408> lpbcore|   Taking snapshot.
[18.01.2018 15:37:38] <140310290929408> vmb    |     [SessionLog][processing] Creating volume snapshot.
[18.01.2018 15:37:38] <140310290929408> lpbcore|     Adding disk backup object into snapshot set. Disk: [sda].
[18.01.2018 15:37:38] <140310290929408> lpbcore|       Request to snapshot device: [8:1].
[18.01.2018 15:37:38] <140310290929408> lpbcore|       Request to stop tracking device: [8:0].
[18.01.2018 15:37:38] <140310290929408> lpbcore| WARN|Method invocation was not finalized. Method id [1]. Class: [lpbcorelib::interaction::ISnapshotOperation]
[18.01.2018 15:37:38] <140310290929408> lpbcore| ERR |Child execution has failed. Exit code: [1].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to execute [modprobe].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to finish snapshot creation process.
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to execute method [1] for class [lpbcorelib::interaction::proxystub::CSnapshotOperationStub].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to invoke method [1] in class [lpbcorelib::interaction::ISnapshotOperation].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |An exception was thrown from thread [140310290929408].
[18.01.2018 15:37:38] <140310290929408> lpbcore| ERR |Failed to execute thaw script with status: fail.
[18.01.2018 15:37:38] <140310290929408> vmb    |     [SessionLog][error] Failed to create volume snapshot.
[18.01.2018 15:37:38] <140310290929408> lpbcore|   Taking snapshot. Failed.
[18.01.2018 15:37:38] <140310290929408> lpbcore| BackupJobPerformer: Creating backup. Failed.
[18.01.2018 15:37:38] <140310290929408> vmb    | [SessionLog][error] Failed to perform backup.
[18.01.2018 15:37:38] <140310290929408> vmb    | [SessionLog][error] Child execution has failed. Exit code: [1].
[18.01.2018 15:37:38] <140310290929408> vmb    | [SessionLog][error] Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0].
[18.01.2018 15:37:38] <140310290929408> vmb    | [SessionLog][error] Processing finished with errors at 2018-01-18 15:37:38 CET.
[18.01.2018 15:37:38] <140310290929408> lpbcore| ERR |Child execution has failed. Exit code: [1].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to execute [modprobe].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to finish snapshot creation process.
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to execute method [1] for class [lpbcorelib::interaction::proxystub::CSnapshotOperationStub].
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |--tr:Failed to create volume snapshot.
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |Backup job has failed.
[18.01.2018 15:37:38] <140310290929408> lpbcore| >>  |An exception was thrown from thread [140310290929408].
[18.01.2018 15:37:38] <140310336378752>        |   Closing socket device.
[18.01.2018 15:37:38] <140310336378752> lpbcore| LpbManSession: Processing commands. ok.
[18.01.2018 15:37:38] <140310336378752>        | Closing socket device.
[18.01.2018 15:37:38] <140310290929408> lpbcore| JOB STATUS: FAILED.

Die Lösung bekam ich dazu aus dem Veeam Forum, wo ich mich mit dem Problem hinwandte.

Das Problem war, das die „Linux-Headers“ fehlten und somit das Modul nicht genutzt werden konnte. Eine nachinstallation dieser löste das Problem (in einer Shell mit Root-Rechten oder mit sudo):

apt-get install linux-headers-$(uname -r)
apt-get remove veeam
apt-get install veeam

Nun läuft die Sicherung:

Quelle: https://forums.veeam.com/veeam-agent-for-linux-f41/backup-failed-failed-to-create-snapshot-t48163.html


Datenschutzerklärung

Kategorie: Allgemein

Datenschutzerklärung

Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf. (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).

Verantwortlicher

Peter Leibling
Preußen-Dellbrück-Weg 21
51069 Köln
Telefon 0221 8232783
Fax 0221 8232784
Mobil 01590 4071646
Email: peter@leibling.de

Impressum: https://www.leibling.de/impressum/

Arten der verarbeiteten Daten:

– Bestandsdaten (z.B., Namen, Adressen).
– Kontaktdaten (z.B., E-Mail, Telefonnummern).
– Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).
– Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).
– Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen).

Zweck der Verarbeitung

– Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.
– Beantwortung von Kontaktanfragen und Kommunikation mit Nutzern.
– Sicherheitsmaßnahmen.
– Reichweitenmessung/Marketing

Verwendete Begrifflichkeiten

„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.

„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführten Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.

Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.

Maßgebliche Rechtsgrundlagen

Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.

Sicherheitsmaßnahmen

Wir bitten Sie sich regelmäßig über den Inhalt unserer Datenschutzerklärung zu informieren. Wir passen die Datenschutzerklärung an, sobald die Änderungen der von uns durchgeführten Datenverarbeitungen dies erforderlich machen. Wir informieren Sie, sobald durch die Änderungen eine Mitwirkungshandlung Ihrerseits (z.B. Einwilligung) oder eine sonstige individuelle Benachrichtigung erforderlich wird.

Zusammenarbeit mit Auftragsverarbeitern und Dritten

Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).

Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.

Übermittlungen in Drittländer

Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).

Rechte der betroffenen Personen

Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.

Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.

Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.

Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.

Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.

Widerrufsrecht

Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen

Widerspruchsrecht

Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.

Cookies und Widerspruchsrecht bei Direktwerbung

Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein Login-Staus gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt, angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).

Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung auf.

Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu Funktionseinschränkungen dieses Onlineangebotes führen.

Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite http://www.aboutads.info/choices/ oder die EU-Seite http://www.youronlinechoices.com/ erklärt werden. Des Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden können.

Löschung von Daten

Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.

Nach gesetzlichen Vorgaben in Deutschland erfolgt die Aufbewahrung insbesondere für 6 Jahre gemäß § 257 Abs. 1 HGB (Handelsbücher, Inventare, Eröffnungsbilanzen, Jahresabschlüsse, Handelsbriefe, Buchungsbelege, etc.) sowie für 10 Jahre gemäß § 147 Abs. 1 AO (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handels- und Geschäftsbriefe, Für Besteuerung relevante Unterlagen, etc.).

Nach gesetzlichen Vorgaben in Österreich erfolgt die Aufbewahrung insbesondere für 7 J gemäß § 132 Abs. 1 BAO (Buchhaltungsunterlagen, Belege/Rechnungen, Konten, Belege, Geschäftspapiere, Aufstellung der Einnahmen und Ausgaben, etc.), für 22 Jahre im Zusammenhang mit Grundstücken und für 10 Jahre bei Unterlagen im Zusammenhang mit elektronisch erbrachten Leistungen, Telekommunikations-, Rundfunk- und Fernsehleistungen, die an Nichtunternehmer in EU-Mitgliedstaaten erbracht werden und für die der Mini-One-Stop-Shop (MOSS) in Anspruch genommen wird.

Erhebung von Zugriffsdaten und Logfiles

Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.

Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.

Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke


Netzwerkmonitoring mit PRTG (clean)

Kategorie: Allgemein

Hier der Status meines Hausnetzes in Echtzeit:



Debian: Webserver mit vhosts (virtuellen Webservern)

Einen Webserver unter Debian zu installieren ist nicht besonders schwer, hier eine kurze Anleitung.

Beachten Sie jedoch dringend noch folgende Ratschläge:

  • Stellen Sie ihr System so ein, das es sich automatisch aktuell hält oder halten Sie ihr System aktuell.
  • Stellen Sie ihren Server nicht direkt ins Internet, nutzen Sie eine Firewall davor und veröffentlichen Sie nur die entsprechend benötigten Dienste.
  • Wählen Sie komplexe Kennwörter.
  • Erlauben sie keinen direkten Root Zugriff.
  • Setzen Sie Richtlinien zum härten ihres Webservers um.

Los geht:

Downloaden sie die aktuelle Version (derzeit 9.3) Netzwerkinstall herunter und kopieren Sie sie in einen Datenspeicher auf dem Host.

Erstellen Sie eine VM (z.B. Version 6.5, 4 Porzessoren, 8 GB Ram, 60 GB Thin, Netzwerkkarte, CD Laufwerk mit dem entsprechenden ISO).

Starten Sie die Installation (z.B. alles abgewählt bis auf SSH Server und Systemtools).

Nach der Installation loggen Sie sich ein mit dem erstellten User und holen sich die IP mit „ip addr show“.

Verbinden Sie sich mit SSH (unter OSX oder *nix mit Terminal oder unter Windows mit z.B. Putty) und wecheln sie zu root mit „su“.

Sollten sie einen virtuellen Server verwenden (ESX oder ESXI), so sollten Sie als erstes die Open VM Tools installieren und den Server neu starten:

apt-get install open-vm-Tools
init 6

Nun werden wir dem Server eine feste IP zurordnen:

cd /etc/network/interfaces

Editieren Sie den folgenden Eintrag (z.B. mit VI oder Nano):

iface ens192 inet dhcp (Achtung, statt ens192 kann hier auch was anderes stehen wie z.B. eth0)

Ändern sie ihn wie folgt (verwenden Sie bitte natürlich ihre eigenen Daten):

iface ens192 inet static
address 192.168.123.10/24
gateway 192.168.123.254
dns-nameservers 192.168.123.254
dns-search domain.tld

Starten Sie die Installation vom Webserverteil wie folgt:

apt-get update
apt-get upgrade
apt install apache2 apache2-utils

Wenn Sie ihre Seite mit SSL sichern wollen (ich verwende mittlerweile oft ssls.com, dort bekommt man ein einfaches Zertifikat für ca. 15$ für 3 Jahre und dies erhält man in wenigen Minuten), gehen Sie wie folgt im Terminal vor:

cd /etc/ssl/private
openssl genrsa -out servername.domain.tld.key 2048
openssl req -new -key servername.domain.tld.key -out servername.domain.tld.csr -sha256

Dieses CSR verwenden Sie bitte um das Zertifikat zu beantragen. Ich hole es mir einfach in dem ich folgendes im Terminal eingebe:

cat servername.domain.tld.csr

Dieses dann rauskopieren zum beantragen.

Sollten Sie das Zertifikat haben, benötigen Sie das entsprechend auf dem Server. Dazu muss der inhalt vom servername.domain.tld.crt und servername.domain.tld.ca-bundle auf dem Server in eine Datei servername.domain.tld.crt kopiert werden – dies mache ich mit dem VI:

vi servername.domain.tld.crt

i drücken, den Inhalt aus servername.domain.tld.crt reinkopieren und in der nächsten Zeile dann den Inhalt aus servername.domain.tld.ca-bundle und das ganze dann mit „ESC“, „:wq“ speichern.

Nun die Rechte anpassen:

chown root:ssl-cert servername.domain.tld.*

Dann noch die Zertifikate in /etc/apache2/sites-available/default-site.conf ändern auf die neuen Dateien:

SSLCertificateFile /etc/ssl/private/servername.domain.tld.crt
SSLCertificateKeyFile /etc/ssl/private/servername.domain.tld.key

Nun die alte Site entladen, die neue laden und danach die Konfiguration neuladen – sollte Apache danach immer noch keine SSL Seite zeigen, noch mal den Dienst neu starten:

a2dissite default-ssl.conf

a2ensite defaultssl.conf

systemctl reload apache2

systemctl restart apache2

Habt ihr nun den Namen des Servers schon im DNS oder mindestens in der Hosts eingerichtet, so könnt ihr schon den Server aufrufen. Vergesst auch bitte nicht in der Firewall den Port forzuwarden (Port 80 und 443).

Möchte man später mehrere virtuelle Webserver auf dem Server installieren empfiehlt es sich schon jetzt die Verzeichnisse entsprechend anzupassen:

cd /var/www

mkdir ordnername

chown -R www-data:www-data ordnername

chmod -R 755 ordnername

Dann noch die Ordnerpfade und eigene Adminemailadresse anpassen in der /etc/apache2/sites-available/000-default-site.conf und default-ssl.conf und wieder die Sites neulade sowie den Apache:

a2dissite 000-default.conf

a2dissite default-ssl.conf

a2ensite 000-default.conf

a2ensite default-ssl.conf

systemctl reload apache2

Nun kommt die PHP Installation:

apt install php7.0 libapache2-mod-php7.0 php7.0-mysql php-common php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline

a2enmod php7.0

a2enmod rewrite

systemctl restart apache2

Kontrolliert nun ob PHP funktioniert – erstellt z.B. in dem Ordner oben eine Datei index.php mit dem folgenden Inhalt:

<?php
phpinfo();
?>

Sollten Sie nun auch ihre Seite nur noch über HTTPS aufrufen wollen, dann können sie in dem Verzeichnis eine Datei .htaccess erstellen mit folgenden Inhalt:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>

Anschließend noch mal die Rechte anpassen:

chown -R www-data:www-data ordnername

chmod -R 755 ordnername

Weiterhin muss noch /etc/apache2/sites-available/000-default.conf erweitert werden (unterhalb von Documentroot) mit dem folgendem Eintrag:

<Directory /var/www/servicecenter>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
</Directory>

Weiterhin muss noch /etc/apache2/sites-available/000-default.conf erweitert werden (unterhalb von Documentroot) mit dem folgendem Eintrag:

<Directory /var/www/servicecenter>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
</Directory>
<FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
</FilesMatch>

Anschließend müssen natürlich wieder die Konfigurationen neu geladen werden:

a2dissite 000-default.conf

a2dissite default-ssl.conf

a2ensite 000-default.conf

a2ensite default-ssl.conf

systemctl reload apache2

Rufen Sie die Seite auf und kontrollieren Sie bitte ob die Seite erreichbar ist und auch PHP funktioniert. Löschen Sie bitte jedoch nach der erfolgreichen Installation wieder die Datei index.php oder ändern sie den Inhalt , da sie viele Informationen über ihr System preisgibt.

Nun installieren wir den SQL Server, statt MySQL wird jedoch mittlerweile MariaDB verwendet, welches kompatibel ist jedoch Open Source und somit frei zur Nutzung. Mit dem weiteren Befehl machen wir MariDB zum Standard und anschließend kontrollieren wir ob der Server gestartet ist. Starten Sie dazu wieder im Terminal wie folgt:

apt install mariadb-server mariadb-client

apt install mysql-server mysql-client

systemctl status mariadb

Nachdem der Server läuft, kommen die Nacharbeiten (Autostart einrichten und Security härten):

systemctl enable mariadb

mysql_secure_installation

Wollte ihr mehrere Seiten auf dem Server hosten, erstellt bitte pro Seite einen Ordner:

cd /var/www
mkdir ordnername
chown -R www-data:www-data ordnername
chmod -R 755 ordnername

Passt wieder in /etc/apache2/sites-available die Dateien wie folgt an:

Default-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
 SSLEngine on
 SSLCertificateFile /etc/ssl/private/seite1.crt
 SSLCertificateKeyFile /etc/ssl/private/seite1.key

 Servername "www.seite1.de"
 ServerAlias "seite1.de"
 DocumentRoot "/var/www/seite1"
 ServerAdmin admin@seite1.de
 ErrorLog ${APACHE_LOG_DIR}/ssl-error.log
 CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined
 <Directory /var/www/seite1>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>
 <FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory /usr/lib/cgi-bin>
 SSLOptions +StdEnvVars
 </Directory>
 BrowserMatch "MSIE [2-6]" \
 nokeepalive ssl-unclean-shutdown \
 downgrade-1.0 force-response-1.0
 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
 </VirtualHost>

 <VirtualHost *:443>
 SSLEngine on
 SSLCertificateFile /etc/ssl/private/seite2.crt
 SSLCertificateKeyFile /etc/ssl/private/seite2.key

 Servername "www.seite2.de"
 ServerAlias "seite2.de"
 DocumentRoot "/var/www/seite2"
 ServerAdmin admin@seite2.de
 ErrorLog ${APACHE_LOG_DIR}/seite2-ssl-error.log
 CustomLog ${APACHE_LOG_DIR}/seite2-ssl-access.log combined
 <Directory /var/www/seite2>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>
 <FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory /usr/lib/cgi-bin>
 SSLOptions +StdEnvVars
 </Directory>
 BrowserMatch "MSIE [2-6]" \
 nokeepalive ssl-unclean-shutdown \
 downgrade-1.0 force-response-1.0
 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
 </VirtualHost>
</IfModule>

000-default.conf

<VirtualHost *:80>
 ServerName www.seite1.de
 ServerAlias seite1.de
 ServerAdmin admin@seite1.de
 DocumentRoot /var/www/seite1/
 <Directory />
 Options FollowSymLinks
 AllowOverride None
 </Directory>
 <Directory /var/www/seite1>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory> ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/access.log combined
</VirtualHost>
<VirtualHost *:80>
 ServerName www.seite2.de
 ServerAlias seite2.de
 ServerAdmin admin@seite2.de
 DocumentRoot /var/www/seite2/
 <Directory /var/www/seite2>
 Options Indexes FollowSymLinks MultiViews
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>
 ErrorLog /var/log/apache2/seite2-error.log
 LogLevel warn
 CustomLog /var/log/apache2/seite2-access.log combined
 ServerSignature On
</VirtualHost>

Danach natürlich wie immer alles entladen und neuladen:

a2dissite 000-default.conf

a2dissite default-ssl.conf

a2ensite 000-default.conf

a2ensite default-ssl.conf

systemctl reload apache2

Widmen wir uns nun dem Teil der Datenübertragung – dies realisieren wir mit ProFTP. Da der Server in der DMZ steht und nur meine eigenen Seiten gehostet werden sowie nur über VPN Zugegriffen wird werde ich das Documentroot auf /var/www/ stellen, da ich dort alle Seiten anlege und kein TLS verwenden. Der Server übers Internet nur über HTTP und HTTPS veröffentlicht. SSH, FTP und SQL wird nur über verschlüsseltes VPN genutzt.

apt-get install proftp

Datei /etc/proftpd/conf.d/custom.conf erstellen (bei benutzername bitte den Namen des Zugriffkontos eintragen, nicht root):

<Global>
 RequireValidShell off
</Global>
# If desired turn off IPv6
UseIPv6 off
# Default directory is ftpusers home
DefaultRoot /var/www benutzername
# Limit login to the ftpuser group
<Limit LOGIN>
 DenyGroup !ftpuser
</Limit>

Gruppe ftpuser und www-data hinzufügen, Benutzer hinzufügen und Dienst neustarten:

addgroup ftpuser

usermod -a -G ftpuser benutzername

usermod -a -G www-data benutzername

systemctl restart proftpd

Solltet ihr Dateien nicht löschen oder ändern können, so kontrolliert bitte die Rechte und passt diese gegebenenfalls an mit:

chown -R benutzername /var/www/ordnername

chmod -R 755 /etc/www/ordnername

Somit ist der Server bereitgestellt und einsatzbereit.

Erweiterung: Python installation

Kontrollieren Sie ob Python installiert ist und in welcher Version:

python3 --version

Installieren Sie noch PIP und binden Sie Python in Apache ein:

apt-get install python3-pip

pip3 install mod_wsgi

apt-get install libapache2-mod-python

Nun muss noch der Publisher Handler eingerichtet werden – diese werden wieder in den Sitekonfigurationen erstellt – erweitert dazu die 000-default.conf und default-ssl.conf unterhalb des bestehenden der:

<Directory /var/www/seite1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>

Anschließend wieder die Sites und Apache neu laden:

a2dissite 000-default.conf

a2dissite default-ssl.conf

a2ensite 000-default.conf

a2ensite default-ssl.conf

systemctl reload apache2

Weitere Schritte folgen noch …