BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Installierte Ports auf Sicherheitsprobleme prüfen

Möchte man überprüfen, ob die installierten Ports Sicherheitsprobleme aufweisen, so empfielt es sich security/portaudit zu installieren:

# cd /usr/ports/security/portaudit && make install clean

Danach kann portaudit in der Konsole ausgeführt werden:

# portaudit -Fda
auditfile.tbz 100% of 32 kB 43 kBps
New database installed.
Database created: Fr 3 Feb 2006 16:10:03 CET
0 problem(s) in your installed packages found.

Die Option -F lädt die aktuellste Datenbank herunter, in der alle aktuellen Sicherheitsprobleme der Ports verzeichnet sind, -d zeigt die Zeit an, wann die Datenbank erstellt wurde und -a prüft alle installierten Ports auf Sicherheitsprobleme.

Im folgenden Beispiel sollte ein Update gewisser Ports in Betracht gezogen werden:

# portaudit -Fda
auditfile.tbz 100% of 32 kB 36 kBps
New database installed.
Database created: Sat Feb 4 00:10:03 CET 2006
Affected package: clamav-0.86.2_1
Type of problem: clamav -- possible heap overflow in the UPX code.
Reference: http://www.FreeBSD.org/ports/portaudit/612a34ec-81dc-11da-a043-0002a5c3d308.html

Affected package: p5-Mail-SpamAssassin-3.0.4
Type of problem: p5-Mail-SpamAssassin -- long message header denial of service.
Reference: http://www.FreeBSD.org/ports/portaudit/7f3fdef7-51d2-11da-8e93-0010dc4afb40.html

Affected package: squid-2.5.10_5
Type of problem: squid -- FTP server response handling denial of service.
Reference: http://www.FreeBSD.org/ports/portaudit/1c3142a3-4ab2-11da-932d-00055d790c25.html

Affected package: ruby-1.8.2_4
Type of problem: ruby -- vulnerability in the safe level settings.
Reference: http://www.FreeBSD.org/ports/portaudit/1daea60a-4719-11da-b5c6-0004614cc33d.html

Affected package: clamav-0.86.2_1
Type of problem: clamav -- arbitrary code execution and DoS vulnerabilities.
Reference: http://www.FreeBSD.org/ports/portaudit/271498a9-2cd4-11da-a263-0001020eed82.html

Affected package: unzip-5.51
Type of problem: unzip -- permission race vulnerability.
Reference: http://www.FreeBSD.org/ports/portaudit/9750cf22-216d-11da-bc01-000e0c2e438a.html

Affected package: pcre-5.0
Type of problem: pcre -- regular expression buffer overflow.
Reference: http://www.FreeBSD.org/ports/portaudit/b971d2a6-1670-11da-978e-0001020eed82.html

Affected package: squid-2.5.10_5
Type of problem: squid -- possible denial of service condition regarding NTLM authentication.
Reference: http://www.FreeBSD.org/ports/portaudit/44e7764c-2614-11da-9e1e-c296ac722cb3.html

8 problem(s) in your installed packages found.

You are advised to update or deinstall the affected package(s) immediately.

Ausserdem installiert portaudit folgende Datei /usr/local/etc/periodic/security/410.portaudit, welche täglich während den daily security Skripten ausgeführt wird und die installierten Ports automatisch auf Sicherheitslöcher prüft.

Desweiteren wird nun bevor man einen Port installiert automatisch überprüft, ob der installierte Port Sicherheitslöcher aufweist.

Eine Weboberfläche der Datenbank findet man hier: http://www.vuxml.org/freebsd/index.html

UPDATE 05.02.2007:

portaudit wurde von security in die neue Kategorie ports-mgmt verschoben. portaudit kann nun wie folgt installiert werden:

# cd /usr/ports/ports-mgmt/portaudit && make install clean
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (4)  Permalink

Lokale Mails über einen Mail-Relay versenden

Möchte man zum Beispiel aus einem Heimnetzwerk von der Konsole aus ein Mail verschicken und den Mail-Relay seines Providers verwenden, damit so etwas nicht passiert:

stat=Deferred: 450 <daedalus.network.local>: Helo command rejected: Host not found

Dann kann man sich entwerder mit sendmail rumärgern oder ssmtp verwenden:

# cd /usr/ports/mail/ssmtp
# make install replace clean

Falls sendmail noch läuft, sendmail beenden:

# /etc/rc.d/sendmail stop

Danach sendmail in der rc.conf deaktivieren:

sendmail_enable="NONE"

Jetzt noch die /usr/local/etc/ssmtp/ssmtp.conf anpassen:

root=<Meine mailadresse>
mailhub=<SMTP meines Providers>
rewriteDomain=<Meine Domain>
hostname=_HOSTNAME_

Und schon funktioniert das Senden von Konsolenmails.

Gefunden bei: http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/outgoing-only.html

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Umlaute nach X.Org Update von 6.8.2 auf 6.9.0

Nach den Update von X.Org auf 6.9.0 wurden beim Schreiben mit einer deutschschweizer Tastatur statt Umlaute irgendwelche Sonderzeichen angezeigt. Um dies zu beheben, einfach in der /etc/X11/xorg.conf in der InputDevice Section folgenden Eintrag

Option "XkbLayout"  "de_CH"

in folgenden ändern:

Option "XkbLayout"  "ch"

Danach den X-Server mit Crtl + Alt + Backspace neu starten.

Related Entries:
Mit Xinerama zwei Bildschirme an einem Rechner verwenden
X.Org: could not open default font "fixed"
Auflösung unter X.Org während des Betriebes ändern
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
Comments (4)  Permalink

Dateien mit allen Dateiattributen kopieren

Möchte man Dateien kopieren, die Dateiattribute der neu erstellten Dateien jedoch identisch mit den Originalen belassen, so kann man dies einfach mit cp -p machen. Dies kopiert auch alle Attribute wie die Zeitstempel, Dateiflags, Dateiberechtigungen, User ID und Group ID.

Beispiel:

Datei eines Benutzers wird von root nur mit cp kopiert:

# ls -ol
-rwxrwxrwx 1 beat wheel schg 9 27 Jan 16:32 testdatei*
# cp testdatei testdatei2
# ls -ol
-rwxrwxrwx 1 beat wheel schg 9 27 Jan 16:32 testdatei*
-rwxr-xr-x 1 root wheel - 9 27 Jan 16:35 testdatei2*

Die selbe Datei wird von root mit cp -p kopiert:


# cp -p testdatei testdatei3
# ls -ol
-rwxrwxrwx 1 beat wheel schg 9 27 Jan 16:32 testdatei*
-rwxr-xr-x 1 root wheel - 9 27 Jan 16:35 testdatei2*
-rwxrwxrwx 1 beat wheel schg 9 27 Jan 16:32 testdatei3*

Soll zusätzlich zum Kopieren noch überprüft werden, ob die Datei richtig kopiert wurde, so empfiehlt es sich cpdup zu verwenden. cpdup(1) findet man in den Ports unter sysutils/cpdup. Kopiert man eine Datei mit cpdup -m, so generiert cpdup einen MD5 Hash der Datei, kopiert die Datei und vergleicht den MD5 Hash der neu erstellten Datei mit dem Original. Stimmen diese nicht überein, so wird die Datei erneut kopiert.

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Flux CMS Port für FreeBSD

Ich habe einen FreeBSD Port für das Flux CMS geschrieben. Da dies mein erster selbstgeschrieber Port ist, wäre ich froh, wenn dieser noch ein bisschen getestet wird. Hier mal eine kleine Anleitung wie man den Port installieren kann.

# cd /usr/ports/www && fetch http://www.chruetertee.ch/files/download/fluxcms.tar.gz
# tar -xzvf fluxcms.tar.gz && rm fluxcms.tar.gz
# cd fluxcms && make install clean

Möchte man das Flux CMS lieber als Packet installieren, so macht man dies folgendermassen:

# pkg_add http://www.chruetertee.ch/files/download/fluxcms-1.3.1.tbz

Ist noch kein Apache installiert, so muss zuerst die httpd.conf den eigenen Wünschen angepasst, PHP5 aktiviert und der Apache in der /etc/rc.conf eingetragen werden.

# echo 'apache_enable="YES"' >> /etc/rc.conf

Danach den Apache starten.

# /usr/local/etc/rc.d/apache.sh start

Ist noch kein mySQL Server installiert, so muss dieses noch gemacht werden:

# cd /usr/ports/databases/mysql41-server && make install clean
# echo 'mysql_enable="YES"' >> /etc/rc.conf

Auch danach muss der mySQL Server gestartet werden.

# /usr/local/etc/rc.d/mysql-server.sh start

Ausserdem sollte für das Flux CMS ein VirtualHost gemäss den Anweisungen des Ports erstellt werden. Sind die Anweisungen des Ports nicht mehr sichtbar, so können diese ganz einfach angezeigt werden:

# cd /usr/ports/www/fluxcms && make post-install

Danach den Apache neu starten und den Webinstaller vom Flux CMS ausführen.

Für Rückmeldungen oder Anregungen zum Port bin ich sehr dankbar.

UPDATE 26.01.2006:

Version 1.3.1 des Flux CMS wurde veröffentlicht. Port und Packet wurden aktualisiert.

UPDATE 08.05.2006:

Das Flux CMS ist nun in den FreeBSD Ports.

Comments (5)  Permalink

Portbaum aktualisieren mit Portsnap

Alternativ zu CVSup kann der Portbaum auch mit portsnap auf den neusten Stand gebrach werden. Seit FreeBSD 6.0-BETA3 befindet sich portsnap im nun FreeBSD Basissystem. Welche Vorteile portsnap gegenüber CVSup haben soll, kann man hier nachlesen: http://www.daemonology.net/portsnap/

Benutzt man portsnap das erste mal, so muss man den Snapshot zuerst herunterladen:

# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... using portsnap1.FreeBSD.org.
Fetching public key... done.
Fetching snapshot tag... done.
Fetching snapshot metadata... done.
Fetching snapshot generated at Mi 11 Jan 2006 01:32:11 CET:
0d1d343821c1a727b12b377de9697b248fee48a81ea749100% of 38 MB 73 kBps 00m00s
Extracting snapshot... done.
Verifying snapshot integrity... done.
Fetching snapshot tag... done.
Fetching snapshot metadata... done.
Updating from Mi 11 Jan 2006 01:32:11 CET to Mi 11 Jan 2006 19:57:38 CET.
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
Fetching 94 patches.....10....20....30....40....50....60....70....80....90.. done.
Applying patches... done.
Fetching 10 new ports or files... done.

Danach kann er mit folgendem Befehl entpackt werden:

# portsnap extract

Nachdem man dies einmal gemacht hat, kann man den Portbaum nun ganz einfach auf einen neueren Stand bringen:

# portsnap fetch update

Besitzt man eine FreeBSD Version in der portsnap noch nicht im Basisystem ist, also eine vor 6.0-BETA3 oder 7.0-CURRENT, so kann man portsanp alternativ aus den Ports installieren:

# cd /usr/ports/sysutils/portsnap && make install clean

Hat man den Portbaum noch nicht installiert, so kann man auch das Paket von portsnap installieren:

# pkg_add -r portsnap

Mehr Informationen hier: portsnap(8)

UPDATE 05.02.2007:

portsnap wurde von sysutils in die neue Kategorie ports-mgmt verschoben. portsnap kann auf FreeBSD Systemen vor 6.0-BETA3 wie folgt installiert werden:

# cd /usr/ports/ports-mgmt/portsnap && make install clean
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

E-Mails mit Attachment von der Konsole aus senden

Möchte man ein E-Mail mit einem kurzen Text von der Konsole aus schreiben, so kann man einfach folgenden Befehl benutzen:

# echo "<Text>" | mail -s "<Betreff>" empfänger@domain

Möchten man einen längeren Text schreiben, so wird dieser in eine Textdatei geschrieben und dann so versendet:

# mail -s "<Betreff>" empfänger@domain < <Textdatei>

Möchte man dieses Mail an mehrere Benutzer mit CC senden, so verwendet man die -c Option und listet die Benutzer mit einem Komma abgetrennt auf:

# mail -s "<Betreff>" -c empfänger2@domain,empfänger3@anderedomain empfänger@domain < <Textdatei>

Möchte man nun eine binäre Datei versenden, so muss man diese zuerst mit uuencode umwandeln.

# uuencode <Binärdatei> <Dateiname> | mail -s "<Betreff>" empfänger@domain

Mit folgendem Befehl versendet man einen Text und die binäre Datei.

# (more <Textdatei>; uuencode <Binärdatei> <Dateiname>) | mail -s "<Betreff>" empfänger@domain

Möchte man diese binäre Datei auf der Konsole aus dem E-Mail extrahieren, so verwendet man uudecode:

# uudecode <Pfad zu E-Mai>

Dies entpackt die Datei im aktuellen Verzeichnis mit dem Dateinamen der beim codieren angegeben wurde.

Comments (4)  Permalink

Piepston der tcsh deaktivieren

Um den Piepston der tcsh zu deaktivieren, einfach folgenden Befehl eingeben:

# set nobeep

Möchte man das Piepsen generell ausschalten, kann man diesen Eintrag in die ~/.cshrc eines Benutzers oder in die /etc/csh.cshrc für alle Benutzer eintragen.

Related Entries:
Programm mit which finden
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
 Permalink

Live-CD's mit QEMU emulieren

Falls man eine Live-CD testen möchte, braucht man nicht das ISO-Image runterladen, eine CD brennen, den Rechner neu starten - denn dafür gibt es QEMU.

QEMU kann ganz einfach aus den Ports installiert werden:

# cd /usr/ports/emulators/qemu && make install clean

Um die Geschwindigkeit von QEMU merkbar zu beschleunigen, kann man das QEMU Kernel Modul installieren. Zur Installation werden die Kernel Sourcen benötigt.

# cd /usr/ports/emulators/kqemu-kmod && make install clean

Danach kann das Kernel Modul geladen werden:

# kldload kqemu.ko

Wird QEMU öfter gebraucht, so kann man sich das Kernel Modul auch beim Starten laden, indem man folgende Zeile in der /boot/loader.conf hinzufügt:

kqemu_load="YES"

Wichtig: Wird ein neuer Kernel installiert, so muss man das QEMU Kernel Modul aus dem alten Kernel kopieren, falls man eine gleiche Kernelversion benutzt:

# cp /boot/kernel.old/kqemu.ko /boot/kernel/

Benutzt man einen anderen Kernel, so muss der kqemu-kmod Port neu gebaut werden.

Danach die gewünschte Live-CD herunterladen und diese mit folgendem Befehl starten:

# qemu -cdrom <Pfad zum ISO Image>

Möchte man dem Live-CD System 512MB Arbeitsspeicher zur Verfügung stellen, das Tastaturlayout auf Schweizerdeutsch einstellen und erlauben, dass die Live-CD auch Geräusche von sich geben kann, so verwendet man folgenden Befehl:

# qemu -m 512 -k de-ch -enable-audio -cdrom <Pfad zum ISO Image>

FreeBSD 6.0, auf dem ReactOS 0.2.8 und Knoppix 4.0.2 mit Hilfe von QEMU emuliert werden.

Mit QEMU sind noch ganz viele interessante Sachen möglich, so kann man zum Beispiel ein Windows in einem FreeBSD installieren: http://www.bsdbox.de/?page_id=18 und dieses ins eigene Netzwerk integrieren: http://www.bsdbox.de/?page_id=25

Weitere Informationen zu QEMU unter http://fabrice.bellard.free.fr/qemu/

Comments (1)  Permalink

Port auf einen älteren Stand zurücksetzen mit portdowngrade

Nachdem ich Sunbird auf 0.3a1 aktualisierte, waren alle Termine verschwunden und Sunbird weigerte sich standhaft die Termine zu importieren. Also musste die alte Sunbird Version wieder her.

Deshalb gleich sysutils/portdowngrade installiert:

# cd /usr/ports/sysutils/portdowngrade && make install clean

Sunbird deinstalliert:

# pkg_deinstall -f linux-sunbird

Und dann deskutils/linux-sunbird wieder auf den alten Stand gebracht:

# setenv CVSROOT :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs
# cvs login
Logging in to :pserver:anoncvs@anoncvs2.de.freebsd.org:2401/home/ncvs
CVS password: anoncvs
# portdowngrade linux-sunbird

portdowngrade 0.6 by Heiner Eichmann
Please note, that nothing is changed in the ports tree
unless it is explicitly permitted in step 6!

Seeking port linux-sunbird ... found: deskutils/linux-sunbird

Step 1: Checking out port from CVS repository
CVS root directory (from CVSROOT environment variable): :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs

Step 2: Reading the port history from the CVS repository

Step 3: Analyzing the port history from the CVS repository

Step 4: Load port version numbers and present results
Keys: space : next page d : details
p : previous page
enter : leave presentation and downdgrade if wanted
===================================================================================================================================================================================================
number date portversion comment
1 2005/12/07 13:13:31 0.3a1_1 - Update to 0.3a1
2 2005/06/17 22:59:27 0.2_1 Mega-patch to cleanup the ports infrastructure regarding our linux bits:
3 2005/03/01 22:24:25 0.2 new port: misc/linux-sunbird

Total lines: 3. Command: [Enter]
Enter version number to change port to (0: exit): 2


Step 5: Checking out choosen date of the port from the CVS repository

Step 6: Modifying the port
Port: deskutils/linux-sunbird
at : 2005/06/17 22:59:27
Type 'yes' to bring the port to the state of the date above
or 'no' to exit without changing anything. Note, that this only changes
the port, not the installed software! yes or no:yes

The port has been set to the selected version. Install it if you wish.
If you have portupgrade installed, you should run

portsdb -Uu

now, to see the changes in the ports database. In any case

portupgrade -f linux-sunbird

will install the changed port. Note: if you run cvsup, the port
is changed back to the choosen label!

Danach linux-sunbird wieder installiert und alle Termine waren wieder da.

# cd /usr/ports/deskutils/linux-sunbird && make install clean

UPDATE 05.02.2007:

portdowngrade wurde von sysutils in die neue Kategorie ports-mgmt verschoben. portdowngrade kann nun wie folgt installiert werden:

# cd /usr/ports/ports-mgmt/portdowngrade && make install clean
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
Comments (2)  Permalink
Prev Next81-90/91