Linux
« Vorherige Beiträge Nächste Beiträge »Linux: root Passwort vergessen (Administrator Passwort)
Dienstag, 23.11.2010Wenn Sie Ihr root Passwort für Ihr Linux System (in diesem Beispiel für “Debian”) vergessen haben, können Sie trotzdem mithilfe dieses Artikels auf Ihr System zugreifen: Sie setzen sich ein neues Passwort.
Beim Booten des Systems können Sie (kurz) zwischen Optionen auswählen. Starten Sie den Computer im “Single user mode” (ggf. “init=/bin/bash” beim der Zeile “Kernel” anfügen). Dadurch haben Sie nach dem Booten Schreibzugriff auf die Datei “/etc/shadow”.
Geben Sie dann den Befehl “passwd” ein oder bearbeiten Sie die Passwortdatei direkt mit “nano /etc/shadow”. Dabei können Sie für den Benutzer “root” den Passwortcode leeren und beim nächsten Booten sich als Benutzer “root” ohne Passwort anmelden. Dabei sollten Sie dringend darauf achten, dass Ihr Computer während dieses Vorganges vom Netzwerk getrennt ist und Sie nach dem normalen Booten sofort ein neues, sicheres Passwort für den Benutzer “root” vergeben.
Linux: Symbolischen Link erzeugen und löschen (ln)
Donnerstag, 18.11.2010Praxisbeispiel:
Sie möchten einem FTP Benutzer in seinem Verzeichnis auch den Zugriff auf ein weiteres Verzeichnis auf dem Server erlauben – möchten, wollen oder können jedoch die FTP-Server-Konfiguration nicht ändern. Dann können Sie einen “symbolischen Link” (Verweis) im normalen FTP Verzeichnis des Benutzers erstellen:
ln -s /var/backups/ ./backups
Damit stellen Sie dem Benutzer ein neues Unterverzeichnis bereit: “backups”. Dieses zeigt jedoch nur auf das bereits bestehende Verzeichnis “/var/backups” auf Ihrem Server.
Der Benutzer kann nun in seinem FTP Programm in dieses Verzeichnis wechseln und Datein herunter- und ggf. auch hochladen.
Sie löschen diesen Verweis “backup” wieder durch folgenden Befehl:
rm backup
Dabei bleibt das Verzeichnis “/var/backups” weiterhin bestehen – nur der Link im Benutzerverzeichnis wird wieder gelöscht.
UserMin: Warning – The system is configured to not process user-defined mail filters
Dienstag, 05.10.2010Wenn E-Mail Benutzer in dem UserMin-Bereich die folgende Fehlermeldung erhalten, können Sie mithilfe dieses Artikels die Option aktivieren.
Warning – The system is configured to not process user-defined mail filters. Filters defined here will not be used.
Lösung:
- Melden Sie sich in VirtualMin an
- Im unteren Bereich finden Sie den Bereich “Email Messages”
Öffnen Sie diesen Bereich - Klicken Sie auf den Untereintrag “Spam and Virus Scanning”
- Setzen Sie die Option “Allow mailbox users to create mail filters?” auf “Yes”
- Klicken Sie auf “Save”
Im UserMin Bereich können Sie nun die E-Mail-Filter nutzen.
Linux: Backup zwischen Servern mit rsync (via SSH)
Dienstag, 05.10.2010Installieren Sie auch beiden Server (Datenquelle und Ziel) das Programm “rsync”. Auch auf dem Zielcomputer muss diese Software installiert sein, da dieser natürlich das Protokoll verstehen muss:
apt-get install rsync
Vorbereitung des zu sichernden Servers (Datenquelle)
Erzeugen Sie auf der Datenquelle (dem zu sichernden Computer) einen DSA Schlüssel. Führen Sie dafür den folgenden Befehl als Benutzer “root” aus:
ssh-keygen -t dsa
Bestätigen Sie bei den Rückfragen den Dateinamen für den Schlüssel und das Verschlüsselungspasswort jeweils mit Enter.
Anschließend finden Sie auf dem Computer die beiden folgenden Dateien:
- /root/.ssh/id_dsa
Privater DSA Schlüssel. Dieser darf nicht weitergegeben oder veröffentlicht werden - /root/.ssh/id_dsa.pub
Öffentlicher DSA Schlüssel. Dieser wird später auf den Backup-Server kopiert
Vorbereitung des Sicherungsservers (Datenziel)
Erstellen Sie einen neuen Benutzer “remotebackup”
useradd -m remotebackup
… und vergeben Sie ein geheimes Passwort für diesen Benutzer:
passwd remotebackup
Sie dürfen aus Sicherheitsgründen dem Benutzer “remotebackup” keine Root-Rechte geben. Jedoch wird für das Ausführen des rsync Programmes dieses Recht benötigt – u.a. um alle Verzeichnisse lesen zu können. Zum Lösen dieser Situation nutzen wir das Programm “visudo”:
visudo
Fügen Sie die folgende Zeile in der angezeigten Datei hinzu …
remotebackup ALL=(root)NOPASSWD:/usr/bin/rsync
… und beenden Sie die Eingabe durch Drücken der “ESC” Taste. Geben Sie dann “wq” ein und drücken Sie die “Enter” Taste. Die Änderung wird gespeichert.
Im nächsten Schritt erlauben wir dem zu sichernden Server die automatisch Anmeldung am Zielserver. Dafür nutzen wir die automatische, schlüsselbasierte Authentifizierung per SSH. Dabei muss der zu sichernde Server automatisch die Gültigkeit des übergebenen DSA Schlüssels überprüfen können.
Erstellen Sie auf dem Ziel-Server das Verzeichnis “/home/remotebackup/.ssh” – sofern es noch nicht existieren sollte:
1 2 3 | su remotebackup mkdir ~/.ssh chmod 700 ~/.ssh |
Fügen Sie den öffentlichen DSA-Schlüssel (s.o.) an das Ende der Datei “/home/remotebackup/.ssh/authorized_keys” ein:
1 2 | cd ~/.ssh ssh -l root [IP Quell-Server] cat /root/.ssh/id_dsa.pub >> authorized_keys |
chmod 600 authorized_keys
Sollte dieser Weg nicht funktionieren, können Sie natürlich auch die Datei per "scp" kopieren und den Inhalt dann manuell anfügen.
Im letzten Schritt für eine automatische SSH Authentifizierung müssen Sie die entsprechende Option in der Datei "/etc/sshd/sshd_config" aktivieren:
PubkeyAuthentication yes
Testen Sie die automatische Authentifizierung:
1 | ssh -l remotebackup [IP Quell-Server] |
Datensicherung (Skripte)
Die beiden Server sind vorbereitet. Auf dem Quell-Server legen Sie nun bitte die Datei "/root/rsync-excludes.conf" an. Diese enthält alle Verzeichnisse, welche nicht gesichert werden sollen. Dabei werden auch deren Unterverzeichnisse nicht gesichert.
1 2 3 4 5 6 | /cdrom /dev /lost+found /proc /sys /tmp |
Erstellen Sie das Backupscript "/usr/local/bin/backup.sh":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/sh echo "Starte Server-Backup .." BACKUPDIR=/ TARGETUSER=remotebackup TARGETDIR=/home/remotebackup/backup_`date +'%Y-%m-%d'` EXCLUDES=/root/rsync-excludes.conf BACKUPSERVER=[IP Ziel-Server] rsync -avz --numeric-ids -e ssh --delete --delete-excluded --stats --exclude-from="$EXCLUDES" $BACKUPDIR $TARGETUSER@$BACKUPSERVER:$TARGETDIR echo "Backup beendet." |
Vergessen Sie bitte nicht, im vorherigen Script die IP (oder den Hostnamen) des Ziel-Servers einzusetzen. Danach machen Sie das Skript bitte ausführbar:
chmod a+x /usr/local/bin/backup.sh
Script testen
Testen Sie die Datensicherung des Servers durch das manuelle Starten des Scriptes:
backup.sh
Automatische Datensicherung (Batch / CronJob)
Um die Datensicherung (Serverkopie) automatisch jeden Morgen um 4 Uhr zu starten, fügen Sie in der Datei "/etc/crontab" die folgende Zeile ein:
0 4 * * * root /usr/local/bin/backup.sh
Linux: Größe aller Dateien eines Verzeichnisses anzeigen (rekursiv)
Dienstag, 05.10.2010Um den benötigten Speicherplatz eines Verzeichnisses inkl. der vorhandenen Unterverzeichnisse zu berechnen, nutzen Sie folgenden Befehl:
1 2 | du -s ./ 6691244 ./ |
Für eine besser zu lesende Darstellung (in KB, MB, GB, ..) er erhalten, hilft die “-h” Option:
1 2 | du -s -h ./ 6.4G ./ |
Das aktuelle Verzeichnis erhalten Sie durch “./” (sh. vorherige Beispiele). Um andere Verzeichniss-Summen zu erhalten, geben Sie das entsprechende Verzeichnis direkt an:
1 2 | du -s -h /home/ 632M /home/ |
VirtualMin: PHP Prozesse automatisch beenden (zu viele PHP Prozesse)
Samstag, 07.08.2010Wenn Sie mit VirtualMin Ihren Server (evtl. virtuellen Server = VServer) verwalten, dann stehen Sie manchmal vor dem einfachen (aber relativ gefährlichen) Problem, dass Ihnen die PHP Prozesse Ihren verfügbaren Arbeitsspeicher (RAM) füllen. Zwar ist die Speicherverwaltung von Debian Linux darauf ausgelegt, benutzten Speicher nicht sofort wieder freizugeben, sondern dieses erst bei Bedarf zu machen. Trotzdem kann dieses Verhalten Ihren Server in Performanceprobleme bringen oder Zugriffe scheitern lassen (Error 503 – “Service unavailable”).
Eine Lösung ist, in der VirtualMin Oberfläche die Einstellungen anzupassen:
- System Settings > Server Templates
- “Default Settings” anklicken
Nutzen Sie für Ihre Server ein eigenes Template, nutzen Sie jenes - Edit template section = “Apache website”
- Setzen Sie “Default FCGId PHP sub-processes” auf “None”
- Klicken Sie ganz unten auf “Save”
- Starten Sie den Apache Webserver einmal neu
- Wechseln Sie in den WebMin Bereich (oben links im Bildschirm)
- Servers > Apache Webserver
- Klicken Sie auf “Apply Changes” (oben rechts im Bildschirm)
- Fertig
Nun werden nicht mehr benötigte PHP Prozesse sofort nach Ihrem Ablauf auch entfernt und es steht wieder mehr Server-RAM zur Verfügung.
Linux: Dateien per SCP ohne Passworteingabe kopieren (SSH)
Samstag, 24.07.2010Wenn Sie automatisch per SCP Dateien kopieren möchten und dabei nicht das Passwort eingeben können oder möchten, dann hilft Ihnen diese Anleitung. Für dieses Beispiel sollen Dateien von Server 1 auf Server 2 kopiert werden:

Für dieses Beispiel gelten folgende Bedingungen:
- Das Script liegt auf Server 2 – die Daten werden von Server 1 “abgeholt”
- Der Benutzer für den Datentransfer heißt “backup”
Vorbereitungen auf Server 1 (Quelle):
- Unter dem Benutzernamen “backup” anmelden oder zum Benutzer wechseln:
su backup - Schlüssel für den automatischen Zugriff von Server 2 erstellen.
Dieser gilt nur für den aktuell angemeldeten Benutzernamen.
ssh-keygen -t dsa
Jede Frage mit “Enter” beantworten und kein Passwort eingeben:
Generating public/private dsa key pair.
Enter file in which to save the key (/home/backup/.ssh/id_dsa):
Created directory '/home/backup/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/backup/.ssh/id_dsa.
Your public key has been saved in /home/backup/.ssh/id_dsa.pub.
The key fingerprint is:
d2:5a:6c:9f:15:5c:2c:d1:d1:d5:3b:7f:3c:88:bf:d3 backup@servername.com
The key's randomart image is:
+--[ DSA 1024]----+
[Ihr virtueller Fingerabdruck]
+-----------------+
Die Datei liegt im .ssh Unterverzeichnis des Benutzers
Vorbereitungen auf Server 2 (Ziel):
- Ggf. müssen wir zuerst das .ssh Verzeichnis auf Server2 für den Benutzer “backup” anlegen:
mkdir /home/backup/.ssh
chmod 700 /home/backup/.ssh
chown backup:backup /home/backup/.ssh - Wir benötigen den öffentlichen Schlüssel des Benutzers “backup” vom “Server 1″ auf diesem Server. Durch diesen Schlüssel kann sich später Server 2 automatisch bei Server 1 anmelden (identifizieren).
scp backup@server1:~/.ssh/id_dsa.pub /home/backup/.ssh/public-key.tmp
SVN: Nach einem Commit automatisch die Webseite aktualisieren (Post-Commit Hook)
Freitag, 23.07.2010Bei SVN Projekten werden die Änderungen der Entwickler & Programmierer regelmäßig von deren lokaler Kopie in das entsprechende SVN Repository committed (= gesichert / gespeichert).
Bei diesem “Committen” können Sie Ihren SVN Server anweisen, sofort die Änderungen auf einen WebServer zu kopieren und dadurch stets die aktuellste Version zum Testen vorzuhalten.
Zuerst müssen Sie die Grundlage für spätere Updates schaffen … einen grundlegenden Export des aktuelles Repositories:
svn export http://yourDomain.com/svn/YourProject /path/to/webserver/
Wenn das WebServer verzeichnis (hier: “/path/to/webserver/”) bereits existiert und jetzt für den Export überschrieben werden soll, dann müssen die die Option “–force” an den Befehl anhängen:
svn export http://yourDomain.com/svn/YourProject /path/to/webserver/ --force
Nun richten Sie die Update-Automatik ein:
- Dafür gehen Sie in das “hooks” Verzeichnis Ihres Projektes auf dem SVN Server
- Kopieren Sie sich die Vorlage für den “post-commit” Hook:
cp post-commit.tmpl post-commit
- Bearbeiten Sie die Datei “post-commit”
nano post-commit
- Fügen Sie folgende Befehle ein:
1 2
cd /path/to/webserver/ svnlook dirs-changed [REPOS] -r [REV] | xargs /usr/bin/svn up -N
Hinweis:
Dieses Vorgehen ist (meist) nur für lokale Produktions- und Test-Webserver zu empfehlen. Bei Live-Systemen können auch kleine Fehler in der Entwicklung zu fatalen Problemen führen, da diese sofort online für jeden Besucher sichtbar wären.
Linux: SSH Port ändern
Mittwoch, 07.07.2010Eine einfache Lösung, Ihren Linux-Server sicherer vor Hackern zu machen, ist der Wechsel des SSH Ports. Dieser liegt im Standard auf Port 22. Fast alle Portscanner suchen natürlich auch auf diesem Port nach einem antwortenden SSH Server.
SSH Port ändern
- Melden Sie sich auf Ihrem Server als “root” an und öffnen Sie die “sshd_config” Datei (hier mit dem Editor “nano”):
nano /etc/ssh/sshd_config
- Suchen Sie die (letzte) Zeile mit folgendem Inhalt:
Port 22
- Ändern Sie die Zahl “22″ ab indem Sie eine andere Zahl zwischen 1025 und 65535 eingeben. Achten Sie dabei darauf, dass dieser Port nicht bereits belegt ist. Mehr Informationen zu TCP/IP Ports finden Sie hier:
TCP/IP Ports
Nehmen Sie als neuen Port z.Bsp. 64000, 64258 oder 69154.Port 64000
- Speichern und beenden Sie “nano” mit der Tastenkombination “STRG + X”. Drücken Sie “Y” damit die Änderungen gespeichert werden.
- Starten Sie Ihren SSH Server durch folgenden Befehl neu:
/etc/init.d/ssh restart
- Testen Sie die Portänderung durch das Öffnen einer weiteren (zusätzlichen) PuTTy Verbindung zu Ihrem Linux-Server. Geben Sie dabei Ihren neuen Port ein. Wenn Sie sich anmelden können, ist alles ok. Nun können Sie Ihre erste PuTTy Verbindung schließen.
Sicherheit: BitTorrent greift auf den Speicher anderer Prozesse zu
Sonntag, 04.07.2010Kaum ein anderes Programm ist derzeit umstrittener als die P2P Software “BitTorrent”. Die Film- und Musikindustrie überschwemmt das Land mit Abmahnungen und Klagen gegen Betreiber und Benutzer (sh. z.Bsp. einen Spiegelbericht) – eine kostengünstige und verbraucherfreundliche Alternative bieten nur sehr wenige Musik- und Filmkonzerne.
Ich habe mir diese Software ein wenig näher ansehen wollen und einen Download auf einer der vielen legalen und offiziellen Downloadserver gefunden:
Der Download umfaßt ca. 2,8 MB und ist nach wenigen Sekunden abgeschlossen. Vorteil beim Download über seriöse, große Plattformen ist, dass diese Downloads meist zuvor durch Virenscanner und Schutzsoftware überprüft wurden. Auch werden diese Downloads zumeist direkt vom Hersteller bzw. Autor der Software “beliefert”, sodaß eine Manipulation der Programme weniger wahrscheinlich ist.
Nach dem Download startete ich das Setup und war reichlich überrascht, als das BitTorrent Setup ohne eine Anzeige, Warnung oder einen Hinweis anfing, auf den Speicher sämtlicher aktiver Programme (Prozesse) meines Computers zugreifen zu wollen.
Nur die Warnmeldungen meiner Firewall (auf dem Testcomputer die Comodo Firewall) warnten mich vor den Zugriffen:



(Sie sehen nur eine kleine Auswahl der Meldungen. Das BitTorrent Setup griff auf jeden laufenden Prozess zu ..)
Für ein installiertes, laufendes Programm können diese Zugriffe sinnvoll und (in seltenen Fällen) auch notwendig sein. Z.Bsp. dann, wenn ein Programm auf das Markieren eines Textbereiches reagieren soll und ggf. feststellt, dass Sie eine Internetadresse (URL) markiert haben. Dann kann die Software diese URL weiter verarbeiten.
Während eines Setups sehe ich absolut keine Notwendigkeit, auf meine Prozesse zuzugreifen. Zumal eine vorherigen Erlaubnis oder Rückfrage bei mir fehlte und nur meine Firewall mich schützte.
Also brach ich das BitTorrent Setup über den TaskManager (Strg+Alt+Entf) ab.
Fazit
Die Technik der P2P Netzwerke ist sicherlich außerordentlich mächtig und sinnvoll – sofern sie für legale Daten genutzt wird. Die Tools (Software, Programme, ..) gibt es in vielerlei Ausführungen. Aber Sie sollten sehr gründlich prüfen, was diese Software auf Ihrem Computer darf.
Das Risiko (ich möchte ausdrücklich der BitTorrent Software hier nichts unterstellen), dass die Zugriffe auf den Speicher anderer Anwendungen für das Ausspähen von Daten, Passwörtern und PINs genutzt wird ist hoch. Hast sich eine Software unbemerkt in den Speicher (sh. Screenshot oben) der Verschlüsselungssoftware “TrueCrypt” eingehakt, können Passworteingaben, Sicherheitseinstellungen, Pfade und Zugriffe unproblematisch analysiert werden. Da Sie solcher Software natürlich auch den Internetzugriff erlaubt haben (ansonsten können Sie auf keinen anderen P2P Computer zugreifen), können diese vertraulichen Daten leicht und unbemerkt verschickt werden.
Nochmal: Ich möchte keiner P2P Software diese Absicht unterstellen. Aber schwarze Schafe und manipulierte Versionen ansonsten ordentlicher Anbieter können unbemerkt und leicht auch bei Ihnen laden.
« Vorheriger Beitrag Nächster Beitrag »