====== Crypted Mailinglist ===== {{tag>project software infrastructure computing }} ===== Plan ===== * receive crypted mail * decrypt * preserve signature * add server signature * encrypt per recipient * send ===== Thoughts ===== * A common objection would be that one has to trust the server which re-encrypts the message. So this would become a point of failure as the mails //might// get intercepted here. * So this would not be end-to-end encryption as it is required by the book. * So you would not //rely// on the security of this system. * **But** it would be an achievement to not have your mail be exposed **by default** to 3rd party. * So list encryption is considered to be worth the effort. ===== Links ===== ==== List Software ==== * http://schleuder2.nadir.org/ - complete list server * http://www.synacklabs.net/projects/crypt-ml/ - ezmlm (+qmail) only * http://www.rediris.es/pgp/app/pgplist/ - uses /etc/aliases * http://www.raphinou.com/smailman/smailman.html - python scripts to be used with exim & mailman * http://non-gnu.uvt.nl/mailman-ssls/ - patch agoinst mailman * gpg-mailgate * https://systemausfall.org/wikis/howto/CryptoMailingLists - more Links ==== Other ==== * http://lists.gnupg.org/pipermail/gnupg-devel/2004-October/021427.html - mail referring to GPG file format * RFCs [[http://tools.ietf.org/html/rfc1991|1991]] (PGP Message Exchange Formats) and [[http://tools.ietf.org/html/rfc2440|2440]] (OpenPGP Message Format) * http://search.cpan.org/search?query=PGP&mode=all * http://search.cpan.org/search?query=GPG&mode=all ==== Pitfalls ==== * http://xkcd.com/1181/ ==== Dissection ==== === gpg-mailgate === Andreas Maier 12.09.2013 08:49: > ich habe mir das gpg-mailgate.py und GnuPG/__init__.py angeschaut, und > habe diese Kommentare dazu: > > gpg-mailgate.py: > > - Die Logik im Hauptprogramm sollte besser in eine Funktion gelegt > werden die die mail als string parameter bekommt, damit sie universeller > verwendbar ist. Das verbleibende Hauptprogramm w?rde dann die mail von > stdin lesen und die Funktion aufrufen. > > - ich glaube es ist ein fehler drin derart dass wenn kein Adressat mit > GPG gefunden wird, die mail zweimal an jeden Adressaten verschickt wird > (dann sind alle adressaten in ungpg_to, und keiner in gpg_to, und sowohl > der send auf Zeile 62 und der send auf Zeile 65 werden ausgef?hrt, > jeweils an alle.) Habs aber nicht getestet. > > - manche der Zugriffe auf die Config Parameter sind ohne check ob der > Parameter auch existiert. Da sollte ein besseres handling f?r defaults > von nicht spezifizierten Parametern eingef?hrt werden. > > - das Senden der mails via smtplib.SMTP benutzt Defaults was das > Protokoll angeht (vermutlich heisst das unverschl?sselte Connection und > keine Authentifizierung). Wenn ich mir anschaue was imThunderbird alles > eingestellt werden kann was das angeht, m?sste man daf?r noch suport > einbauen. Den Mail Inhalt zu verschl?sseln ist eine Sache, aber wenn man > die Connection nicht verschl?sselt, gehen wohl alle header > unverschl?sselt ?ber die Leitung. Und die meisten kommerziellen SMTP > server werden wohl nicht ohne Authentifizierung funktionieren. > > - docstrings f?r die Funktionen fehlen vollst?ndig. > > GnuPG/__init__.py: > > - eventuell sollte man die Lokation des gpg programms konfigurierbar > machen. Weiss nicht wie fix das in der Praxis ist. > > - docstrings f?r die Klassen und Funktionen fehlen vollst?ndig. > > Ob es irgendwo Code gibt f?r die Gegenrichtung habe ich nicht eruiert. > Da ist die gro?e Frage wo man die private keys zum Entschl?sseln sicher > aufbewahren will. Sicher nicht in dem config file. Im Prinzip m?sste man > die aus einem gut gesicherten Password Safe holen, wie zB. keepass. F?r > keepass scheint es mindestens diese drei Versuche zu geben f?r ein > Python API: /python/-/keepass, kptool, kppy./ So, I'll rather not use this one. Fixing stuff would come close to a rewrite.