Artikel mit Tag linux + top
Verwandte Tags
Keine verwandten Tags gefunden.
Problem : Man möchte mit einem Bash Script (Server A) z.B. Sicherungen von einem entfernten Server (Server B) automatisiert abholen. Da hier die Eingabe eines Passwortes hinderlich ist realisiert man das über einen SSH Key.
Lösung :
1.) erstellen eines SSH Keys auf Server A mit dem Befehl
ssh-keygen -t rsa
2.) erstellen des Ordners
.ssh im Homeverzeichnis auf Server B, sollte dieser bereits existieren auch gut
mkdir -p ~/.ssh
3.) importieren des erstellten Keys von Server A in der Datei .ssh/authorized_keys auf Server B
cat ~/.ssh/id_rsa.pub | ssh user@[Hostname von Server B] 'cat >> .ssh/authorized_keys'
oder
cat ~/.ssh/id_rsa.pub | ssh user@[IP-Adresse von Server B] 'cat >> .ssh/authorized_keys'
Anmerkung: Man kann auch Schritt 2 und 3 in einem zusammenfassen. Das gute daran man muss sich nicht erst auf Server B anmelden
cat ~/.ssh/id_rsa.pub | ssh root@[Hostname von Server B] 'mkdir -p ~/.ssh ; cat >> .ssh/authorized_keys'
4.) testen des Zugangs ohne Passwort z.B. mit diesem Befehl von Server A aus
ssh user@hostname
oder
ssh user@ip-adresse
Ein Debian Squeeze System auf die Bash-Lücke: ShellShock testen und diese schließen.
Bash Shellshock testen :
env x='() { :;}; echo "WARNUNG: SHELLSHOCK GEFUNDEN"' bash --norc -c ':' 2>/dev/null;
Sieht der output so aus ist das System verwundbar
WARNUNG: SHELLSHOCK GEFUNDEN
Die Jungs von #shellshock haben einen besseren Test geschrieben, in der Sektion "Testing Your System" ist der Aufruf dafür zu finden.
Auf meinen Debian (6) Squeeze Server konnte ich die Lücke , soweit bekannt , schließen.
Ich habe meine
/etc/apt/sources.list auf den LTS Zweig konfiguriert
deb http://http.debian.net/debian/ squeeze main contrib non-free
deb-src http://http.debian.net/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://http.debian.net/debian squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian squeeze-lts main contrib non-free
danach nur das Packet bash geupdatet
apt-get update && apt-get install --only-upgrade bash
Erneut Bash Shellshock testen :
env x='() { :;}; echo "WARNUNG: SHELLSHOCK GEFUNDEN"' bash --norc -c ':' 2>/dev/null;
Wenn hier jetzt kein Output mehr zu sehen ist dann ist die bekannte Lücke geschlossen.
Weitere Quellen :
Bash-Luecke-Shellshock-Tests-auf-Verwundbarkeit-und-Abwehr
how-to-fix-shellshock-vulnerability-on-debian-squeeze
Mitigating the shellshock vulnerability (CVE-2014-6271 and CVE-2014-7169)
#shellshock
Wenn man an einem VHOST unter Apache2 eine Änderung vornimmt muss man entweder den Apache2 neustarten dies macht man mit
/etc/init.d/apache2 restart
oder man läd nur die Konfigurationsdateien neu. Dann hat man keine Downtime
1.) Überprüfen ob die Konfiguratinsdateien geparst werden können
apache2ctl configtest
2.) Konfigurationsdateien einlesen , gemachte Einstellung werden aktiv
apache2ctl graceful
Es gibt mehrere Wege um das Logging auf einem MySQL Server zu aktivieren. Der eine Weg ist über die
/etc/mysql/my.cnf allerdings muss hier MySQL neu gestartet werden.
Um die Konfiguration ohne Neustart zu ändern bietet sich dieser Weg an.
Anmelden am MySql Server :
BENUTZER und PASSWORT muss natürlich mit den eigenen Werten ersetzt werden.
mysql -uBENUTZER -pPASSWORT
Dann die globalen Variablen setzen
SET global log_output = 'FILE';
SET global general_log_file='/var/log/mysql/mysql_general.log';
SET global general_log = 1;
ausschalten kann man das ganze wieder mit
SET global general_log = 0;
Man sollte das global_log nicht allzu lange aktiv lassen da hier je nach Anwendung schnell 1 GB zusammen kommt.
Problem : PHP auf einem Debian 6 Server Updaten
Lösung :
Hinzufügen des dotdeb Repository (
DotDeb Hilfe) zur /etc/apt/sources.list
# dotdeb.org
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
Importieren des GnuPG Key
wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
Update der Packetverwaltung mit
apt-get update durchführen.
Dannach bringt ein
apt-get dist-upgrade php auf die aktuelle Version
Ein
php - version liefert dann diesen Output
PHP 5.3.28-1~dotdeb.0 with Suhosin-Patch ....... Stand ( 24.06.2014 )
Nachdem php geupdatet wurde muss der Apache neu gestartet werden da sonst Serverfehler ausgeliefert werden , dies kann mit
/etc/init.d/apache2 restart erledigt werden.
Kursiv = Muss in der Console eingegeben werden oder ist ein Output
Ich habe hier als Server Überwachung
Check_MK am laufen , die Serverüberwachung bringt die Möglichkeit mit Windows Systeme auf Updates zu überprüfen. Diese Funktion habe ich für Linux Systeme vermisst und habe einen local Check für Debian geschrieben der die selbe Aufgabe übernimmt.
eine Datei anlegen mit folgendem Inhalt z.B. debian_updates.sh
#!/bin/bash
LOGPATH=`dirname $(readlink -f ${0})`
LOGFILE=debian_updates.log
LOGFULL=$LOGPATH/logs/$LOGFILE
DEBVER=`cat /etc/debian_version`
TNOW=$(date "+%s");
STATUS=0
function Get_Updates {
apt-get update > /dev/null 2> /dev/nul
AVUP=`apt-get dist-upgrade -qq -y -s | grep -c '^Inst '`
AVPACK=`apt-get dist-upgrade -qq -y -s | awk '/^Inst / { print $2 }' | sed ':a;N;$!ba;s/\n/ /g'`
AVUPA=$(($AVUP + 1));
AVUP=$(($AVUPA - 1));
if [ $AVUP != 0 ]; then
STATUS=1
STATUSTXT="$AVUP Updates ( Debian Version : $DEBVER )__ $AVPACK"
else
STATUS=0
STATUSTXT="System ist auf dem aktuellsten Stand ( Debian Version : $DEBVER )"
fi
echo "$STATUS Debian_Update - $STATUSTXT" > $LOGFULL
echo "$STATUS Debian_Update - $STATUSTXT"
}
if [ -e $LOGFULL ];
then
TDATEI=$(stat -c %Z $LOGFULL);
ALTER=$(($TNOW - $TDATEI));
MAXALTER=86400; # ---- Berechnet sich wie folgt 24*60*60=86400 Sekunden
if [ $ALTER -gt $MAXALTER ];
then
Get_Updates
else
while read line; do
echo $line
done < $LOGFULL
exit;
fi
else
Get_Updates
fi
exit
die Datei ausführbar machen mit
chmod u+x Dateiname und dann in
/usr/lib/check_mk_agent/local/ kopieren. Ein Unterverzeichnis mit dem Namen
logs anlegen und einen
Full Scan auf die Maschine ausführen. Ab dann werden die Updates auch in der Serverüberwachung angezeigt.
z.B. keine Updates
z.B. Updates stehen zur Installation