Archive for the ‘Sec’ Category
SSL/TLS-Verbindungen debuggen
Wenn man externe APIs ansprechen muss, zu denen der Zugang auf eine SSL-Verschlüsselte HTTP-Verbindung reduziert ist, kann man bei Problemen nicht einfach einen Sniffer anwerfen, um den Verkehr zu analysieren, weil dieser verschlüsselt ist. Da das aber manchmal unerlässich ist, bietet es sich an, eine art Proxy zu bauen. Ich habe dazu stunnel verwendet, das im Client-Modus TCP-Verbindungen annimmt und diese über einen SSL-Tunnel weiterleitet. So konnte ich einen zweiten Rechner im Netzwerk als Zieladresse angeben (http://rechner2/…) und die Pakete wurden von dort SSL-verschlüsselt weitergereicht (https://externerrechner/…). Diese Kommunikation konnte ich mit Wireshark belauschen.
C# – ungültiges SSL-Zertifikat ignorieren
Um mal schnell eine SSL/TLS-Datenübertragung zu testen, ist es praktisch, wenn man ein ungültiges SSL-Zertifikat auch mal ignorieren kann. Mit diesem Code hier geht das:
using System.Net;
...
ServicePointManager.ServerCertificateValidationCallback =
new RemoteCertificateValidationCallback
(IgnoreCertificateErrorHandler);
...
private bool IgnoreCertificateErrorHandler
(object sender,
System.Security.Cryptography.X509Certificates.X509Certificate certificate,
System.Security.Cryptography.X509Certificates.X509Chain chain,
System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
return true;
}
...
Quelle:
http://en.csharp-online.net/Invalid_HTTPS_certificate
Neues E-Mail-Zertifikat unter Vista mit IE 7 und Firefox
Heute wollte ich mir bei Thawte ein neues E-Mail-Zertifikat besorgen. Früher war das nicht schwer: Einfach im Browser meiner Wahl auf deren Seiten gehen, den Bestellvorgang starten, dieser öffnet das Browser-Crypto-Plugin, generiert meinen Key und fordert das Zertifikat an. Warten, bis es ausgestellt (issued) ist und auf “Fetch” klicken, fertig.
Erst habe ich es mit IE 7 probiert: Der steigt an der Stelle, an der ich den Verschlüsselungsgrad wählen kann, aus: “VBScript Error 424 – Objekt benötigt” (oder so). Andere Sicherheitszone? Keine Chance. Nicht im geschützten Modus? Keine Chance, also, nächster Versuch:
Firefox: Bis zum Button “Fetch” hat alles funktioniert, dann klicke ich drauf und lustigerweise fühlt sich plötzlich Windows für die Anforderung verantwortlich. Das bringt mir halt nichts, weil der Key nur in Firefox sitzt. Das Zertifikat konnte ich auch nicht von Hand im Firefox-Manager importieren.
Die Lösung – oder nennen wir es besser “Workaround”: Firefox im Kompatibilitätsmodus für Windows XP starten, dann das Zertifikat importieren (klappt super), dann das Zertifikat aus Firefox exportieren und im Windows Zert-Manager importieren und man kann es in Outlook verwenden. Schon.
SSH & Co mit Tunnelier
Heute habe ich mich mit Tunnelier beschäftigt, weil es mein absolutes Lieblingstool BeyondCompare um SCP/SFTP-Funktionalitäten erweitert. Dabei ist mir aufgefallen, dass ersteres auch das Zeug zum Lieblingstool HAT, zumindest in der Nische SSH/SFTP/SCP. Neben einem SSH-Client beinhaltet das Tool einen eigenen SCP/SFTP-Client, sowie eine SFTP to FTP bridge, damit FTP-Tools auf SFTP zugreifen können. Neben der FTP-Bridge gibt es auch eine SOCKS-Bridge, damit man das Tool als Socks-Proxy angeben und so auf die Dateien zugreifen kann. Natürlich hat der SSH-Client auch Port forwarding – Möglichkeiten in beide Richtungen und als Bonus ist gleich noch die Verlinkung mit Microsoft Remote Desktop eingebaut. Somit reicht ein Doppelklick, wenn man über eine SSH-Verbindung auf einen Windows-Rechner zugreifen will. Sehr ordentlich. Für bis zu 4 Benutzer auf bis zu 4 Server ist das Tool kostenlos.
Mehr Info:
http://www.bitvise.com/tunnelier
SSL und Apache
Eigentlich sollte das doch selbsterklärend sein und trotzdem durchsucht man das komplette Internet, bis man am Ende doch hier rauskommt:
http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html
Hier wird erklärt, wie man ganz schnell ein einfaches Zertifikat zu Testzwecken generiert, wie man mit fremd-CAs umgeht, wie man mit einer eigenen CA arbeitet und vieles mehr.
So ne Art Firewall (Windows 2003)
Ich musste es hinbekommen, dass ein Windows 2003-Server einen anderen im gleichen Subnetz zu Testzwecken nicht mehr erreichen konnte. Die IP Security von Windows 2003 hat hier weitergeholfen.
In folgendem Artikel wird das ICMP-Spezifisch erklärt, die Infos lassen sich jedoch einfach verallgemeinern:
SSL-Versionen, TLS und PCT
Nur kurz zusammengefasst:
Netscape hat irgendwann SSL 1.0 entwickelt, ein paar Monate später kam dann 2.0 raus.
Microsoft dachte “das können wir auch” und hat sowas ähnliches namens PCT gemacht, das einige Probleme von SSL 2.0 beseitigt hat.
Dann kam irgendwann SSL 3.0 raus und darin waren dann die Verbesserungen von PCT auch übernommen.
Daraufhin war ein paar Jahre Ruhe, bis 1999 TLS rauskam, das im Prinzip eine Weiterentwicklung von SSL 3.0 darstellt (und sich übrigens in irgend einem Header mit SSL 3.1 meldet).
Sprich: TLS ist nichts anderes, als die aktuellste Version von SSL, wenn man so will.
Wer hierzu mehr wissen will, der sei in Richtung Wikipedia verwiesen:
http://de.wikipedia.org/wiki/Transport_Layer_Security