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
tipps_und_tricks [2011/02/26 11:47]
flacco
tipps_und_tricks [2018/12/15 14:05] (aktuell)
flacco [Nein Danke Zensursula]
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.
  
-===== Windows 7 =====+Schritt 1 ist statt des Rettungssystems ein openSUSE-Live-System zu starten.
  
-Windows 7 stellt an invis Administratoren neue Aufgaben. Eine davon ist ein sauberer Domänenbeitritt.+Danach können Schritt für Schritt alle Teilverzeichnissysteme zu einer vollständigen Umgebungzusammen gesetzt werdenIm Folgenden wird dies basierend auf unserer Partitionierungsempfehlung mit Software-RAID und LVM vorgenommen:​
  
-[[:tipps_und_tricks:win7dom|Domänenbeitritt mit Windows 7]]+<​code>​ 
 +linux:~ # mount /​dev/​system/​root /mnt 
 +linux:~ # mount /​dev/​system/​var /mnt/var 
 +linux:~ # mount /dev/mdXXX /mnt/boot 
 +</​code>​
  
-===== Linux-Clients und NFS-Fileserver ===== +**mdXXX** steht für das Software-RAID Device ​auf dem das /boot-Verzeichnis liegtLeider nummeriert die Live-Umgebung SW-RAID Devices anders durchals das installierte SystemKann also sein, das aus /dev/md0 im realen System /dev/md127 in der Live-Umgebung wird. Einfach ausprobieren.
-Die Gruppen-basierte Zusammenarbeit ​auf einem Linux-Fileserver gestaltet sich schwierig, wenn diese per NFS auf den Fileserver zugreifenZwar lassen sich mit gesetztem SGID-Bit auf den Freigabe-Verzeichnissen Gruppen-Besitzrechte auf alle Objekte im Ordner vererbennicht aber die ZugriffsrechteLetztere sind von der "​umask"​ abhängig.+
  
-Auf openSUSE-Systemen ist die vorgegebene umask "​022",​ was bedeutet, das neu angelegte Dateien und Verzeichnisse ​für die besitzende Gruppe kein Schreibrecht gewähren:+Dann müssen noch die speziellen ​Verzeichnisse ​hinzugefügt werden:
  
 <​code>​ <​code>​
-Verzeichnis +linux:~ # mount -t proc none /mnt/proc 
-         | u | g | o | +linux:~ # mount -t sysfs non /mnt/sys 
----------------------+linux:~ # mount -o bind /dev /mnt/dev
-Default ​ | 7 | 7 | 7 | +
-umask    | 0 | 2 | 2 | +
----------------------+
-Ergebnis | 7 | 5 | 5 | = rwx,​r-x,​r-x +
- +
-Datei +
-Default ​ | 6 | 6 | 6 | +
-umask    | 0 | 2 | 2 | +
----------------------- +
-Ergebnis | 6 | 4 | 4 | = rw-,r--,r--+
 </​code>​ </​code>​
  
-Um pauschal auch für die besitzende Gruppe Schreibrecht zu gewähren muss die umask auf den Wert "​002"​ geändert ​werden:+(Genau der Teil funktioniert mit dem einfachen Rettungssystem nicht!) 
 + 
 +Damit ist die Chroot-Umgebung fertig und kann betreten ​werden:
  
 <​code>​ <​code>​
-Verzeichnis +linux:~ # chroot /mnt
-         | u | g | o | +
----------------------- +
-Default ​ | 7 | 7 | 7 | +
-umask    | 0 | 0 | 2 | +
----------------------- +
-Ergebnis | 7 | 7 | 5 | = rwx,​rwx,​r-x +
- +
-Datei +
-Default ​ | 6 | 6 | 6 | +
-umask    | 0 | 0 | 2 | +
----------------------- +
-Ergebnis | 6 | 6 | 4 | = rw-,rw-,r--+
 </​code>​ </​code>​
  
-Die umask ist prinzipiell Benutzer-bezogen. Sie kann an mehreren Stellen ​im System ​geändert ​werden. ​Wichtig dabei ist, dass die Änderung auf dem Fileserver-Client wirksam ist. Eine Änderung auf dem Server selbst, etwa in /​etc/​profile o.ä. bleibt wirkungslos.+Jetzt kann im installierten ​System ​gearbeitet ​werden. ​Sie können hier beispielsweise Grub reparieren oder eine neue inird erzeugen.
  
-Da openSUSE ​mit dem "​pam_umask"​ Modul arbeitet, kann die umask auch in den Einstellungen der einzelnen Benutzerkonten vorgenommen werdenEingetragen wird eine persönliche umask in das "Gecos-Feld". Hier ein Auszug aus einer entsprechend angepassten passwd-Datei:+Verlassen wird es einfach ​mit //​**exit**//​ 
 + 
 +===== Nein Danke Zensursula ===== 
 +//​**Hinweis:​** Der folgende Text ist nicht ganz neutral geschrieben. Er enthält persönliche Meinungsäußerungen. Ich bitte dies zu entschuldigen.//​ 
 + 
 +2010 trat das Web-Sperren-Gesetz gegen die Verbreitung von Kinderpornographie ​in KraftDieses Gesetz ging, trotz des sicherlich aufrichtigen Ansatzes, am Thema vorbei und ermöglichte es allenfalls ​eine Zensurinfrastruktur nebst dazu passenden Überwachungsmöglichkeiten im Internet zu etablieren. Auch wenn das Gesetzt bereits ein Jahr später wieder aufgehoben wurde, zeigen wir hier eine Möglichkeit auf, es zu umgehen. Dass solch simple Wege die Umgehung DNS-basierter Web-Sperren ermöglichen,​ zeigt eigentlich auch die Sinnlosigkeit solcher Techniken. 
 + 
 +Auch wenn es nicht um die Umgehung von Websperren geht, ist es eine kluge Entscheidung vertrauenswürdige DNS-Server zu nützen. Ein frei zugänglicher DNS-Server wie etwa der von Google angebotene ​"8.8.8.8"​ ist sicherlich auch nicht der Weisheit letzter Schluss. Hier bietet ​ein Mega-Konzern, dessen Kerngeschäft die gewinnbringende Nutzung von Informationen ist, einen kostenfreien Dienst an. Dass dies nicht einfach dem Wohle der Menschheit dient liegt nahe. Schließlich lassen sich mit der Auswertung von DNS-Daten Unmengen spannende Daten der Nutzer gewinnen.  
 + 
 +Wer einen invis-Server im eigenen Netz betreibt und sich (zumindest vorerst) sicher sein möchte, dass seine Nameserver-Abfragen nicht von "​manipulierten"​ oder "​schnüffelnden"​ Nameservern beantwortet werden, kann dies (wenn nicht bereits im Verlauf der Server-Installation geschehen) durch Ändern der "​forwarders"​ in der Konfiguration des lokalen Nameservers "​bind"​ umgehen. 
 + 
 +Ändern Sie einfach in der Datei "/​etc/​named.conf"​ die Einträge hinter "​forwarders"​:
  
 <​code>​ <​code>​
-... +        # The forwarders record contains a list of servers to which queries 
-stefan:​x:​10000:​100:​Stefan Schäfer,​umask=002:/​local/​home/​stefan:/​bin/​bash +        # should be forwarded ​Enable this line and modify the IP address to 
-... +        # your provider'​s name server Up to three servers may be listed
-</​code>​+        # Die folgende Zeile ist um die IP-Adresse des fuer Sie zustaendigen DNS 
 +        # zu erweitern.
  
-Da invis Server eine LDAP-basierte zentrale Benutzerverwaltung anbieten, **muss** die gezeigte Anpassung selbstverständlich im LDAP-Verzeichniseintrag der einzelnen Benutzer vorgenommen werden.+        forwarders { 194.25.2.129; 192.168.178.1;​ };
  
-Melden Sie sich dazu über den Link "​Verzeichnisdienst"​ auf der Administrationsseite des Portals am LDAP-Verzeichnis an und ändern Sie das Feld "​gecos"​ betroffenen Benutzereinträge wie folgt ab:+        # Enable the next entry to prefer usage of the name server declared in 
 +        # the forwarders section.
  
-DN: uid=**username**,​ou=Users,​ou=Benutzerverwaltung,​dc=**invis-net**,​dc=loc+        forward first; 
 +</​code>​
  
-Von"​System User" ​zu "​System User,​umask=002"​+Tragen Sie statt des T-Online Nameservers und etwa dem einer Fritzbox (wie hier gezeigt) frei nutzbare **vertrauenswürdige** DNS-Server als Forwarder ein. Zu empfehlen sind hier die DNS-Server von Cloudflare (1.1.1.1) und Quad9 (9.9.9.9). Alternativ können Sie auch Nameserver aus der unter [[http://​www.ungefiltert-surfen.de]] ​zu findenden Liste verwenden. Starten Sie anschließend **//​bind//​** mit:
  
-Ab invis Version 6.7-R3 entspricht dies der Vorgabe, wenn Benutzer über das invis-Portal angelegt werden. Die Vorgabe kann in der Datei "/srv/​www/​htdocs/​portal/​config.php"​ an die eigenen Wünsche angepasst werden.+<​code>​ 
 +invis:~ # systemctl restart named.service 
 +</code> 
 + 
 +neu
  
 ===== Speicherüberlauf Cyrus Index-DB ===== ===== Speicherüberlauf Cyrus Index-DB =====
Zeile 109: Zeile 109:
 </​code>​ </​code>​
  
-===== Group-e ​Samba Dateimanager auch unter openSUSE ​===== +===== Group-e ​-- Passwwort des Benutzers "​config"​ zurück setzen ​=====
-Out of the Box lässt sich der Samba Dateimanager von Group-e unter openSUSE nicht nutzen.+
  
-Das hat zwei Gründe: +Das Passwort des Benutzers ​"config" wird unabhängig von der generellen Benutzerverwaltung ​in Group-e immer in der MySQL-Datenbank verwaltetUm es zurückzusetzen muss eine SQL-Anweisung über das MySQL-Komandozeilen Frontend abgesetzt ​werden:
- +
-  - Die smbclient-Methode funktioniert nicht, weil der PTY-Support in PHP seit einiger Zeit nicht mehr aktiviert ist. Dies zu lösen würde bedeuten PHP selbst neu zu übersetzen. Das wurde im Group-e Forum schon mehrfach diskutiert und stellt definitiv keine Lösung dar!!!! +
-  - Die smbmount-Methode funktioniert nicht, da //​**smbmount**//​ schlicht in openSUSE nicht mehr enthalten ist. (Dürfte bei anderen Distris möglicherweise auch schon so sein) //​**smbmount**//​ bzw. smbfs wird nicht mehr wirklich gepflegt. Als Ersatz ist das Paket cifs-mount mit den Kommandos //​**mount.cifs**//​ und //​**umount.cifs**//​ enthalten. +
- +
-Im Gegensatz zu den alten Kommandos //​**smbmount**//​ und //​**smbumount**//​ ist bei den neuen aus Sicherheitsgründen das SUID-Bit nicht gesetzt. +
- +
-**Achtung, die folgende Anleitung funktioniert bei neueren Installationen nicht mehr, da //​**mount.cifs**//​ das SUID-Bit inzwischen ignoriert. Hier hilft nur noch eine gepatchte PHP-Version,​ wie sie für invis-Server im openSUSE Buildservice bereit steht und bei Neuinstallationen automatisch installiert wird.** +
- +
-Um diese Kommandos für group-e nutzbar zu machen muss zunächst allen Sicherheitsbedenken zum Trotz das SUID-Bit für beide Kommandos gesetzt werden: +
- +
-<​code>​chmod u+s /​sbin/​mount.cifs +
-chmod u+s /​sbin/​umount.cifs</​code>​ +
- +
-Da Group-e leider immer noch die alten Kommandos voraussetzt und vermutlich niemand bei jeder neuen Version den Quellcode anfassen möchte, müssen noch zwei symbolische Links angelegt werden: +
- +
-<​code>​ln -s /​sbin/​mount.cifs /​usr/​bin/​smbmount +
-ln -s /​sbin/​umount.cifs /​usr/​bin/​smbumount</​code>​ +
- +
-Das wars, danach funktioniert der Samba-Dateimanager auch unter openSUSE, wenn auch mit ein paar Abstrichen in Sachen Sicherheit.  +
- +
-**Ergänzung:​** +
- +
-Wenn es nicht funktioniert bitte die /etc/hosts kontrollieren. Wenn dort eine wie im folgenden Beispiel gezeigte Zeile zu finden ist, ist diese entweder zu löschen oder die 127.0.0.2 gegen die tatsächliche IP-Adresse zu tauschen. +
- +
-<​code>​127.0.0.2 ​     invis65.invis-net.loc ​    ​invis65</​code>​ +
- +
-(Bitte nicht mit der 127.0.0.1 verwechseln.). +
- +
-Es sollte ein korrekter Eintrag direkt unter "127.0.0.1 localhost" ​stehen: +
- +
-<​code>​127.0.0.1 ​           localhost +
-192.168.200.10 ​      ​invis65.invis-net.loc ​    ​invis65</​code>​ +
- +
-**Erläuterung:​** +
- +
-**//​smbmount//​** fragt die /etc/hosts nach der IP des Servers ab und gibt sich mit der ersten zutreffenden Antwort zufrieden. Wenn dies mit 127.0.0.2 beantwortet ​wird und Samba mit der Option "bind interfaces only" an bestimmte IPs gebunden ist, verweigert es einfach den Mount-Versuch. +
- +
-Gibt man in der Freigaben-Konfiguration von Group-e ​statt des Hostnamens die IP-des Samba-Servers ein, funktioniert es immer.  +
- +
-===== Nein Danke Zensursula ===== +
-**Achtung, ​der folgende Text ist nicht ganz neutral. Er enthält persönliche Meinugsäußerungen. Ich bitte dies zu entschuldigen.** +
- +
-Ab Oktober 2009 soll das Web-Sperren-Gesetz gegen die Verbreitung von Kinderpornographie in Kraft tretenDa dieses Gesetzt, trotz des sicherlich aufrichtigen Ansatzes, am Thema vorbei geht und allenfalls ​eine Zensurinfrastruktur im Internet etabliert, zeigen wir hier eine Möglichkeit auf, es zu umgehen. Möglicherweise hilft das ja dabei die Wirkungslosigkeit dieses Gesetzes zu verdeutlichen. +
- +
-Wer einen invis-Server im eigenen Netz betreibt und sich (zumindest vorerst) sicher sein möchte, dass seine Nameserverabfragen nicht von "​manipulierten"​ Nameservern beantwortet ​werden, kann dies durch Ändern der "​forwarders"​ in der bind-Konfiguration umgehen. +
- +
-Ändern Sie einfach in der Datei "/​etc/​named.conf"​ die Einträge hinter "​forwarders":​ +
- +
-<​code> ​       # The forwarders record contains a list of servers to which queries +
-        # should be forwarded. ​ Enable this line and modify the IP address to +
-        # your provider'​s name server. ​ Up to three servers may be listed. +
-        # Die folgende Zeile ist um die IP-Adresse des fuer Sie zustaendigen DNS +
-        # zu erweitern. +
- +
-        forwarders { 194.25.2.129;​ 192.168.178.1;​ }; +
- +
-        # Enable the next entry to prefer usage of the name server declared in +
-        # the forwarders section. +
- +
-        forward first; +
-</​code>​ +
- +
-Tragen Sie statt des T-Online Nameservers und etwa dem einer Fritzbox (wie hier gezeigt) bis zu drei Nameserver aus der unter [[http://​www.ungefiltert-surfen.de]] zu findenden Liste ein und starten Sie **//​bind//​** mit:+
  
 <​code>​ <​code>​
-Kommandozeile/​etc/​init.d/​named restart +linux:~ # mysql -u root -p
-</​code>​+
  
-neu+...
  
-===== Deeplinks verhindern ===== +mysql> use groupe; 
-Wenn der Webserver eines invis Servers auch via HTTPs aus dem Internet erreichbar istkönnen die einzelnen Applikationen derzeit noch durch direkte Eingabe der Zieladresse im Browser ohne Umweg über das invis Portal erreicht werden.+Database changed 
 +mysql> UPDATE `ModulCfg` SET `CfgVal`=MD5( '​config'​ ) WHERE `ModulCfg`.`FKModul`='​global'​ AND `ModulCfg`.`FKCfgKey`='​cfg/​pwd'​ AND `ModulCfg`.`FKObjID`=0; 
 +Query OK1 row affected (0.01 sec) 
 +Rows matched: 1  Changed: 1  Warnings: 0
  
-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. +mysql> quit 
- +Bye 
-Tragen Sie dort für jede Applikation die nicht direkt angesprochen werden soll folgenden Eintrag ein: +linux:
- +
-<​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>​ </​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. +Danach ​kann man sich wieder als Benutzer "​config"​ mit dem Passwort "​config"​ anmelden.
- +
- +
-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.1298720831.txt.gz
  • Zuletzt geändert: 2011/02/26 11:47
  • von flacco