Günther Obermaiers Webseite



Allgemeines zu Debian 5.0 Lenny

08.10.2014 Update Bash wegen ShellShock 2.

am 30.9. gab es wohl eine neue Lücke. Test:
# bash -c "f() { x() { _;}; x() { _;} <<a; }" 2>/dev/null || echo vulnerable
Was bei mir
Segmentation fault
vulnerable
ergab. Da ich keine gepatchtes Paket fand, habe ich es aus den Quellen und Patches des GNU Projektes selber compiliert:
# apt-get install gcc make bison
# cd ~/
# mkdir bash
# cd bash
# wget --no-check-certificate https://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
# while [ true ]; do i=`expr $i + 1`; wget -N --no-check-certificate https://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-$(printf '%03g' $i); if [ $? -ne 0 ]; then break; fi; done
# tar zxvf bash-3.2.tar.gz
# cd bash-3.2
# for p in `ls ../bash32-[0-9][0-9][0-9]`; do patch -p0 < $p; done
# ./configure && make && make install
Neu anmelden und testen, keine Textausgabe, also ist auch der Exploit CVE-2014-6277 gefixt.

29.09.2014 Update Bash wegen ShellShock

Auf agena3 ist noch das alte Debian Lenny für amd64-Architektur im Einsatz, das nicht mehr mit Sicherheitsupdates versorgt wird. Um das vor der ShellShock Lücke in der Bash zu schützen, muß man diese aus anderer Quelle installieren.
# wget http://ftp.linux.it/pub/People/md/bash/bash_3.2-4.2_amd64.deb
# dpkg -i bash_3.2-4.2_amd64.deb
Anschliessend testen:
# env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
 
Die erste und zweite ShellShock Lücke ist geschlossen, falls das Resultat folgendes ist:
    bash: warning: x: ignoring function definition attempt
    bash: error importing function definition for `BASH_FUNC_x'
    test
2. Test:
# cd /tmp; rm -f /tmp/echo; env 'x=() { (a)=>\' bash -c "echo date"; cat /tmp/echo
Der neuere Incident CVE-2014-7169 ist geschlossen, falls das Resultat folgendes ist:
    date
    cat: /tmp/echo: No such file or directory

Debian 5.0 Lenny, benötige Perl- und PHPModule

+das, was von aptitude automatisch ausgewählt wird. Grau hinterlegte sind optional!
+ perlmodule  (unter nicht-installiert -> perl)
	libarchichive-zip-perl
	libclass-dbi-mysql-perl
	libclass-dbi-perl
	libconvert-ber
	libcrypt-gpg-perl
	libcrypt-unixcrypt-perl
	libimage-exif-perl
	libimage-exiftool-perl
	libimage-size-perl
	libio-string
	libio-stty
	libmime-lite-perl
	libmp3-tag-perl
	libmp3-info-perl
	libnet-ssh-perl
	libsys-cpuload-perl
	libtext-csv-perl
	liburi-find-perl
	perlmagick
+ php5
	php5-cli
	php5-gd			(bei lenny und PHP5 schon vorausgewählt)
	php5-imagick		(bei lenny und PHP5 schon vorausgewählt)
	php5-imap
	php5-ldap 		(bei lenny und PHP5 schon vorausgewählt)
	php5-mcrypt		(bei lenny und PHP5 schon vorausgewählt)
	php5-mhash		(bei lenny und PHP5 schon vorausgewählt)
	php5-mysql		(bei lenny und PHP5 schon vorausgewählt)

Update von Debian Etch (4.0) auf Lenny (5.0)

Den Update von Sarge (3.1) auf Etch (4.0) habe ich einige Male durchgeführt, vollkommen problemlos. Der Upgrade von Etch (4.0) auf Lenny (5.0) war etwas holpriger, lag vielleicht auch daran, daß der erste umgestellte Rechner ein Desktop war. Ich musste den apt-get dist-upgrade einige Male aufrufen, abwechselnd mit apt-get -f install. Zu Begin erfolgte sofort ein Abbruch, die Key-Rings waren veraltet.
In der /etc/apt/sources.list werden die Zeilen für Etch(sinngemäß) durch Lenny oder Stable ersetzt :
deb ftp://ftp.uni-bayreuth.de/pub/linux/Debian/debian/ lenny main contrib non-free
deb-src ftp://ftp.uni-bayreuth.de/pub/linux/Debian/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://ftp.debian-unofficial.org/debian stable main contrib non-free restricted
# apt-get update
# apt-get install debian-archive-keyring
# apt-get dist-upgrade
Diverse Fragen des Debian-Installers folgen, bei mir konnten überall die Default-Antworten übernommen werden ... eventuell mehrere Runden:
 
# apt-get -f install
# apt-get dist-upgrade
Einige Details noch bei sgrX1, spica

Paketlisten aus- und einlesen

Damit man die Pakete nicht manuell auswählen muß, kann man diese aus einem installierten Rechner auslesen und auf einmal am Zielrechner auswählen und installieren. Dies passiert nach der Installation des Grundsystems, nachdem der neue Rechner schon von der Systemplatte gebootet hat.
Dazu am Quellrechner die Paketliste erstellen und mit scp auf den Zielrechner kopieren:
# dpkg --get-selections > pakete.txt
# scp pakete.txt root@spica:/root
Am Zielrechner:
# dpkg --set-selections < pakete.txt
# apt-get dselect-upgrade

Rechner umbenennen oder IP Adresse ändern

bei Namensänderungen müssen folgende Dateien angepasst werden:
/etc/hosts
/etc/hostname
/etc/mailname
/etc/exim4/update-exim4.conf.conf
bei Änderungen der (statischen) IP-Adresse:
/etc/network/interfaces
thats it!

USB funktioniert nicht

beim Bootvorgang kommt die Fehlermeldung
device not accepting address 02, error -110
...
device not accepting address 03, error -110
...
device not accepting address 04, error -110
Diese Fehlermeldung hängt häufig mit ACPI Problemen zusammen, in meinem Fall war im BIOS hart ACPI V1.0 eingestellt. Nach Umstellung auf ACPI V2.0, Modus auto funktionierte die USB Schnittstelle wieder.

Lenny verwenden, obwohl es veraltet ist

Die sources.list muss umgeschrieben werden, damit weiterhin Updates via aptitude oder apt-get möglich sind. Da lenny aus dem aktiven Directory entfernt wurde, muß auf das Archiv zugegriffen werden. Die Zweite Zeile sorgt für Zugriffe auf squeeze-Backports.
deb http://ftp.de.debian.org/debian-archive/debian/ lenny main
deb http://ftp.de.debian.org/debian-backports squeeze-backports main contrib non-free
Falls man dann alles aus backports will:
# aptitude -t squeeze-backports