tipps_und_tricks

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
tipps_und_tricks [2014/05/10 09:41]
flacco [Windows 7]
tipps_und_tricks [2018/12/15 13:18]
flacco [Deeplinks verhindern]
Zeile 2: Zeile 2:
 In diesem Bereich des Wikis werden sporadisch Kurzanleitungen,​ Workarounds usw. zu verschiedenen Themenbereichen auftauchen. ​ In diesem Bereich des Wikis werden sporadisch Kurzanleitungen,​ Workarounds usw. zu verschiedenen Themenbereichen auftauchen. ​
  
-===== VirtualBox ​===== +===== Rettungsumgebung (Chroot) ​=====
-Da der invis Server auch in Form virtueller Maschinen nutzbar ist und wir auf Messen gelegentlich entsprechende Images verteilen, beginnt die Tipps und Tricks Ecke mit einem Verweis auf VirtualBox - unserem favorisierten Virtualisierungssystem. Da mit einigen Einträgen zum Thema VirtualBox zu rechnen sein wird, widme ich diesem Thema eine eigene Wiki-Seite.+
  
-[[:​tipps_und_tricks:​virtualbox| Tipps und Tricks ​zu VirtualBox]]+Wie ich selbst leidvoll erkennen musste, taugt die openSUSE Rettungsumgebung nicht dazu eine vollständige "​Chroot"​ Umgebung aufzubauen um an einem nicht mehr startenden System ​zu arbeiten. Daher hier eine kurze Anleitung zur Realisation einer Chroot-Umgebung für openSUSE.
  
 +Schritt 1 ist statt des Rettungssystems ein openSUSE-Live-System zu starten.
  
- +Danach können Schritt für Schritt alle Teilverzeichnissysteme zu einer vollständigen Umgebungzusammen gesetzt werden. Im Folgenden wird dies basierend auf unserer Partitionierungsempfehlung ​mit Software-RAID und LVM vorgenommen:
- +
- +
-===== Ubuntu Client ​mit sssd integrieren ===== +
- +
-Anbindung von Linux-Clients an einen invis-Server +
- +
-==== 1. Freigaben einbinden ==== +
-Zur Anbindung eines Linux-Clients an den Server müssen zunächst die Server-Freigaben **home** ​und **shares** per NFSv4 ins lokale Verzeichnissystem eingehängt werden. Dazu sind in der Datei <​file>/​etc/​fstab</​file>​ folgende Einträge vorzunehmen:+
  
 <​code>​ <​code>​
-invis.invis-net.loc/home /home nfs4 defaults 0 0 +linux:~ # mount /dev/system/root /mnt 
-invis.invis-net.loc/shares ​/mnt/invis/shares nfs4 defaults 0 0+linux:~ # mount /dev/​system/​var ​/mnt/var 
 +linux:~ # mount /dev/mdXXX /mnt/boot
 </​code>​ </​code>​
  
-Dabei ist zu beachten, dass die Home-Verzeichnisse ggfvorhandener Benutzer ​durch das Einhängen der Home-Freigabe des Server überdeckt werdenWerden weiterhin lokale Benutzer benötigtso sollten deren Home-Verzeichnisse vorher nach <​file>​/local/home</file> verschoben werden.+**mdXXX** steht für das Software-RAID Device auf dem das /boot-Verzeichnis liegtLeider nummeriert die Live-Umgebung SW-RAID Devices anders ​durch, als das installierte SystemKann also seindas aus /dev/md0 im realen System ​/dev/md127 in der Live-Umgebung wird. Einfach ausprobieren.
  
-Weiterhin muss das Zielverzeichnis zum Einhängen der Server-Freigabe "​Shares"​ zunächst manuell angelegt ​werden+Dann müssen noch die speziellen Verzeichnisse hinzugefügt ​werden:
- +
-==== 2. Benutzerverwaltung ==== +
- +
-Für die Anbindung eines Linux-Clients an einen invis-Server empfiehlt sich aktuell die Verwendung des SSS-Daemons. Dieser ist ggf. manuell nachzuinstallieren:+
  
 <​code>​ <​code>​
-linux:~ # sudo apt-get install ​-y sssd+linux:~ # mount -t proc none /mnt/proc 
 +linux:~ # mount -t sysfs non /mnt/sys 
 +linux:~ # mount -o bind /dev /mnt/dev
 </​code>​ </​code>​
  
-Danach ist unter dem Namen <​file>/​etc/​sssd/​sssd.conf</​file>​ eine Konfigurationsdatei für den Daemon anzulegen:+(Genau der Teil funktioniert mit dem einfachen Rettungssystem nicht!)
  
-<​code>​ +Damit ist die Chroot-Umgebung fertig und kann betreten ​werden:
-[sssd] +
-config_file_version = 2 +
-services = nss,pam +
-domains = default +
- +
-[nss] +
-filter_groups = root +
-filter_user = root +
- +
-[pam] +
- +
-[domain/​default] +
-ldap_uri = ldap://​invis.invis-net.loc +
-ldap_search_base = dc=invis-net,​dc=loc +
-ldap_schema = rfc2307 +
-id_provider = ldap +
-ldap_user_uuid = entryuuid +
-ldap_group_uuid = entryuuid +
-ldap_id_use_start_tls = true +
-enumerate = true +
-cache_credentials = true +
-ldap_tls_cacertdir = /​etc/​ssl/​certs +
-ldap_tls_cacert = /​etc/​ssl/​certs/​cacert.pem +
-chpass_provider = ldap +
-auth_provider = ldap +
-ldap_user_fullname = displayName +
-#​cache_entry_timeout = 1 +
-#​refresh_expired_interval = 1 +
-</​code>​ +
- +
-Damit **sssd** starten ​kann müssen die Zugriffsrechte angepasst ​werden:+
  
 <​code>​ <​code>​
-linux:~ # sudo chmod 0600 /etc/​sssd/​sssd.conf+linux:~ # chroot ​/mnt
 </​code>​ </​code>​
  
-Danach wird das Stammzertifikat der Server-Zertifizierungsstelle benötigt. Die Datei liegt ebenfalls ​im oben genannten Verzeichnis bereit. Sie muss lokal nach <​file>/​etc/​ssl/​certs</​file>​ kopiert werden:+Jetzt kann im installierten System gearbeitet werden. Sie können hier beispielsweise Grub reparieren oder eine neue inird erzeugen.
  
-<​code>​ +Verlassen wird es einfach mit //**exit**//
-linux:~ # sudo cp /mnt/invis/shares/service/​VPN-Clients/​cacert.pem /​etc/​ssl/​certs/​ +
-</​code>​+
  
-Jetzt kann **sssd** gestartet werden: 
  
-<​code>​ 
-linux:~ # sudo service sssd start 
-</​code>​ 
  
-Mit  
  
-<​code>​ 
-linux:~ # getent passwd 
-</​code>​ 
  
-kann überprüft werden, ob die Benutzerkonten aus dem LDAP-Verzeichnis des Servers zur Verfügung stehen. 
  
-Hat alles funktioniert,​ muss dafür gesorgt werden, dass **sssd** automatisch beim Systemstart startet: 
- 
-<​code>​ 
-linux:~ # sudo update-rc.d sssd defaults 
-</​code>​ 
 ===== Zarafa License-Daemon im Eigenbau ===== ===== Zarafa License-Daemon im Eigenbau =====
  
Zeile 112: Zeile 56:
 Zunächst muss dafür ein Ubuntu-LTS System installiert werden, hier empfiehlt sich die Arbeit mit Virtualbox. Entgegen der Angaben im Zarafa-Wiki spielt die Architektur der Sandbox sehr wohl eine Rolle. Da wir unsere invis-Server immer als 64Bit Systeme installieren,​ nutzen wir entsprechend auch ein 64Bit Ubuntu als Basis. Zunächst muss dafür ein Ubuntu-LTS System installiert werden, hier empfiehlt sich die Arbeit mit Virtualbox. Entgegen der Angaben im Zarafa-Wiki spielt die Architektur der Sandbox sehr wohl eine Rolle. Da wir unsere invis-Server immer als 64Bit Systeme installieren,​ nutzen wir entsprechend auch ein 64Bit Ubuntu als Basis.
  
-Zusätzlich zur einfachen Standard-Installation wird das Software-Paket ​"mklibs" ​benötigt:+Zusätzlich zur einfachen Standard-Installation wird das Software-Paket ​**mklibs** benötigt:
  
 <​code>​ <​code>​
Zeile 118: Zeile 62:
 </​code>​ </​code>​
  
 +Wenn Sie Ihre Sandbox unter SLES bauen möchten, werden Sie feststellen,​ dass es für SUSE-Linuxe das Paket **mklibs** nicht gibt. Abhilfe schaft ein gleichnamiges Shellscript:​ [[https://​github.com/​blunderer/​mklibs]]
 ==== Zarafa-Pakete herunterladen und entpacken ==== ==== Zarafa-Pakete herunterladen und entpacken ====
  
Zeile 172: Zeile 117:
  
 <​code>​ <​code>​
-sudo mklibs-copy -d /​opt/​zarafa-licensed-7.0.8/​lib/​ /​opt/​zarafa-licensed-7.0.8/​bin/​*+heinz@ubuntu:​~$ ​sudo mklibs-copy -d /​opt/​zarafa-licensed-7.0.8/​lib/​ /​opt/​zarafa-licensed-7.0.8/bin/* 
 +</​code>​ 
 +...oder unter SLES mit oben genanntem Script: 
 + 
 +<​code>​ 
 +sles:~ # mklibs -L/​usr/​lib64 -L/lib64 -o/​opt/​zarafa-licensed/​lib /​opt/​zarafa-licensed/bin/*
 </​code>​ </​code>​
  
Zeile 298: Zeile 248:
 Danach kann man sich wieder als Benutzer "​config"​ mit dem Passwort "​config"​ anmelden. Danach kann man sich wieder als Benutzer "​config"​ mit dem Passwort "​config"​ anmelden.
  
-===== OpenVPN ===== 
  
-Damit openVPN genutzt werden kann, wird eine CRL (Certificate Revocation List) benötigt. Auf älteren Installationen wird diese Datei nicht automatisch angelegt (Seit invis Version 9.2) ist dies der Fall), auch findet sich in den easy-RSA Tools kein Script um eine solche CRL zu erzeugen. Sie muss also manuell mittels //​**openssl**//​ erzeugt werden. 
- 
-Zunächst muss die auf dem System vorhandene OpenSSL-Version ermittelt werden. Für diesen Zweck gibt es ein vorgefertigtes Script: 
- 
-<​code>​ 
-invis:/​etc/​openvpn/​invis-server.loc # ./​whichopensslcnf ​ 
-/​openssl-1.0.0.cnf 
-************************************************************** 
-  No /​openssl-1.0.0.cnf file could be found 
-  Further invocations will fail 
-************************************************************** 
-</​code>​ 
- 
-Auch wenn die ausgegebene Meldung auf einen Fehler hindeutet, so liegt nahe, dass hier openSSL in Version 1.0.0 installiert ist und auf die in der Ausgabe genannte Konfigurationsdatei zurückgegriffen werden muss. Das Erstellen der CRL sieht dann wie folgt aus: 
- 
-<​code>​ 
-invis:/​etc/​openvpn/​invis-server.loc # openssl ca -config ./​openssl-1.0.0.cnf -gencrl -keyfile ./​keys/​ca.key -cert ./​keys/​ca.crt -out ./​keys/​crl.pem 
-</​code>​ 
- 
-Danach ist im Unterverzeichnis "​keys"​ die Datei "​crl.pem"​ zu finden, auf die in der OpenVPN Konfiguration bezug genommen wird. 
 ===== Nein Danke Zensursula ===== ===== Nein Danke Zensursula =====
 **Achtung, der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.** **Achtung, der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.**
Zeile 351: Zeile 280:
 neu.  neu. 
  
-===== Deeplinks verhindern ===== 
-Wenn der Webserver eines invis Servers auch via HTTPs aus dem Internet erreichbar ist, können die einzelnen Applikationen derzeit noch durch direkte Eingabe der Zieladresse im Browser ohne Umweg über das invis Portal erreicht werden. 
- 
-Dieses Verhalten ist aus Sicherheitsgründen eher bedenklich und in der Regel nicht erwünscht. Um dies zu verhindern muss die Apache-Konfigurationsdatei /​etc/​apache2/​vhosts.d/​i7ssl.conf erweitert werden. 
- 
-Tragen Sie dort für jede Applikation die nicht direkt angesprochen werden soll folgenden Eintrag ein: 
- 
-<​code>​ 
-    # Deeplinks verhindern 
-    <​Directory /​srv/​www/​htdocs/​phpMyAdmin>​ 
-        SetEnvIfNoCase Referer "​^http://​invis.invis-net.loc"​ dontblock 
-        SetEnvIfNoCase Referer "​^https://​your.dyndns-domain.net"​ dontblock 
-        Order Deny,Allow 
-        Deny from all 
-        Allow from env=dontblock 
-    </​Directory>​ 
-</​code>​ 
- 
-Das Beispiel zeigt den Deeplink-Schutz für das Verzeichnis von phpMyAdmin. Sie müssen lediglich die Domain-Namen an Ihre Gegebenheiten anpassen und den Apache neustarten. Danach sind die geschützten Applikationen nur noch über das invis-Portal erreichbar. 
- 
- 
-Die gezeigten Einträge sind ab invis Release 6.6-R4 generell für alle Applikationen Standard. 
  
 ===== Faxgate-Client unter Linux nutzen ===== ===== Faxgate-Client unter Linux nutzen =====
  • tipps_und_tricks.txt
  • Zuletzt geändert: 2018/12/15 14:05
  • von flacco