Schlagwort ‘BSD‘

FreeBSD: Verschlüsselung

Verschlüsselung ist heutzutage vielerorts kaum noch wegzudenken, insbesondere nicht im mobilen Bereich. Und dennoch sollte man sich überlegen, wo man diese einzusetzen gedenkt. Denn letztendlich gilt: was sind einem die eigenen Daten wert? Eine Verschlüsselung ist immer auch ein guter Weg Daten entgültig zu verlieren. Kristian Köhntopp stellte diesbezüglich einige interessante Aspekte zusammen. Paranoia ist jedenfalls nie ein guter Ratgeber …

In diesem Artikel nun erkläre ich, wie man die home– und swap-Partition unter FreeBSD mittels GELI verschlüsselt. Dazu ist logischerweise eine getrennte home-Partition notwendig, sowie grundlegende Kenntnisse im Umgang mit der Konsole. Das Prozedere selbst ist recht einfach, man initialisiert die entsprechende Partition mit GELI und legt darauf ein Filesystem an. Voreinstellung bei FreeBSD ist XTS-AES, es können jedoch bei der Initialisierung auch andere Algorithmen, Schlüssellängen, etc. genutzt werden, siehe diesbezüglich auch die man-Page zu GELI. ad4p7 ist meine home-Partition, ad4p2 ist mein swap-Bereich, analog muß man dies entsprechend der eigenen Konfiguration anpassen.

GELI selbst muß vor dem Einsatz geladen werden, dies erreicht man, indem man /boot/loader.conf die entsprechende Anweisung hinzufügt: geom_eli_load=«YES».

echo 'geom_eli_load="YES"' >> /etc/boot/loader.conf

dd if=/dev/random of=/root/ad4p7.key bs=64 count=1
geli init -b -K /root/ad4p7.key /dev/ad4p7
geli attach -k /root/ad4p7.key /dev/ad4p7
newfs -U -L homecrypto /dev/ad4p7.eli
mount /dev/ufs/homecrypto /home

 

Mittels dd erzeugt man einen Schlüssel, der unter /root gespeichert wird. Geli init initialisiert den entsprechenden Provider mit diesem Schlüssel, die Option b sorgt dafür, daß das gewählte Passwort beim Bootvorgang abgefragt wird. Mit geli attach schließlich hängt man den Provider ein. Mittels newfs wird ein Filesystem auf dem verschlüsselten Provider erzeugt, in diesem Fall versehe ich diesen mit der Bezeichnung homecrypto. Letztendlich wird der entsprechend präparierte Provider unter home eingehangen.

Bei der Initialisierung wird nach einem Passwort gefragt, welches verifiziert werden muß. Daß der Schutz insbesondere mit der Stärke des Passworts steht und fällt, sollte jedem bewußt sein. Der Schlüssel selbst kann auch auf einem USB-Stick ausgelagert werden, um den Provider einzuhängen bedarf es dann des Passworts und des Schlüssels auf dem USB-Stick. Bei aller Paranoia jedoch sollte eines bedacht werden: geht der USB-Stick verloren oder wird dieser beschädigt, sind alle Daten unwiderruflich verloren!

geli_devices="ad4p7"
geli_ad4p7_flags="-k /root/ad4p7.key"

 

Um dem System mitzuteilen, was es denn genau beim Bootvorgang tun soll, bedarf es einiger Ergänzungen in /etc/rc.conf. Unter geli_devices muß die entsprechende Partition angegeben werden, auf der der Provider erstellt wurde, geli_ad4p7_flag enthält die entsprechenden Optionen — hier, wo sich der Schlüssel befindet.

#home encypted
/dev/ufs/homecrypto /home ufs rw 2 2

#swap encrypted
/dev/ad4p2.eli none swap sw 0 0

 

Dies ist ein Teil von /etc/fstab, in dieser wird der verschlüsselte Provider unter home eingehangen, sowie der swap-Bereich zugewiesen. Letzterer benötigt kein Passwort, da dieser bei jedem Neustart initialisiert wird, Voreinstellung hierbei: AES mit einer Schlüssellänge von 256 bit. Beim Bootvorgang wird nach dem gewählten Passwort gefragt und sofern man keinen Fehler gemacht hat, sollte alles wie gewohnt ablaufen.

 

 

 

, , , , , , , ,

FreeBSD: die Ports

Die FreeBSD Ports sind ein wundervolles Werkzeug im Umgang mit tausenden von Anwendungspaketen und deren Abhängigkeiten. Im Gegensatz zu anderen Systemen, die bei ihrer Fülle an Paketen gerne auch diverse Architekturen bzw. das Userland mitzählen, um eine größere Anzahl Software zu suggerieren, gibt es es bei den FreeBSD Ports nur optionale Software bzw. die Architektur entscheidet sich bei der Übersetzung des Quellcodes.

22772 Ports sind es bis dato, Tendenz steigend. Knapp 834 stehen im Moment auf ignore, d.h. sie werden nicht installiert, 238 von diesen sind tatsächlich kaputt, andere sind nicht wirklich frei ob restriktiver Lizenzen, wiederum andere besitzen bekannte Sicherheitslücken.

Die Vorgehensweise zur Installation von Ports ist recht simpel, man aktualisiert mittels csup oder portsnap den Portstree, navigiert in diesem zur gewünschten Applikation und baut diese mittels make install clean. Etwaige auftretende Dialoge kann man schlicht mit Okay beantworten, außer man weiß was man tut.

portsnap fetch extract

portsnap fetch update

cd /usr/ports/multimedia/mplayer

make install clean

 

In obigem Beispiel wird portsnap als root genutzt, portsnap fetch extract lädt initial einen Schnappschuß des Portstree herunter und entpackt diesen. Ist dies einmal getan, genügt zukünftig ein portsnap fetch update um den Portstree zu aktualisieren. Bei diesem Beispiel wird mplayer installiert, indem man zu dem entsprechenden Verzeichnis navigiert und mittels make install clean den Bau, sowie die Installation initiiert.

Wichtig vor jeder Installation, insbesondere bei einem Update von Software ist ein Blick in /usr/ports/UPDATING, dort finden sich regelmäßig wichtige Hinweise bezüglich etwaiger Fallstricke und wie man diese umgehen kann.

Ein Update per se, ist wie bei obiger Vorgehensweise recht simpel, wiederum navigiert man in das entsprechende Verzeichnis, deinstalliert die Software und installiert diese neu, nachdem der Portstree aktualisiert wurde.

 

portsnap fetch update
cd /usr/ports/multimedia/mplayer
make deinstall clean && make install clean

 

Natürlich ist dies bei entsprechend viel Software und diversen Abhängigkeiten recht aufwendig, insofern greift man gerne zu Hilfsmitteln — ich nutze für diesen Zweck portmaster. Portmaster ist ein Script, welches all die wiederkehrenden Aufgaben übernimmt und den Alltag erheblich erleichtert.

 

portsnap fetch update
cd /usr/ports/ports-mgmt/portmaster && make install clean
portmaster mplayer

 

Diese Vorgehensweise würde den Portstree aktualisieren, portmaster installieren und mit diesem den bereits installierten Port mplayer aktualisieren. Möchte man mplayer initial installieren, so muß man nur ein Teil der Verzeichnisstruktur mit angeben, portmaster multimedia/mplayer. Auch die rekursive Abarbeitung von Updates ist möglich, so daß ebenso alle von diesem Port abhängigen Ports aktualisiert werden.

 

portmaster multimedia/mplayer
portmaster mplayer
portmaster -e mplayer
portmaster -R mplayer
portmaster -L
portmaster -a
portmaster -g

 

portmaster multimedia/mplayer installiert wie bereits erwähnt initial einen Port, portmaster –e mplayer deinstalliert einen Port, portmaster mplayer ohne Angabe eines Unterverzeichnisses aktualisiert einen bereits installierten Port, portmaster –R mplayer aktualisiert ebenso alle von mplayer abhängigen Ports, portmaster –L listet alle installierten Ports sowie etwaige Updates, portmaster –a installiert alle anstehenden Updates, portmaster –g erzeugt ein Paket, welches mittels pkg_add einfach auf anderen Rechnern installiert werden kann. Darüber hinaus findet man in der Manpage zu Portmaster noch allerlei nützliche Funktionalitäten, welche u.a. auch den Umgang mit Paketen erleichtern.

Die Abarbeitung von Ports mittels Tools wie portupgrade bleibt hier unerwähnt, da ich derlei auf Datenbanken basierende Werkzeuge in heutiger Zeit eher als unnötigen Ballast erachte, denn Hilfe. Wer dennoch portupgrade nutzen möchte, der sollte sich für eines von beiden entscheiden. Eine alternierende Anwendung beider Werkzeuge zieht schwerwiegende Probleme nach sich, man sollte dies also tunlichst vermeiden.

Wer darüber hinaus die Lust verspürt eigene Ports zu erstellen bzw. diese zu aktualisieren, der kann sich das FreeBSD Porter-Handbuch zu Gemüte führen.

Viel Spaß :-)

 

 

Bild: Der Bulo

, , , , , , , ,

OpenBSD 4.9 Vorbestellung

 

Musikvideo: Adobe Flash Player (Version 9 oder höher) wird benötigt um dieses Musikvideo abzuspielen. Die aktuellste Version steht hier zum herunterladen bereit. Außerdem muss JavaScript in Ihrem Browser aktiviert sein.

This release the artwork is based on the stories of Douglas Adams, including his favorite number — 42. Therefore we can remember the previous major achievement of CSRG — BSD 4.2.

BSD 4.2 was not free, but it created and integrated so many new technologies that we all depend on today. Take a moment to consider how many things first available in BSD 4.2 you are using at this moment, to read this page — sockets, AF_INET, virtual memory, etc.

Today, new releases of operating systems from well-known vendors contain less new features than BSD 4.2 did.

If only we could stop slacking and make a release like that!

 

Eines der sichersten freien UNIX-Betriebssyteme steht kurz vor einem neuen Release: Version 4.9. Die Vorbestellung ist möglich, OpenBSD erscheint am 01.Mai 2011. Was neu ist kann man im Changelog nachlesen.

, , , , , , , ,

FreeBSD Kernel und Welt

FreeBSD Release ist eine feine Sache, insbesondere für Server, aber auf dem Desktop ist es oftmals von Vorteil Stable zu fahren. Stable ist neben Current einer der Entwicklungszweige von FreeBSD. In Current erfolgt die hauptsächliche Entwicklung, nach einiger Verweildauer dort wird der jeweilige Code «mfced», d.h. «merged from current» und schlägt in Stable auf. Aus Stable werden dann wiederum nach einiger Zeit minor oder major-Releases erstellt, wie zuletzt FreeBSD 8.2 bzw. das kommende FreeBSD 9.0.

Stable ist grob vergleichbar mit Debian Testing, man verfolgt ein ähnliches Prinzip bei der Entwicklung. En detail jedoch scheiden sich die Geister, während Debian durchaus mal desöfteren auch in Testing hinüber ist bzw. diverse Software schlichtweg fehlt ob Fehler, etc. pp., ist FreeBSD Stable weitaus reifer. Die FreeBSD-Entwickler sind deutlich konservativer und nehmen es sehr genau mit der Unterscheidung der einzelnen Zweige. Dennoch sollte man, wie auch bei Debian, die entsprechende Mailingliste abonnieren.

Um nun den Betrieb von Stable aufzunehmen, kann man schlicht ein bisheriges Release aktualisieren oder man fährt mit monatlich erscheinenden Snapshots. Entscheidet man sich für letzteres muß man häufiger neu installieren, bequemer hingegen ist meiner Meinung nach Kernel und Welt neuzubauen. Dazu lädt man den entsprechenden Quellecode herunter, baut die Welt, dann den Kernel und installiert diesen, bootet in den Single User Mode, installiert dort die Welt und bringt mittels mergemaster diverse Konfigurationsdateien auf den neuesten Stand. Letzteres ist für viele wohl die größte Hürde, aber zumindest nur dort, wo selbst Hand angelegt wurde.

Zuvor jedoch muß man noch csup sagen, von welchem Server es den entsprechenden Quellecode herunterladen soll: cp /usr/share/examples/cvsup/standard-supfile /etc danach ändert man folgende Zeile und fügt den Server ein: *default host=CHANGE_THIS.FreeBSD.org — z.B.: *default host=cvsup2.de.FreeBSD.org. Selbstredend muß auch der Release-Tag angepaßt werden. Wir wollen Stable, also muß die entsprechende Zeile wie folgt lauten: *default release=cvs tag=RELENG_8

Nun beginnt der eigentliche Bau von Kernel und Welt (als Root ausgeführt):

csup -L 2 /etc/standard-supfile
cd /usr/src/ && make -j3 buildworld
make -j3 buildkernel installkernel
reboot

 

Die Jobs sollten der eigenen Hardware entsprechend angepaßt werden, wer kein Dualcore etc. besitzt nutzt ein schlichtes make buildkernel installkernel. Beschleunigen kann man das Prozedere indem man tmpfs einsetzt bzw. zukünfigte Bauten von Kernel und Welt seitens ccache beschleunigt.

Nach dem Neustart wählt man den Single User Mode aus und installiert die Welt, sowie die aktualisierten Konfigurationsdateien.

fsck -p
mount -u /
mount -a -t ufs
mergemaster -p
cd /usr/src && make installworld && mergemaster -Ui
reboot

 

Mit fsck –p erfolgt eine kurze Prüfung des Filesystems, dann werden die nötigen Partionen eingehangen. mergemaster –p verarbeitet nur die Konfigurationsdateien, die für die Installation der Welt wichtig sind, make installworld installiert diese und mergemaster –Ui verarbeitet die restlichen Konfigurationsdateien.

Nach einem erneuten Neustart wird wieder in den Single User Mode gestartet und aufgeräumt.

fsck -y
mount -u /
mount -a -t ufs
cd /usr/src && make clean && reboot

 

Danach steht das aktualisierte System. Die Vorgehensweise mag ein wenig übervorsichtig wirken, andere vollziehen die Installation der Welt ohne den Single User Mode, aber mir ist es derart lieber. Schließlich baue ich Kernel und Welt nicht täglich neu, je nach Zeit bei interessanten Updates, mindestens jedoch monatlich.

Wer sich hingegen nicht mit Mergemaster in der Konsole zu helfen weiß, der sollte entweder den Weg über Snapshots gehen oder weiterhin das aktuelle Release nutzen. Zu schnell kann das System bei unachtsamer Bedienung «unbenutzbar» werden. Ansonsten, viel Spaß :-)

 

Bild: Der Bulo

, , , , , , , , , , ,

Firefox 4 und FreeBSD

Firefox 4 ist in aller Munde und für Windows bzw. Linux findet man auch entsprechende Pakete online. Anders schaut es hierbei bei FreeBSD aus, wer da die Vorzüge der vierten Version genießen möchte, der muß selbst Hand anlegen. Zumindest wenn man ein 64Bit System sein eigen nennt, kann man auf ein vorkompiliertes Paket zurückgreifen, dieses findet man auf bsdforen.de. Ein pkg_add name_des_pakets.tbz installiert dieses dann bzw. verweist auf fehlende Abhängigkeiten, die dann noch zuvor installiert werden müssen.

An alle anderen richtet sich diese Anleitung, wobei die Erstellung keine Hexerei ist, man muß nur den Port herunterladen, ein make install initiieren und ein wenig warten. Voraussetzung ist ein installiertes FreeBSD Betriebssystem mit X und devel/subversion.

Als erstes installiert man subversion, entweder indem man in das entsprechende Verzeichnis navigiert und mittels make install den Bau startet oder seitens portmaster devel/subversion. Nach der Installation von subversion lädt man den Port herunter  svn co https://trillian.chruetertee.ch/svn/freebsd-gecko/branches/experimental/www/firefox/ wechselt in das Verzeichnis von firefox, startet mittels make install den Bau des Ports und kann im Prinzip beim darauffolgenden Dialog alles auf default belassen. In der Zwischenzeit dürfte ein Tee, sowie eine Zeitung sicherlich die dahinschwindende Zeit gepflegt überbrücken.

 

Zusammenfassung (Befehle als root ausgeführt):

cd /usr/ports/devel/subversion && make install clean

cd /usr/ports/www

svn co https://trillian.chruetertee.ch/svn/freebsd-gecko/branches/experimental/www/firefox/

cd firefox-devel && make install clean

 

 

 

 

Bild: F!XMBR, Quellen: Foxkeh und FreeBSD

, , , , , , , , , , ,

FreeBSD 8.2 Release

FreeBSD 8.2, welches schon seit knapp einer Woche auf den Mirrors anzufinden ist, wurde nun auch offiziell angekündigt. Wer bereits eine Beta einsetzt, der kann entweder Kernel und Welt neubauen oder greift zum binären Update. Alle anderen greifen zu Bittorrent oder einem der vielfältigen Mirrors. Was u.a. neu ist, dies findet man en detail in den Release Notes. Ansonsten gibt es ein paar Highlights zu nennen:

  • Xen HVM support in FreeBSD/amd64 and Xen PV support in FreeBSD/i386 improved
  • ZFS on-disk format updated to version 15
  • aesni(4) driver for Intel AESNI crypto instruction set
  • BIND and OpenSSL updates
  • Gnome updated to 2.32.1
  • KDE updated to 4.5.5
  • Many misc. improvements and bugfixes

Zugleich erschien übrigens auch PC-BSD 8.2, welches quasi ein für den Desktop vorkonfiguriertes FreeBSD darstellt.

FreeBSD ist ein freies UNIX-Derivat, mit einer mehr als 30jährigen Geschichte.

, , , , , , , ,

FreeBSD 8.2 RC3

Author: kensmith
Date: Sat Jan 29 15:56:40 2011
New Revision: 218071
URL: http://svn.freebsd.org/changeset/base/218071

Log:
Ready for 8.2-RC3.

Approved by: re (implicit)

Modified:
releng/8.2/sys/conf/newvers.sh

via FreeBSD-ML

Wie man sieht wurde vor dem Release noch ein dritter Testkandidat eingeschoben, insofern wird man wohl eher Mitte/Ende Februar mit dem finalen FreeBSD 8.2 rechnen können. Notwendig wurde dieser dritte Testkandidat ob diverser noch angefallener Bugfixes.

Die offizielle Ankündigung erfolgte noch nicht, da aber die Images von FreeBSD 8.2 RC3 bereits auf den meisten Spiegeln vorhanden sind, u.a. dort, kann man auch darauf hinweisen. Zudem werden ohnehin viele mittels Quellcode-Update bereits auf dem aktuellen Stand sein.

Bild: beetlebum

, , , , , , , ,

Dr. Kirk McKusick: A Narrative History of BSD

Ein knapp einstündiger Vortrag von Dr. Marshall Kirk McKusick.

Zusätzliche Informationen:

, , , , , , , , , , , , , ,

FreeBSD 8.2 RC2

FreeBSD 8.2 steht vor der Tür und inzwischen ist der zweite und voraussichtlich letzte Release Candidate erhältlich. Man findet diesen auf den üblichen Spiegeln, in Form einer DVD oder eines Abbilds für den USB-Stick. Sollte alles gut gehen, dürfte das Release ca. Ende Januar, Anfang Februar erscheinen.

Was noch aussteht, kann man im FreeBSD-Wiki nachlesen, bei Problemen etc. sollte man sich auf den entsprechenden Mailinglisten melden oder einen PR senden.

FreeBSD ist ein freies UNIX-Derivat, mit einer mehr als 30jährigen Geschichte.

, , , , , , ,

Desktop on the Linux… (and BSD, of course)

«Desktop on the Linux… (and BSD, of course)», datenwolf, 27C3

Time to take a look back and under the hood of the current state of FOSS based desktops: The Good, The Bad and The Ugly – Bloat, strange APIs, too much complexity.

A nice talk about the sorry state of the «UNIX»-desktop.

, , , , , , , ,

FreeBSD 8.2 RC1

FreeBSD 8.2 steht vor der Tür und ist inzwischen als erster Release Candidate zu haben. Man findet diesen auf den üblichen Spiegeln, in Form einer DVD oder eines Abbilds für den USB-Stick. Sollte alles gut gehen, dürfte das Release ca. Anfang Februar erscheinen.

Was noch aussteht, kann man im FreeBSD-Wiki nachlesen, bei Problemen etc. sollte man sich auf den entsprechenden Mailinglisten melden oder einen PR senden.

FreeBSD ist ein freies UNIX-Derivat, mit mehr als einer 30jährigen Geschichte.

, , , , ,

RSS-Feed abonnieren