IT security, FreeBSD, Linux, mail server hardening, post-quantum crypto, DNS, retro computing & hands-on hardware hacks. Privater Tech-Blog seit 2003.

Schlagwort: Networking (Seite 10 von 12)

Ejabberd Dualstack IPv4 und IPv6

Wie so oft führen viele Wege nach Rom. Damit Ejabberd auf der IPv4 und den IPv6 Adressen gleichzeitig lauscht hat sich für mich folgender als gut erwiesen:

In der Konfigurationsdatei: /etc/ejabberd/ejabberd.cfg

Im Abschnitt Listening Ports einfach in die Portkonfiguration inet4 sowie inet6 aufnehmen:

{5222, ejabberd_c2s, [
                        inet4,
                        inet6,
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
                        %%zlib,
                        starttls, {certfile, "/etc/ejabberd/ejabberd.pem"}
                       ]},

Schon arbeitet Ejabberd mit beiden:

# netstat -an|grep 5222
tcp6       0      0 :::5222                 :::*                    LISTEN     
tcp6       0      0 *:5222                 *:*                    LISTEN    


Ach ja, Ejabberd Version ist gerade: 2.1.5

Fragen? Einfach melden.

Wechsel von Openfire zu Ejabberd

Ich betreibe nun schon seit…. Oha…. Seit langem 🙂 einen eigenen Jabber-Server.

Jetzt ist das Teil alles andere als ein großes System mit mehreren tausend Usern. Er wird genutzt von der Familie, ein paar Freunden und Bekannten. Mehr sollte und soll es auch nie werden. Vor knapp zwei Jahren habe ich auf Openfire gesetzt. Openfire bietet eine recht ausgereifte klickibunti Oberfläche. Leider kamen in der letzten Zeit immer mal wieder nervige Bugs hinzu.  

Zum einen ist kein Paket für meine Umgebung dabei. Also muss ich das Ding immer von Hand reinwursten. Dann hat es mich einiges an Überzeugungsarbeit gekostet das Openfire nicht als root laufen will, wer will schon Software als root ausführen? Dann waren da noch ein paar Bugs bezüglich SSL in der Server zu Server Kommunikation und diesen nervigen Dialback errors…..  Nun scheint die aktuelle Version: 3.7.1 sowie auch das nightly build 2011-12-21 ein Problem mit IPv6 und DNS zu haben. So genau bin ich auch jetzt nicht dahinter gekommen.  

Wie auch immer!
Das Kraken – IM Gateway scheint leicht eingeschlafen zu sein, Openfire selbst ist in seiner Weiterentwicklung auch etwas seltsam. Vielleicht hat das Projekt geforkt und ich habe es verpasst? Ist ja auch schon vorgekommen, zuletzt verpasste ich StarOffice zu OpenOffice (peinlich peinlich). Da mir nun drei mal ein Bug bei Openfire so vor das Scheinbein getreten hat, dass keine nutzbare Funktion von Jabber übergeblieben ist (zumindest so wie ich sie mir vorstellen, also mit IPv6 und Verschlüsselung. Habe ich mich dazu entschieden zu Ejabberd zu wechseln.

Ejabberd hat fertige Pakete für meine Umgebung im Repository. Somit kann ich auch auf einfache Sicherheitsupdates hoffen. Transporter für ICQ / MSN… sind selbstverständlich überhaupt kein Problem und da Facebook (Familie ihr wisst schon….) direkt per Jabber erreichbar ist, ist alles gut 🙂

Meine paar Konten habe ich recht schnell aus Openfire und in Ejabberd bekommen. Nun läuft mein Messanger also über Ejabberd.

2012.05.03 13:40:26 org.jivesoftware.openfire.session.LocalOutgoingServerSession - Error authenticating domain with remote server: domain.org
java.lang.NumberFormatException: For input string: "4860:4860::8888"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:458)
    at java.lang.Integer.parseInt(Integer.java:499)
    at com.sun.jndi.dns.DnsClient.<init>(DnsClient.java:105)
    at com.sun.jndi.dns.Resolver.<init>(Resolver.java:44)
    at com.sun.jndi.dns.DnsContext.getResolver(DnsContext.java:553)
    at com.sun.jndi.dns.DnsContext.c_getAttributes(DnsContext.java:413)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(ComponentDirContext.java:213)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:121)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:109)
    at javax.naming.directory.InitialDirContext.getAttributes(InitialDirContext.java:123)
    at org.jivesoftware.openfire.net.DNSUtil.srvLookup(DNSUtil.java:199)
    at org.jivesoftware.openfire.net.DNSUtil.resolveXMPPDomain(DNSUtil.java:131)
    at org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSession(LocalOutgoingServerSession.java:269)
    at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain(LocalOutgoingServerSession.java:167)
    at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPacket(OutgoingSessionPromise.java:261)
    at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:238)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)

Fragen? Einfach melden.

Evolution merkt sich die Einstellungen der Zertifizierungsstellen nicht

Ich nutze Evolution als E-Mail Client. In den Zertifikatseinstellungen habe ich unter Zertifizierungsstellen auch eine ganze Latte von CAs. Ich kann auch welche hinzufügen und entfernen alles kein Problem.

Will ich aber deren Einstellung bearbeiten, sprich für welche Dinge ich dieser CA vertrauen möchte bleiben diese Einstellungen nur immer für die aktuelle Sitzung gespeichert. Schließe und Starte ich Evolution wieder sind die Einstellungen alles wieder weg 🙁 Das ist doof!

Wer sucht, der findet einen Workaround……..

Das Problem ist wohl dass Evolution aus irgendwelchen Gründen die cert9.db / key4.db unter ~/.pki/nssdb nicht updatet.

So kann ich mir anschauen was bei mir eingetragen ist:

$ certutil -L -d sql:/home/kernel/.pki/nssdb/

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

StartCom Ltd. ID von Sebastian Van De Meer                   u,u,u
StartCom Class 2 Primary Intermediate Client CA - StartCom Ltd. ,,   
CA Cert Signing Authority - Root CA                          ,,   
CAcert Class 3 Root - Root CA                                ,,   
StartCom Class 1 Primary Intermediate Client CA - StartCom Ltd. ,,   
StartCom Certification Authority - StartCom Ltd.             ,,   
StartCom Ltd.                                                ,,   
StartCom Certification Authority                             ,,   
......

Und so verpasse ich den einzelnen Zertifikaten die passenden „Verwendungsmöglichkeiten“:

$ certutil -M  -n "CA Cert Signing Authority - Root CA"  -t "TCu,Cu,TCuw" -d sql:/home/kernel/.pki/nssdb/

Am Ende schaut es nun so aus (ich mache mir dann noch mal nen Kopf ob es so auch sinnig ist):

$ certutil -L -d sql:/home/kernel/.pki/nssdb/

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

StartCom Ltd. ID von Sebastian Van De Meer                   u,u,u
StartCom Class 2 Primary Intermediate Client CA - StartCom Ltd. CT,C,C
CA Cert Signing Authority - Root CA                          CT,C,C
CAcert Class 3 Root - Root CA                                CT,C,C
StartCom Class 1 Primary Intermediate Client CA - StartCom Ltd. CT,C,C
StartCom Certification Authority - StartCom Ltd.             C,C,C
StartCom Ltd.                                                C,C, 
StartCom Certification Authority                             C,C,C
......

Auf meine Openindiana Kiste musste ich dafür noch folgendes Paket installieren:

system/mozilla-nss

Und wegen des Bugs #1739 certutil with incomplete runpath musste ich noch folgenden Workaround dafür einwerfen:

$ elfedit -e 'dyn:runpath $ORIGIN/../lib:/usr/lib/mps' /usr/sfw/bin/certutil

Jetzt macht zwar Evolution nicht die Arbeit aber mein Wunsch ist erfüllt. Ob ich da mal nen Bug bei den Jungs aufmache?

So long…

Siehe auch: S/MIME per DNS mit SMIMEA

Fragen? Einfach melden.

ZFS iSCSI-Target mit COMSTAR auf OpenIndiana einrichten

COMSTAR (Common Multiprotocol SCSI Target) ist das Framework in Solaris/OpenIndiana, das iSCSI, FC und FCoE unter einem Dach vereint. Es ersetzt den alten iSCSI Target Daemon aus Solaris 10. Hier die Einrichtung eines iSCSI-Targets auf Basis eines ZFS-Volumes für einen Windows-Initiator.

ZFS-Volume anlegen

Zuerst einen eigenen Pool und darin ein ZFS-Volume mit fester Größe erstellen — das Volume wird später die LUN:

zpool create iscsi-target-pool c4t2d0

zfs create -V 10g iscsi-target-pool/iscsi_10gb-lun01
zfs list iscsi-target-pool/iscsi_10gb-lun01
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
iscsi-target-pool/iscsi_10gb-lun01    10,3G  19,6G    16K  -

Die feste Größe (-V 10g) ist wichtig — sonst würde die Poolgröße das Target begrenzen, und bei mehreren Targets im selben Pool wird es unübersichtlich.

COMSTAR-Dienste starten

Das SCSI Target Mode Framework (STMF) aktivieren:

svcadm enable stmf
svcs stmf
STATE   STIME    FMRI
online  13:02:50 svc:/system/stmf:default

stmfadm list-state
Operational Status: online
Config Status     : initialized

Das iSCSI-Target-Paket installieren und den Dienst starten:

pkg install /network/iscsi/target

svcs iscsi/target
STATE   STIME    FMRI
online  13:23:56 svc:/network/iscsi/target:default

Logical Unit erstellen

Eine LUN auf Basis des ZFS-Volumes anlegen:

sbdadm create-lu /dev/zvol/rdsk/iscsi-target-pool/iscsi_10gb-lun01
Created the following LU:

GUID                             DATA SIZE     SOURCE
-------------------------------- ------------- ----------------
600144f051c247000000523ed0050001 10737418240   /dev/zvol/rdsk/iscsi-target-pool/iscsi_10gb-lun01

Prüfen ob die LUN online ist:

stmfadm list-lu -v
LU Name            : 600144F051C247000000523ED0050001
Operational Status : Online
Provider Name      : sbd
Alias              : /dev/zvol/rdsk/iscsi-target-pool/iscsi_10gb-lun01
Data File          : /dev/zvol/rdsk/iscsi-target-pool/iscsi_10gb-lun01
Size               : 10737418240
Block Size         : 512

Damit der Initiator die LUN sehen kann, einen View erstellen:

stmfadm add-view 600144F051C247000000523ED0050001
stmfadm list-view -l 600144F051C247000000523ED0050001
View Entry: 0
  Host group   : All
  Target group : All
  LUN          : 0

iSCSI-Target anlegen

Zwischenstand:

  • STMF und iSCSI-Target-Dienst laufen
  • 10 GB ZFS-Volume als LUN angelegt
  • View erstellt, damit Initiatoren die LUN sehen

Fehlt noch das Target selbst:

itadm create-target
Target iqn.2010-09.org.openindiana:02:6c3939bf-f5e5-4f28-a8d0-d0f0bbb2e1c4 successfully created

itadm list-target -v
TARGET NAME                                                          STATE   SESSIONS
iqn.2010-09.org.openindiana:02:6c3939bf-f5e5-4f28-a8d0-d0f0bbb2e1c4 online  0
  alias:             -
  auth:              none (defaults)
  targetchapuser:    -
  targetchapsecret:  unset
  tpg-tags:          default

Zum Schluss sicherstellen, dass das Target im Discovery auftaucht:

devfsadm -i iscsi

Windows-Initiator verbinden

Auf der Windows-Seite den eingebauten Microsoft iSCSI-Initiator öffnen (ab Windows 7 vorinstalliert):

  • Portal über die IP-Adresse des OpenIndiana-Hosts ermitteln lassen
  • Das Ziel suchen und verbinden
  • Die neue Festplatte in der Datenträgerverwaltung initialisieren und ein Volume erstellen
Screenshot der Windows Fehlermeldung: You do not have permission to update Windows.Screenshot der Windows Fehlermeldung: Setup could not find the update.inf file.Screenshot des Windows iSCSI-Initiators mit der Zielportal-Einstellung.Screenshot des Windows iSCSI-Initiators mit dem erkannten Ziel.
Screenshot des Windows iSCSI-Initiators beim Verbinden mit dem Ziel.Screenshot des Windows iSCSI-Initiators mit der Volumeliste.Screenshot der Windows Datenträgerinitialisierung mit dem erkannten iSCSI-Datenträger.Screenshot der Windows Datenträgerverwaltung mit dem fertig konfigurierten COMSTAR SCSI Device.

Mehr zu ZFS: ZFS Compression und Deduplication. Fragen? Einfach melden.

ZFS SMB-Freigaben unter Solaris/OpenIndiana mit sharesmb einrichten

Hinweis: Dieser Artikel beschreibt SMB-Freigaben mit dem eingebauten SMB-Server von Solaris/OpenIndiana. Unter FreeBSD und Linux nutzt man stattdessen Samba — dort wird sharesmb nicht unterstützt.

SMB-Server einrichten

Die SMB Server Kernel-Komponenten installieren:

pkg install SUNWsmbskr

Damit lokale Benutzer sich per Benutzername und Passwort authentifizieren können, das PAM-Modul in /etc/pam.conf eintragen:

other password required pam_smb_passwd.so.1 nowarn

SMB-Server starten und prüfen:

svcadm enable -r smb/server

svcs smb/server
STATE   STIME    FMRI
online  20:11:41 svc:/network/smb/server:default

In die gewünschte Workgroup eintreten:

smbadm join -w WORKGROUP
After joining WORKGROUP the smb service will be restarted automatically.
Would you like to continue? [no]: yes
Successfully joined WORKGROUP

ZFS-Freigabe erstellen

Ein neues ZFS-Dataset anlegen und direkt per SMB freigeben — ein einziges Property reicht:

zfs create rpool/daten-freigabe

zfs set sharesmb=on rpool/daten-freigabe

zfs get sharesmb rpool/daten-freigabe
NAME                 PROPERTY  VALUE  SOURCE
rpool/daten-freigabe sharesmb  on     local

Das war es. Das Dataset ist jetzt als SMB-Share im Netzwerk sichtbar. Kein Samba, keine smb.conf — der Kernel-SMB-Server von Solaris arbeitet direkt mit ZFS zusammen. Alle ZFS-Features (Snapshots, Compression, Quotas) gelten für die Freigabe genauso wie für jedes andere Dataset.

Zugriff

Von einem Windows-Client aus die Freigabe über \\hostname\daten-freigabe erreichen. Die Authentifizierung läuft über die lokalen Unix-Benutzer — das PAM-Modul synchronisiert die Passwörter automatisch.

Mehr zu ZFS: ZFS Compression und Deduplication. Fragen? Einfach melden.

ZFS NFS-Freigaben unter Solaris/OpenIndiana mit sharenfs einrichten

ZFS bringt NFS-Freigaben als eingebaute Funktion mit — kein separater NFS-Server nötig, ein einziges Property reicht. Das funktioniert unter Solaris, OpenIndiana und teilweise auch unter FreeBSD.

NFS-Freigabe erstellen

Dataset anlegen und per NFS freigeben:

zfs create rpool/daten

zfs set sharenfs=on rpool/daten

zfs get sharenfs rpool/daten
NAME        PROPERTY  VALUE  SOURCE
rpool/daten sharenfs  on     local

Das war es. Das Dataset ist jetzt per NFS im Netzwerk verfügbar — für alle Clients, ohne Einschränkung.

NFS-Optionen

Statt on lassen sich die üblichen NFS-Optionen direkt im Property angeben — zum Beispiel Zugriff nur für ein bestimmtes Subnetz:

# Nur Lesen/Schreiben für ein Subnetz
zfs set sharenfs="rw=@192.168.1.0/24" rpool/daten

# Nur Lesen für alle, Schreiben für ein Subnetz
zfs set sharenfs="ro,rw=@10.0.0.0/8" rpool/daten

# Freigabe prüfen
share -F nfs

Auf dem Client mounten:

mount -t nfs server:/rpool/daten /mnt/daten

Portabilität

Ein netter Nebeneffekt: ZFS-Properties wandern mit dem Pool. Exportiert man den Pool und importiert ihn auf einem anderen System, ist die NFS-Freigabe sofort wieder aktiv:

# Pool exportieren (z.B. vor dem Umstecken einer USB-Platte)
zpool export nfs-share

# Auf einem anderen System importieren — Share ist sofort da
zpool import nfs-share

Alle ZFS-Einstellungen — Compression, Quotas, Snapshots, Freigaben — bleiben erhalten. Für SMB-Freigaben statt NFS siehe ZFS SMB-Freigaben mit sharesmb. Mehr zu ZFS: ZFS Compression und Deduplication. Fragen? Einfach melden.

Solaris ipadm

Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. Wer heute einen Unix-ähnlichen Server betreiben will, ist mit FreeBSD oder Linux besser bedient.

Der OpenSolaris fork Openindiana und die feste IP-Adresse (static IP-Adress)

Solaris war auf den ersten Blick noch nie so richtig einfach in Sachen IP-Adressen. Auf den zweiten Blick finde ich es aber logischer als bei allen anderen! Wie auch immer, die Meinungen gehen hier wohl auseinander.

Ab OpenSolaris dem SolarisExpress 11 also grob dem aktellen Solaris 11 hat sich etwas hinsichtlich des Netzwerkes geändert. Openindiana ist nun daraus hervorgegangen also muss man dieses hier auch beachten 🙂

So wie der Befehl ifconfig unter Linux von ip abgelöst wird, sieht es wohl unter Solaris mit ipadm aus!

Ich mache es einfach mal ganz kurz und schmerzlos:

Als erstes muss nwam (Network Auto-Magic) deaktiviert werden:

$ svcadm disable svc:/network/physical:nwam
$ svcadm enable svc:/network/physical:default

Dann listen wir uns mal kurz alle Netzwerkinterfaces auf:

$ ipadm show-if -o all
IFNAME     CLASS    STATE    ACTIVE CURRENT       PERSISTENT OVER
lo0        loopback ok       yes    -m46-v------  46--       --
net0       ip       ok       yes    bm46--------  ----       --

Schon können wir die feste IP 192.168.1.10 mit der Netmask 255.255.255.0 dem Interface net0 zuteilen:

$ ipadm create-addr -T static -a 192.168.1.10/24 net0/v4

Damit unsere IP-Pakete später den Weg ins „Internet“ finden benötigen wir noch die Defaultroute zum Router:

$ route -p add default 192.168.1.254

Jetzt noch schnell den System mitteilen wie es mit DNS Auflösungen umzugehen hat:

$ cp /etc/nsswitch.dns /etc/nsswitch.conf

Fehlen nur noch die zu fragenden Nameserver:

$ echo "nameserver 192.168.1.254" > /etc/resolve.conf
$ echo "nameserver 8.8.8.8" >> /etc/resolve.conf

Achtung, 8.8.8.8 ist google. Aber wem schreibe ich dieses und wer macht schon ungeprüftes Copy & Past?

Damit hat unsere Kiste also nun die IP Adresse: 192.168.1.10/24 fragt erst den DNS Server 192.168.1.254 und dann den DNS Server 8.8.8.8. Den Weg aus seinem eigenen Subnetz findet die Kiste über den Router 192.168.1.254

Noch Fragen?

Openindiana

Veraltet: OpenIndiana als Solaris-Fork wird kaum noch produktiv eingesetzt. Wer ein robustes Unix-System mit ZFS sucht, ist mit FreeBSD besser bedient.

Der OpenSolaris fork Openindiana

Openindiana ist ein fork von OpenSolaris. OpenSolaris ist wiederum die von SUN unter der CDDL freigegebene Version ihres Betriebssystems Solaris. Seit meiner Ausbildung hänge ich immer irgendwie mit einem Bein im Solaristopf. Ich komme einfach nicht von diesem OS weg. Was wohl daran liegt das ich es auch nicht möchte. Denn es ist ein sehr schönes OS 🙂 Zusätzlich ist der default Unterbau seit längerem schon das Dateisystem ZFS. opensolaris solaris openindiana ZFS ist nun schon ein paar Jahre alt, denn noch habe ich bisher noch kein Dateisystem gefunden welches im wirklich das Wasser reichen kann. Hier und da in Detailvergleichen, keine Frage aber alles in allem „no way“. Bei seiner Einführung hat SUN etwas von unkaputtbar erzählt. Titanic lässt grüßen? Auf keinen Fall… Ich habe es noch nicht geschafft ein ZFS zu zerlegen. Egal wie oft der Strom ausfällt oder der Rechner einen Reset bekommt. Ohne Hammer bzw. echten Hardwaredef. läuft das System einfach weiter. Wie auch immer…. Vor ein paar Tagen ist nun die Entwicklerversion oi_151a erschienen. Die Version 148 war schon viel versprechend. Diese Version lief auch immer im Dualboot neben meinem Gentoo. Da sie denn noch viel Schleifarbeit an vielen Stellen braucht hatte sie eher ein passives leben 🙁 Dieses hat sich jetzt nach einem kurzen Test geändert. Gentoo verschwindet in eine Virtualbox VM auf dem Solarissystem und dann geht es los. Ich liste in laufe der Zeit mal in einem Untermenü auf was mir so aufgefallen ist bzw. was anderen vielleicht weiterhelfen könnte. OpenIndiana der fork von OpenSolaris und Solaris? Ja und nein, denn Sun hat sein Verspechen, die OpenSolaris-Entwicklung für die Gemeinschaft zu öffnen, nicht eingehalten hat und da Oracle nach der Übernahme von Sun zunehmend Teilprojekte einstellte, haben Mitglieder der OpenSolaris-Entwickler-Gemeinschaft am 3. August 2010 die Gründung des Projektes Illumos zur Entwicklung eines wirklich freien Open-Source-Solaris bekanntgegeben. OpenIndiana hat nun diese Basis. Ich hatte auf einer meiner Maschinen ein kleines Problem mit der LiveCD. Diese bliebt beim booten einfach hängen und dieses ohne erkennbaren Grund. Zumindest konnte ich auf den Konsolen nichts erkennen und einen Logfile gibt es so ja erstmal nicht :-/ Bei einem Linux Live System würde man ja nun erstmal Kernel Optionen wie: noacpi / noapic / acpi=off oder so ein Geschlönz probieren, aber hier???? Ich habe im Zusammenhang mit der OpenIndiana LiveDVD ein paar Bugs und Probleme im Zusammenhang mit USB gelesen. Hier scheint das System noch etwas „anfällig“ zu sein 🙁 Wie auch immer nach einigen Tests viel mit nichts besseres mehr ein als einfach den USB-Kontroller im BIOS zu deaktivieren. Nur um das USB-System auszuschließen versteht sich… Tja, was soll ich sagen? USB im BIOS ausschalten und LiveDVD (der OpenIndiana Live USB-Stick ist dann natürlich nutzlos) einlegen. Schon versagen ordnungsgemäß USB-Tastatur und USB-Maus ihren Dienst, OpenIndiana Bootet aber sauber hoch. Spannenderweise erkennt das gebootete System den USB-Kontroller wieder und somit auch Maus, Tastatur oder sonstige USB-Sticks. Dieses Verhalten führte zwar bei mir zu etwas Stirnrunzeln, bringt mir denn noch ein funktionierendes System.

Oracle Solaris 11

Oracle hat Solaris 11 herausgegeben. Im direkten Vergleich zu OpenIndiana gibt es dann doch einige Unterschiede. Vor allem hinsichtlich Zonen, Netzwerk, den erweiterten Möglichkeiten der höheren ZFS Version und noch vieles mehr…. Einiges hier wird sich daher etwas mischen. Auf was es sich jeweils bezieht werde ich jeweils aufführen.

StartSSL

Veraltet: StartSSL/StartCom wurde 2017 von allen Browsern als nicht mehr vertrauenswürdig eingestuft und hat den Betrieb eingestellt. Für kostenlose Zertifikate nimmt man heute Let’s Encrypt.

StartCom ist ein Unternehmen, das Software herstellt und als Zertifizierungsstelle digitale Zertifikate ausstellt. Seit Februar 2005 ist das Unternehmen als Zertifizierungsstelle tätig. Das bekannteste Produkt ist das kostenlose Class 1 X.509 SSL-Zertifikat „StartSSL Free“, das sowohl für Webserver (SSL/TLS) als auch für die E-Mail-Verschlüsselung (S/MIME) eingesetzt werden kann. Außerdem werden Class 2 Zertifikate und Extended-Validation-SSL-Zertifikate ausgestellt, für die eine kostenpflichtige Validierung Voraussetzung ist. StartCom-Zertifikate werden von allen modernen Browsern akzeptiert: Mozilla Firefox unterstützt sie schon ab Version 2.0, Opera seit Juli 2010, Apple Mac OS X ab Version 10.5 (Leopard) und Microsoft Windows seit September 2009; Apple Safari, Internet Explorer und Google Chrome greifen auf den Zertifikatspeicher des Betriebssystems zurück.

Das kostenlose Class1 Zertifikat stellt nur sicher das der angegebene Domainname existiert und anscheinend dem Halter des StartCom Accounts gehört. Aus diesem Grund findet sich natürlich auch nur der Domainname im Zertifikat. Wer seinen Namen auch noch im Zertifikat hinterlegen möchte kann dieses denn noch auf einem kostenlosen Weg schaffen. Ähnlich CAcert setzt StartCom auf das Prinzip des Web of Trust (wot). Es gibt bei StartCom ehrenamtliche Notare. Jeder Inhaber eines StartCom Accounts kann sich von diesen verifizieren lassen. Dazu findet sich im Webinterface des eigenen Accounts auf der Seite unter StartSSL WoT ==> WoT Netzwerk der Punkt Notarsucher. Hier findet sich über die Eingabe des eigenen Wohnortes oder halt der nächsten größeren Stadt schnell ein solcher Notar.

Wurde man von mindestens zwei dieser Notare bestätigt, kann man seinen Namen mit ins Zertifikat aufnehmen.

Eine solche Bestätigung findet immer über ein persönliches Treffen mit dem Notar statt. Bei diesem Treffen prüft der Notar anhand von zwei amtlichen Lichtbildausweisen ob der Name im Account mit dem auf den Ausweisen identisch ist.

Da die Root-Zertifikate dieser Zertifizierungsstelle bereits in den meisten großen Browsern und Betriebssystemen enthalten sind, kommt es bei diesen Zertifikaten (anders als bei z.B. CAcert.org) nicht zu „Fehlermeldunge“ bzw. Warnmeldungen im Zusammenhang mit den Zertifikaten. Vor allem dieser Umstand und natürlich da es kostenneutral ist, würde ich StartCom x.509 Zertifikate als einen optimalen Einstieg in diesen Themenbereich nennen können. Wer am Ende mehr will, wie eine Class 2 Zertifizierung oder bis hin zum Class 3 Zertifikat für Unternehmen, kann dieses schnell und günstig weiterführen. Wem das Class 1 Zertifikat ausreicht, dem stehen direkt nach der erfolgreichen Anmeldung schon fast alle Möglichkeiten der E-Mail Signatur / Verschlüsselung sowie SSL/TLS Verschlüsselte Serververbindungen offen.

Ich selbst bin bei StartSSL Notar und wie bei GPG / PGP oder CAcert.org bestätige ich auch hier gerne Identitäten auf Anfrage.

USB-Surfstick O2 ZTE MF190 und Gentoo

Ich bin nur sehr selten an einem Ort, an welchem ich keine Internetverbindung nutzen kann. Noch seltener würde ich genau dann eine Internetverbindung benötigen. Wenn es dann aber so ist, dann benötige ich sie wirklich!

Nun komme ich in der letzten Zeit immer mal wieder an diese Stelle und ärgere mich. Oft ist zwar ein Kollege oder Bekannter in der Nähe, mit so einem feinen Android Mobiltelefon, nur hilft mir dieses beim Arbeiten auf einer SSH-Shell weniger. Ja, es geht aber wirkliches Arbeiten geht nicht… Zudem bin ich ein Mensch der seinen Windowmanager benutzt, sprich viele offene Fenster. Auf so einem kleinen Mobilding ist mir mehr als eine kurze E-Mail oder etwas Google klicker klacker einfach zu aufwändig.

Das Handy also als Modem mit dem Rechner verbinden? So selten wie ich es im Moment benötige, mich direkt 1 Jahr an einen 20€/Monat Tarif meines Anbieters zu binden? Ne, so geht das nicht….

Vor kurzem war ich nun im Blödmarkt unterwegs. Da lagen in der Grabbelkiste so 15 Euronen O2 Prepaid USB-Sticks.

Dem etwas überforderten Fachberater für die Dinger konnte ich mit etwas Mühe die Information entlocken, dass ich über dieses Angebot „echtes“ Internet erhalte. Damit ist gemeint, dass ich SSH-Sessions auf beliebigen Ports öffnen kann und auch mein IPv6 Tunnelbroker funktionieren sollte. ….Nebenbei, habt ihr im Blödmarkt mal gefragt ob ihr über was auch immer eine Verbindung zu einen IPv6 Tunnelbroker aufbauen könnt? Macht mal, ist lustig.

HTTP / SMTP / IMAP mit und ohne SSL/TLS alles kein Problem!

Mit der 5 Tage x 3,50€ = 17,50€ Sollte einem Test nichts im Wege stehen. Keine Grundgebühr oder sonstige laufenden Kosten… Ich brauche es nicht, ich zahle es nicht. Wenn ich also feststelle das ich es doch oft und gut nutze, so dass sich einer der Knebelverträge des Anbieters meines Vertrauens lohnen würde, dann kann ich das Teil wegwerfen und mich bewusst knebeln lassen. Anderweitig habe ich eine tolle Lösung für den Notfall!

Beim Kauf habe ich jetzt nicht darauf geachtet ob das Teil nun unter bzw. mit meinem Linux (Gentoo) zusammenarbeitet. Den Fachberater im Blödmarkt wollte ich es nun nicht noch fragen, er schien jetzt schon von mir genervt zu sein!

Hey, gut wie ich bin, bekomme ich das Teil schon zum rennen (Boar ist diese Selbstüberschätzung nicht wiederlich?)!

Da meine Frau etwas von: „Rausgeworfenes Geld…. Überflüssiges Spielzeug… und du sitzt eh viel zu viel vor dem Computer!“ murmelte…. _MUSS_ das Teil einfach Laufen.

Tut es nur so ~out of the box~ nicht! Dass hat man nun also davon, man kauft im Blödmarkt halt nichts. Vor allem nicht ohne Verstand, oder gerade deswegen? Wie auch immer, so haben ich es ans Laufen bekommen!

Ich habe hier also den O2 Surfstick MF190 von der Firma ZTE.

O2 ZTE MF190 HSUPA Stick

Stecke ich diesen einfach in mein System ein und schaue mir an was der Kernel dazu sagt, sehe ich folgendes:

$ dmesg
usb 2-1: new high speed USB device using ehci_hcd and address 3
usb 2-1: New USB device found, idVendor=19d2, idProduct=0083
usb 2-1: New USB device strings: Mfr=3, Product=2, SerialNumber=4
usb 2-1: Product: ZTE WCDMA Technologies MSM
usb 2-1: Manufacturer: ZTE,Incorporated
usb 2-1: SerialNumber: P671A2TMED010000
scsi7 : usb-storage 2-1:1.0
scsi 7:0:0:0: CD-ROM            ZTE      USB SCSI CD-ROM  2.31 PQ: 0 ANSI: 2
sr1: scsi-1 drive
sr 7:0:0:0: Attached scsi CD-ROM sr1
sr 7:0:0:0: Attached scsi generic sg2 type 5

Der Stick wird also als USB-CDROM Laufwerk (hier liegt die Software für die Windows User) und USB-Festplatte (sofern eine MicroSD-Karte eingelegt ist, wäre es diese) erkannt.

Mal schauen was ein lsusb sagt:

$ lsusb
Bus 002 Device 004: ID 19d2:0083 ONDA Communication S.p.A

19d2 steht für den Hersteller und 0083 für das Gerät selbst. Google sagt 0083 ist der Stick aber im Modus (ich nenne es mal) Datenlaufwerk. Ich will aber Modem 🙂 Hierzu sagt Google man muss ein paar bestimmte Kommandos schicken und schon wechselt der USB-Stick seinen Modus. Findige Leute haben sich da schon einen Kopf zu gemacht und das Programm: usb_modeswitch geschrieben. Also soll emerge mal loslegen:

$ emerge usb_modeswitch

Solange er rechnet könnte ich meinen Kernel ja schon mal davon überzeugen das Gerät zu „ignorieren“. Dazu füge ich in die Datei: /usr/src/linux/drivers/usb/storage/unusual_devs.h folgende Zeilen ein:

UNUSUAL_DEV(  0x19d2, 0x0117, 0x0000, 0x0000,
"ZTE Sinnlos",
"USB UMTS Sinnlos",
US_SC_DEVICE, US_PR_DEVICE, NULL,
US_FL_IGNORE_DEVICE),

Damit Geräte dieser Art überhaupt funktionieren können (und ich nach der Änderung in unusual_devs.h ja eh neu kompilieren muss) sollte die Kernelkonfiguration wie folgt angepasst werden:

Device Drivers ->
USB support  --->
<M> OHCI HCD support (If not use Intel or VIA chipset)
<M> UHCI HCD (most Intel and VIA) support (If use Intel or VIA chipset)
<M> USB Serial Converter support  --->
[*] USB Generic Serial Driver
<M> USB driver for GSM and CDMA modems
Network device support  --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports

Inzwischen ist usb_modeswitch fertig. Für meinen Stick muss ich leider noch etwas Handarbeit leisten. Denn in der Datei /lib/udev/rules.d/40-usb_modeswitch.rules müssen noch folgende Zeilen hinzugefügt werden:

# ZTE MF190 (Variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0117", RUN+="usb_modeswitch '%b/%k'"

Damit die neue Regel zur Anwendung kommen noch schnell ein:

$ udevadm control --reload-rules

Jetzt sollte es beim Einstecken vom Stick schon anders aussehen….

$ dmesg
usb 2-1: new high speed USB device using ehci_hcd and address 4
usb 2-1: New USB device found, idVendor=19d2, idProduct=0117
usb 2-1: New USB device strings: Mfr=3, Product=2, SerialNumber=4
usb 2-1: Product: ZTE WCDMA Technologies MSM
usb 2-1: Manufacturer: ZTE,Incorporated
usb 2-1: SerialNumber: P671A2TMED010000
usb-storage 2-1:1.0: device ignored
usb-storage 2-1:1.1: device ignored
usb-storage 2-1:1.2: device ignored
usb-storage 2-1:1.3: device ignored
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
option 2-1:1.0: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
option 2-1:1.1: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
option 2-1:1.2: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems

Wohooo ein GSM Modem. Was sagt lsusb?

$ lsusb
Bus 002 Device 004: ID 19d2:0117 ONDA Communication S.p.A.

OK, der Stick wird nun also als Modem erkannt, die Datenlaufwerke werden ignoriert und ich könnte mich ja mal um eine Interneteinwahl kümmern, oder? Nötig ist dafür ppp und (weil es so schön einfach ist) wvdial. Emerge muss das wieder für mich erledigen:

$ emerge ppp wvdial

Nach kurzer Zeit ist er fertig. Nun lege ich mal das ppp Device an:

$ mknod /dev/ppp c 108 0

*umschau* ich habe ja so ein paar Tests hinter mir und Scripte können da knallhart sein. Wenn man denen sagt: „Probiere mal bis geht…“ Dann tun die das auch wenn sie 100 mal die falsche PIN eingeben. Man kann lange suchen bis man darauf kommt die PUK einzugeben. SEHR lange. Ich habe also die PIN-Eingabe abgeschaltet!


wvdial ist schnell konfiguriert. Meine Konfiguration für O2 schaut so aus:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 +FCLASS=0
Modem Type = Analog Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0

[Dialer pin]

[Dialer o2]
Modem = /dev/ttyUSB2
Dial Command = ATD
Carrier Check = no
Phone = *99#
Password = guest
Username = guest
Stupid Mode = 1
Init3 = AT+ZSNT=0,0,2, AT+ZOPRT=5
Init4 = AT+CGDCONT=1,"IP","pinternet.interkom.de"
Dial Attempts = 2

Stecke ich nun meinen (mit abgeschalteter PIN-Eingabe) Surfstick ins Notebook beginnt er rot zu leuchten. Ist der Stick betriebsbereit und hat Netz beginnt er grün zu leuchten 🙂 Einfach, oder?

ZTE MF190 HSUPA USB surfstick with SIM lock
ZTE MF190 USB surfstick after SIM unlock

Die Einwahl funktioniert nun recht einfach mit wvdial:

$ wvdial o2
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 +FCLASS=0
OK
--> Sending: AT+ZOPRT=5
AT+ZOPRT=5
OK
--> Sending: AT+CGDCONT=1,"IP","pinternet.interkom.de"
AT+CGDCONT=1,"IP","pinternet.interkom.de"
OK
--> Modem initialized.
--> Sending: ATD*99#
--> Waiting for carrier.
ATD*99#
CONNECT 7200000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Tue Mar  8 20:35:06 2011
--> Pid of pppd: 22068
--> Using interface ppp0
--> local  IP address 10.151.95.132
--> remote IP address 10.64.64.64
--> primary   DNS address 193.189.244.225
--> secondary DNS address 193.189.244.206
Mobile network connection established via surfstick

Nun sollte man auch schon online sein. Ein kurzer Blick auf die Interfacekonfiguration zeigt:

$ ifconfig
lo        Protokoll:Lokale Schleife  
inet Adresse:127.0.0.1  Maske:255.0.0.0
inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:1030 errors:0 dropped:0 overruns:0 frame:0
TX packets:1030 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:83580 (81.6 KiB)  TX bytes:83580 (81.6 KiB)

ppp0      Protokoll:Punkt-zu-Punkt Verbindung  
inet Adresse:10.151.95.132  P-z-P:10.64.64.64  Maske:255.255.255.255
UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
RX packets:8360 errors:0 dropped:0 overruns:0 frame:0
TX packets:9926 errors:0 dropped:34 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:3
RX bytes:2446573 (2.3 MiB)  TX bytes:5945120 (5.6 MiB)

sixxs     Protokoll:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
inet6 Adresse: 2a01:198:200:a79::2/64 Gültigkeitsbereich:Global
inet6 Adresse: fe80::98:200:a79:2/64 Gültigkeitsbereich:Verbindung
UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1280  Metric:1
RX packets:1007 errors:0 dropped:0 overruns:0 frame:0
TX packets:973 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:500
RX bytes:880413 (859.7 KiB)  TX bytes:234147 (228.6 KiB)
Mobile internet connection active on Gentoo Linux

Wie zu erkennen ist steht auch die Verbindung zu meinem Tunnelbroker Sixxs. Somit ist mein Notebook auch per IPv6 unterwegs 🙂

Also, viel Spaß beim Surfen.


*Update*

Wer >>hier<< nachliest wird sehen, dass man den Flashdrive-Modus auch komplett deaktivieren kann.

Man kann hier zwei Wege gehen das zu tun:

1. Einmalig das ganze im Int3 mitgeben:

Init3 = AT+ZCDRUN=9, AT+ZSNT=0,0,2, AT+ZOPRT=5

2. Minicom.

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑