Skip to content

Linux Script - Selbstsigniertes SSL Zertifikat mit SHA256 erstellen und ausgeben

Anfang des Jahres hatte ich euch ein Skript bereitgestellt, welches selbst signierte Zertifikate generiert (siehe Artikel).

Nicht erst seit gestern ist es jedoch sinnvoll auf SHA2 umzustellen. Denn das alte SHA1 gilt seit einiger Zeit als unsicher. 

Übersicht SHA Funktionen

uebersicht_sha

Für euch heißt dies in Zukunft bei der Zertifikatsgenerierung auf SHA2 zu achten.

Selbstsigniertes SSL Zertifikat mit SHA256 erstellen

Im Prinzip muss der alte Befehl nur um einen weiteren Schlüssel "SHA256" oder "SHA512" ergänzt werden.

Unten seht ihr den Befehl, der eine privaten Serverschlüssel mit Zertifikatsanfrage erstellt und im gleichen Zug selbst signiert.

sudo openssl req -x509 -nodes -sha256 -days 1825 -newkey rsa:4096 -keyout server_256.key -out server_256.crt

Generating a 4096 bit RSA private key

...........................++

......................................................................++

writing new private key to 'server_256.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:DE

State or Province Name (full name) [Some-State]:NRW

Locality Name (eg, city) []:ITrig

Organization Name (eg, company) [Internet Widgits Pty Ltd]:ITrig

Organizational Unit Name (eg, section) []:Itrig

Common Name (eg, YOUR name) []:itrig.de

Email Address []:

Zertifikat auf SHA2 überprüfen

Natürlich lassen sich vorhandene oder soeben erzeugte Schlüssel auch auf ihren Inhalt überprüfen. In diesem Fall interessiert uns der SHA Wert.

sudo openssl x509 -noout -text -in server_256.crt

Certificate:

    Data:

        Version: 3 (0x2)

        Serial Number:

            fc:f8:7d:d9:cd:f7:e7:b5

        Signature Algorithm: sha256WithRSAEncryption

        Issuer: C=DE, ST=NRW, L=ITrig, O=ITrig, OU=Itrig, CN=itrig.de

        Validity

            Not Before: Dec 18 13:20:41 2014 GMT

border: none; padding: 0px;">

            Not After : Dec 17 13:20:41 2019 GMT

Damit ihr euch die Eingaben alle sparen könnt, hab ich das Script auf SHA256 angepasst, zusätzlich werden alle Daten am Ende zur Kontrolle ausgegeben.

SHA 256 Skript

Linux Script - Postfix Mail Server Logauswertung mit dem Postfix Log Entry Summarizer

Wer sich schon einmal mit MTAs (Mail Transfer Agent) auseinandergesetzt hat, dem wird Postfix sicherlich ein Begriff sein. Postfix zählt zu den bekanntesten Mailservern im Linuxbereich, ist schnell und recht einfach zu konfigurieren, eine gewisse Grundkenntnis vorausgesetzt. Für einen sicheren Mailverkehr möchte ich hier noch einmal auf das Crypto Handbuch verweisen.

Letzte Woche war ja ein wenig Exchange Server im Programm, heute soll es aber um eine Auswertung des Mailverkehrs, welcher täglich über einen Postfix Server rauscht, gehen. 

Postfix Log Entry Summarizer

Hierfür gibt es sicherlich einige Monitoring Tools, eines davon ist Pflogsumm (Postfix Log Entry Summarizer), welches eine ausführliche Auswertung bietet, ohne, dass der Anwender viel konfigurieren muss.

Unter Ubuntu ist dieses Tool recht schnell konfiguriert und im Optimalfall erhaltet ihr am Ende eine Übersicht aller Nachrichten, egal ob gesendet, empfangen oder geblockt. Auch der Traffic, die Menge oder die Mailadressen werden ausgewertet. Bis zu dieser Statistik ist aber noch ein wenig Vorarbeit zu leisten.

Pflogsumm installieren (Ubuntu)

sudo apt-get install pflogsumm 

Postfix Log Entry Summarizer konfigurieren

Ihr habt nun die Möglichkeit das Tool direkt aufzurufen und euch eine Liveauswertung geben zu lassen, um zu sehen was gerade auf dem Mailserver passiert. Pflogsumm macht nichts anderes, als auf die Logfiles des Postfix Server zurückzugreifen und diese auszuwerten. Mit einem Einzeiler lässt sich so eine Statistik in eine Datei schreiben oder per Mail versenden.

sudo pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log >> test oder

sudo pflogsumm -u 5 -h 5 --problems_first -d today /var/log/mail.log | mail -s "Postfix Mail Report" info@example.com

 

Vorarbeit zur regelmäßigen Postfix Analyse

Eine IST Auswertung mag zwar interessant sein, die regelmäßige Auswertung der letzten Tage ist jedoch um einiges interessanter. Realisierbar ist dies mit den Logs des Vortages, diese werden Mittels logrotate gepackt und können danach ausgewertet werden. Zunächst muss logrotate angepasst werden, damit täglich neue Logs geschrieben werden.

sudo nano /etc/logrotate.conf

/var/log/mail.log {
    missingok
    daily
    rotate 7
    create
    compress
    start 0
    }
sudo nano /etc/logrotate.d/rsyslog

    #/var/log/mail.log

Wenn gewünscht ist, dass die Logrotation pünktlich zu einer gewissen Uhrzeit laufen soll, sagen wir um 2 Uhr Nachts , ist es nötig crontab zu editieren und dort die Laufzeit anzupassen.

sudo nano /etc/cron.daily anzupassen 0 2   * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Skript zur Postfix Analyse 

Nun können wir unser eigenes Script zusammen stellen, welches am Schluss eine Auswertung versendet. 

sudo nano mailstatistiken.sh

#!/bin/bash
#
###############
# mailstats   #
###############

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Log Archive entpacken
gunzip /var/log/mail.log.1.gz

#Temporaere Datei anlegen
MAIL=/tmp/mailstats

#Etwas Text zum Anfang
echo "Taeglicher Mail Stats Report, erstellt am $(date "+%H:%M %d.%m.%y")" > $MAIL
echo "Mail Server Aktivitaeten der letzten 24h" >> $MAIL

#Pflogsumm aufrufen
/usr/sbin/pflogsumm --problems_first /var/log/mail.log.1 >> $MAIL

# Versenden der Auswertung
cat /tmp/mailstats | mail -s "Postfix Report $(date --date='yesterday')" stats@example.com

#Archiv wieder packen, damit alles seine Ordnung hat
gzip /var/log/mail.log.1

Insgesamt eine leichte Übung. Das fertige Skript noch mit "chmod +x" ausführbar machen und am besten via "crontab -e" zu einem gewünschten Zeitpunkt ausführen.

Am Ende solltet ihr jeden Tag per Mail eine ausführliche Zusammenfassung der E-Mails Statistiken erhalten. 

Grand Totals

------------

messages

   4321   received

   1234   delivered

      5   forwarded

      1   deferred  (3  deferrals)

      0   bounced

      0   rejected (0%)

      0   reject warnings

      0   held

      0   discarded (0%)

   1234m  bytes received

   1234m  bytes delivered

    123   senders

    321   sending hosts/domains

   1234   recipients

    123   recipient hosts/domains

message deferral detail

-----------------------

  smtp (total: 3)

         3   invalid sender domain 'example.de' (misconfigured ...

message bounce detail (by relay): none

message reject detail: none

message reject warning detail: none

message hold detail: none

message discard detail: none

smtp delivery failures: none

Warnings: none

Fatal Errors: none

Panics: none

Master daemon messages: none

Per-Hour Traffic Summary

------------------------

    time          received  delivered   deferred    bounced     rejected

    --------------------------------------------------------------------

    0000-0100           0          0          0          0          0 

.....

Ubuntu absichern - Produktsuche "Shopping Lense" per Script deaktivieren

Die neueren Ubuntu Versionen haben sogenannte Shopping Lenses integriert. Das bedeutet, dass Suchbegriffe über das Dash auch an kommerzielle Anbieter wie Amazon, Ebay und Co gesendet werden. Sollte eigentlich weitläufig bekannt sein.

fixubuntu

Vor einiger Zeit war dies bereits in den Medien, da Canonical gegen fixubuntu.com geklagt hatte. Dabei handelt es sich um die Seite eines EFF Mitgliedes, die eine Anleitung zur Entfernung dieser kommerziellen Netzsuchanfragen enthält.

Um das Ausführen dieser Befehle zu vereinfachen, kann per Konsole auch ein fertiges Skript ausgeführt werden:

Strg+Alt+T drücken

wget -O disable-searches.sh http://drive.noobslab.com/scripts/disable-searches.sh

chmod +x disable-searches.sh;./disable-searches.sh;rm disable-searches.sh

Und schon ist euer System um Drittanbieter ärmer und ein Stück sicherer. via