In Postfix nur bestimmte Empfängeradresse erlauben

Möchte man in Postfix für das Versenden von Emails nur eine bestimmte Empfängeradresse erlauben, kann dies relativ einfach konfiguriert werden.

In der Datei /etc/postfix/transport wird die bestimmte Empfängeradresse eingetragen:

bestimmteEmpfängeradresse@gmail.com :
root@localhost :
root :
root@deinServername :
einBenutzer@localhost :
einBenutzer@deinServername :
einBenutzer :
* error: "Nicht erlaubte Empfaengeremailadresse."

Die letzte Zeile verbietet alle anderen Emailadressen, welche in der Datei nicht aufgelistet sind.

Mit postmap muss noch die Postfix Lookup Table generiert werden:

postmap /etc/postfix/transport

Die Datei /etc/postfix/transport muss in der Datei /etc/postfix/main.cf angegeben werden:

transport_maps = hash:/etc/postfix/transport

Nun muss für Postfix nur noch kurz die Konfiguration neu gelesen werden:

/etc/init.d/postfix reload

Emails an nicht erlaubte Empfängeradressen werden nun nicht zugestellt:

This is the mail system at host deinServername.
I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can delete your own text from the attached returned message.
The mail system
<nichtErlaubteEmailadresse@gmail.com>: "Nicht erlaubte Empfaengeremailadresse."

Mails mit Postfix via Gmail versenden

Möchte man mit Postfix Mails versenden, hat aber keinen eigenen Mailserver, kann z.B. Gmail als Relayhost verwendet werden. Die Mails werden vom eigenen Server via Gmail an die Empfängeradresse versendet. Dies ist nützlich, wenn man z.B. von Icinga2 Mails versenden möchte. Um Gmail als Relayhost konfigurieren zu können, wird eine Mailadresse bei Gmail benötigt.

Die Konfiguration von Postfix ist einfach und in wenigen Schritten vorgenommen.

Benötigte Pakete installieren:

aptitude install libsasl2-2 ca-certificates libsasl2-modules

Zugangsdaten konfigurieren:

echo "smtp.gmail.com deineMailadresse@gmail.com:deinPasswort" > /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd*
chmod 600 /etc/postfix/sasl_passwd*

Postfix in der Datei /etc/postfix/main.cf wie folgt konfigurieren:

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

relayhost = smtp.gmail.com:587

smtp_use_tls=yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

Jetzt noch kurz Postfix neustarten:

/etc/init.d/postfix restart

Und schon können Mails vom Postfix via Gmail versendet werden.

Ob Mails versendet werden können, kann so getestet werden:

echo "Nachrichtentext" | mail -s "Betreff" Emfpängeradresse

Selbstsigniertes Multidomain SSL Zertifikat erstellen

Möchte man unter einer IP mehrere Domains über HTTPS zur Verfügung stellen, wird ein Multidomain SSL Zertifikat benötigt. Solch ein Multidomain SSL Zertifkat kann einfach und schnell selbst erstellt werden.

Verzeichnis erstellen:

mkdir /etc/apache2/SSL/multidomain
cd /etc/apache2/SSL/multidomain

Key erstellen mit:

openssl genrsa -sha512 -out multidomain.key 4096

Zertifikatsrequest (CSR) erstellen mit:

openssl req -sha512 -new -key multidomain.key -out multidomain.csr

Beim CN muss die Domain angegeben werden, welche in der Datei multidomain.cnf an erster Stelle steht! In diesem Beispiel also domain.ch

In der Datei multidomain.cnf die Domains eintragen:

vi multidomain.cnf
subjectAltName=DNS:domain.ch,DNS:*.andereDomain.ch,DNS:*.weitereDomain.ch

Das Zertifikat erstellen:

openssl x509 -req -sha512 -days 3650 -in multidomain.csr -signkey multidomain.key -text -extfile multidomain.cnf -out multidomain.crt

Das generierte Multidomain SSL Zertifikat multidomain.crt kann nun z.B. in Apache verwendet werden.

Version von Apache verstecken

Wenn man auf einem Webserver, der mit Apache läuft, eine Seite aufruft die es nicht gibt, dann zeigt Apache per Default folgendes an:

Not Found
The requested URL /huhu was not found on this server.
Apache/2.2.22 (Debian) Server at domain.ch Port 80

Dies zeigt schon an, mit welchem Betriebssystem der Webserver läuft und welcher Webserver im Einsatz ist. Jeden gewöhnlichen Besucher der Webseiten interessiert diese Information eigentlich nicht und darum sollte diese deaktiviert werden. Je weniger Informationen preisgegeben werden umso besser. Weiterlesen

Relaunch von root1024

Der eine oder andere wird es sicher bemerkt haben, seit dem März 2012 habe ich hier keine neuen Beiträge mehr geschrieben :-). Dies hat verschiedene Gründe, einer der wichtigsten Gründe ist jedoch wohl, dass ich mein Studium in Informatik begonnen habe. Das Studium benötigt viel Zeit und so blieb der Blog etwas auf der Strecke. In der Zwischenzeit habe ich wieder viele technische Spielerein ausprobiert und damit ich nun darüber bloggen kann, habe ich diese bereits rudimentär für mich dokumentiert.

Zum Relaunch von root1024 glänzt der Blog in einem neuen Design. Das Design ist schlicht, übersichtlich, einfach und wieder zeitgemäss. Das Design ist responsive und sieht auch auf Mobile Devices gut aus. Ebenfalls habe ich die Seiten Archiv, About und Impressum wieder auf den aktuellsten Stand gebracht.

Ab jetzt dürft ihr euch wieder über neue, interessante Beiträge von mir freuen!

Langsames SSH Login

Seit kurzer Zeit dauert das Login per SSH auf einen Server länger als normal. Nachdem ich den Benutzernamen eingegeben habe, dauert es ca. 10s, bis ich das Passwort eingeben kann. Das liegt daran, weil der SSH Server einen Reverse Lookup auf die IP probiert. Da dieser Reverse Lookup für meine dynamische IP nicht funktioniert, muss ich beim Einloggen immer auf das Timout warten. Dies kann man sehr einfach deaktivieren in der Datei /etc/ssh/sshd_config mit dem Parameter:

UseDNS no

Danach macht der SSH Server den Reverse Lookup nicht mehr und das Einloggen geht schneller.
Update: Ich habe festgestellt dass DNS mit Iptables nicht erlaubt war, darum war das Login langsamer. Also besser nochmals die Konfiguration prüfen bevor man etwas an der Konfiguration ändert ;-).

Proxy mit Filter und Virenschutz über SSL-Explorer

Das Ziel ist ein Proxy, welcher unerwünschte Inhalte herausfiltert und den Verkehr auf Viren untersucht. Damit der Proxy auch vom Web erreichbar ist, setze ich den SSL-Explorer ein.

Schlussendlich durchläuft der Verkehr diese Punkte: Computer –> SSL-Explorer –> Squid3 –> Privoxy (unerwünschte Inhalte filtern) –> Havp (Virenschutz) –> Internet.

Die Installation ist sehr einfach und die Befehle können 1:1 in die Konsole kopiert werden. Das Tutorial wurde auf einem Debian x86 Squeeze erstellt. Weiterlesen