View previous topic :: View next topic |
Author |
Message |
Inte Veteran
Joined: 15 Jul 2003 Posts: 1387 Location: Mannheim, GER
|
Posted: Thu Nov 03, 2005 6:17 pm Post subject: SSL-Zertifikat mit eigener CA signieren? / gFTP & CA pub |
|
|
Hi Folks,
ich hab 'nen FTP-Server aufgesetzt und lass nur verschlüsselte Verbindungen zu. Allerdings meckert gFTP, dass der public key meiner CA fehlt: Code: | Error 18:self signed certificate |
http://gftp.seul.org/faq.html#AEN179 wrote: | Chapter 5. SSL Issues
5.1. When using the FTPS or HTTPS protocol, gFTP cannot connect if the remote server uses a self signed certificate.
You must add the public key of your self signed CA to your OpenSSL certs directory. On my Debian box, the OpenSSL certs are installed in /usr/lib/ssl/certs. |
Bei der Installation bin ich dem HowTo aus dem Gentoo-Wiki gefolgt und habe einfach mit Code: | openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/certs/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem | das SSL-Zertifikat angelegt. Allerdings habe ich keinen blassen Schimmer, wie ich mit openssl eine eigene CA aufsetze und mit dieser mein Zertifikat signiere.
Hier im Forum hab ich eine Art Kurzanleitung gefunden um eine CA einzurichten: lorenb wrote: | Create Self Signed RSA CA Certificate
dd if=/dev/urandom of=./random.stuff bs=1b count=2048
openssl genrsa -des3 -out ca.key -rand random.stuff
openssl req -new -key ca.key -out ca.req -days 365
openssl x509 -req -in ca.req -extensions v3_ca -signkey ca.key -out ca.crt -days 365 |
Den public key hab ich auch noch exportiert bekommen (zumindest hab ich mir das so zusammengereimt ): Code: | openssl rsa -in ca.key -pubout -out ca_pub.key |
Jetzt muss ich eigentlich nur noch rausbekommen, wie ich das Zertifikat signieren kann.
Ach ja ... gerade eben hab ich das Skript /etc/ssl/misc/CA.pl gefunden. Irgendwie komm ich nicht damit klar. Kann ich damit mein zuvor erstelltes SSL-Zertifikat signieren?
Ratlose Grüße,
Inte
PS.: Dabei wollt ich doch nur FTP absichern
EDIT: Hier hab ich noch einen Tipp gefunden. Leider fehlt der pubkey der CA danach auch. _________________ Gentoo Linux - Die Metadistribution
Last edited by Inte on Thu Nov 03, 2005 10:30 pm; edited 1 time in total |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Thu Nov 03, 2005 8:30 pm Post subject: |
|
|
Also so sollte es gehen
Schritt 1 - Wir bauen unsere eigene CA
a) openssl genrsa -des3 -out ca.key 4096
b) openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
erzeugt folgende Dateien
ca.key: private Key der CA
ca.crt: public Key der CA
Der Key für die CA kann und sollte sehr langlebig sein (in dem Fall 10 Jahre)
Schritt 2 - Serverkey plus passenden sign request erzeugen
a) openssl genrsa -des3 -out server.key 4096
b) openssl req -new -key server.key -out server.csr
erzeugt folgende Dateien
server.key: private Key des Servers
server.csr: Sign request für den Key
Schritt 3 - Signieren des Server Keys
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
erzeugt folgende Datei
server.crt: Signierter Schlüssel für den Server aus (2)
--- edit ---
Schritt 1 kann auch folgendermaßen gemacht werden:
./etc/ssl/misc/CA.pl -newca
erzeugt dann folgende Dateien
/etc/ssl/demoCA/cacert.pem: public key der CA
/etc/ssl/demoCA/private/cakey.pem: private key der CA
--- end edit ---
HTH
T. _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself
Last edited by think4urs11 on Thu Nov 03, 2005 8:35 pm; edited 1 time in total |
|
Back to top |
|
|
Inte Veteran
Joined: 15 Jul 2003 Posts: 1387 Location: Mannheim, GER
|
Posted: Thu Nov 03, 2005 8:35 pm Post subject: |
|
|
Danke! Probier ich gleich aus ...
Gibt es irgendwelche Namenskonventionen für die Keys? In /etc/ssl/certs/ haben alle die Endung .pem _________________ Gentoo Linux - Die Metadistribution |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Thu Nov 03, 2005 8:51 pm Post subject: |
|
|
Für eine kleine CA empfehle ich app-crypt/tinyca |
|
Back to top |
|
|
Inte Veteran
Joined: 15 Jul 2003 Posts: 1387 Location: Mannheim, GER
|
Posted: Thu Nov 03, 2005 9:19 pm Post subject: |
|
|
Oki doki, ich bin Dein StepByStep-Programm durchgegangen, aber nun muss ich jedes Mal das Mantra eingeben, wenn ich vsftpd starte und es den RSA-Key einliest. Außerdem mußte ich noch das Zertifikat und den Key in eine Datei schreiben, damit vsftpd beide findet: Code: | cat server.crt > vsftpd.pem
cat server.key.insecure >> vsftpd.pem |
Allerdings meckert gFTP immer noch (Error 18:self signed certificate), weil es den pubkey meiner CA nicht findet. Das ist ja der eigentlich Grund, warum ich mir (und damit Euch) das hier antue.
@slick: Aber deswegen gleich xorg auf dem Server installieren? _________________ Gentoo Linux - Die Metadistribution
Last edited by Inte on Thu Nov 03, 2005 10:03 pm; edited 1 time in total |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Thu Nov 03, 2005 9:58 pm Post subject: |
|
|
Schritt 4 - Sicherheit aus, Komfort an aka Löschen der Passphrase
openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure
mv server.key.insecure server.key
ohne Garantie:
Schritt 5 - Wie sag ichs meinem gFTP
cp ca.crt /etc/ssl/certs/intes_ca.pem (Natürlich auf der Maschine auf der gFTP läuft)
Zum Thema tinyca:
Die CA sollte sowieso nicht auf einer im Netz erreichbaren Maschine laufen - am besten schnappst du dir dafür einen alten Notebook und machst Signieren und Co. über Floppys. Ist der ca-key erstmal weg kannst du von vorne anfangen...
HTH _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Inte Veteran
Joined: 15 Jul 2003 Posts: 1387 Location: Mannheim, GER
|
Posted: Thu Nov 03, 2005 10:42 pm Post subject: |
|
|
Du bist ein Schatz! Es läuft zwar noch nicht, aber bis einschließlich Schritt 4 hab ich (glaube ich zumindest) das Meiste verstanden und erfolgreich nachvollziehen können. _________________ Gentoo Linux - Die Metadistribution
Last edited by Inte on Fri Nov 11, 2005 5:42 pm; edited 1 time in total |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Thu Nov 03, 2005 11:01 pm Post subject: |
|
|
Ich bin noch zu haben ... äh nein lassen wir das lieber
Hast du es schon mit curl probiert? Würde ich quasi als Referenz hernehmen - wenns da geht dann paßts auch.
Bei Filezilla sollte das im Sitemanager gehen (Servertyp)
Blöde Frage - wieso eigentlich unbedingt FTPS und nicht SFTP/SCP? Oder meinetwegen FTP aber nur in Verbindung mit OpenVPN? _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Inte Veteran
Joined: 15 Jul 2003 Posts: 1387 Location: Mannheim, GER
|
Posted: Thu Nov 03, 2005 11:06 pm Post subject: |
|
|
Think4UrS11 wrote: | Bei Filezilla sollte das im Sitemanager gehen (Servertyp) | Hab ich gerade auch rausgefunden. Da gehts!
Think4UrS11 wrote: | Blöde Frage - wieso eigentlich unbedingt FTPS und nicht SFTP/SCP? Oder meinetwegen FTP aber nur in Verbindung mit OpenVPN? | Weil SFTP/SCP kein "build in"-chroot unterstützt und ich nicht vor hatte das Ding zu patchen bzw. die Bibliotheken zu kopieren. OpenVPN? Bloß nicht. Ich hab hier nur dumme Windows-Nutzer, für die es schon eine Zumutung ist sowas wie FileZilla zu installieren.
Es soll halt für die ordinären Nutzer einen chrooted-User geben, der nur ziehen darf und einen (für Ausgewählte) zum pflegen des Inhaltes. _________________ Gentoo Linux - Die Metadistribution |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Thu Nov 03, 2005 11:14 pm Post subject: |
|
|
Für Dummuser hätt ich da was feines (leider Löhnware) http://www.webdrive.com/index.php?pg=./products/webdrive/index
*edit*
du könntest auch auf den Clients einen entsprechenden Proxy installieren anstatt Filezilla&Co, dann kann jeder User nehmen wozu er lustig ist.
http://tlswrap.sunsite.dk/ _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Fri Nov 04, 2005 6:29 am Post subject: |
|
|
Inte wrote: | Weil SFTP/SCP kein "build in"-chroot unterstützt und ich nicht vor hatte das Ding zu patchen bzw. die Bibliotheken zu kopieren. |
Na so schwerr wäre das nicht gewesen, siehe http://de.gentoo-wiki.com/SSH_Login_ins_Chroot |
|
Back to top |
|
|
think4urs11 Bodhisattva
Joined: 25 Jun 2003 Posts: 6659 Location: above the cloud
|
Posted: Fri Nov 04, 2005 7:45 am Post subject: |
|
|
Naming Convention (alles soweit ich weiß)
.crt - Zertifikat im DER-Format
.csr - certificate signing request, d.h. die Vorstufe zu einem Zertifikat
.key - privater Schlüssel
.pem - Zertifikat im PEM-Format
.p12 - Zertifikat im PKCS#12-Format
.p7? - PKCS#7 (? = B/C/M/R/S)
Unterschied zwischen PEM und DER: im PEM ist ein Klartextanteil des verschlüsselten Inhalts dabei
Umwandeln in PKCS#12
cp server.crt bla.tmp
cp server.key >> bla.tmp
openssl pkcs12 -export -in bla.tmp -out server.p12 _________________ Nothing is secure / Security is always a trade-off with usability / Do not assume anything / Trust no-one, nothing / Paranoia is your friend / Think for yourself |
|
Back to top |
|
|
Inte Veteran
Joined: 15 Jul 2003 Posts: 1387 Location: Mannheim, GER
|
|
Back to top |
|
|
|