Instalacja certyfikatu SSL w DirectAdmin

Domyślnie DirectAdmin nie korzysta z SSL przy połączeniach do panelu administracyjnego.

Aby włączyć obsługę SSL oraz wygenerować certificate signing request, zastąpić samopodpisane certyfikaty wystawionymi np. przez StartSSL.com. Na serwerze s5.aboo.pl użyty został certyfikat Comodo Essential SSL:

  1. Tworzymy nowy klucz prywatny oraz CSR:

    openssl req -nodes -newkey rsa:2048 -keyout s5.aboo.pl.key -out s5.aboo.pl.csr

  2. Używając CSR generujemy certyfikat na stronie wystawcy. Jeżeli jesteśmy pytani o typ serwera, wybieramy Apache + mod_ssl, dzięki czemu otrzymamy w formacie PEM
  3. Otrzymane od wystawcy pliki umieszczamy w /usr/local/directadmin/conf wraz z wcześniej wygenerowanym kluczem (-keyout …)
  4. Edytujemy plik directadmin.conf, dodając lub modyfikując linie:

    SSL=1 <- włączamy SSL ssl_redirect_host=s5.aboo.pl <- ważne! ustawiamy adres na który klient jest odsyłany, jeżeli połączy się z http:// zamiast https:// cacert=/usr/local/directadmin/conf/cacert.pem <- certyfikat (\"nasz\") cakey=/usr/local/directadmin/conf/cakey.pem <- klucz prywatny carootcert=/usr/local/directadmin/conf/caroot.pem <- certyfikaty pośrednie (CA)

  5. Bardzo, bardzo ważne – ustawiamy odpowiednie uprawnienia na plik z kluczem:

    chown diradmin:diradmin cakey.pem
    chmod 400 cakey.pem

  6. Restartujemy usługę DirectAdmin:

    service directadmin restart

Instalacja proFTPD SSL na Debian Lenny

\"proftpd-serwer\"

W tej instrukcji jest używany komputer o nazwie blog.aboo.pl o adresie IP 10.0.0.10. Jest oczywiste, że ustawienia te różnią się od tych, które mają  być stosowane w określonym miejscu.

Index

Instalacja ProFTPd i OpenSSL

OpenSSL jest wymagane przez TLS; w celu instalacji ProFTPd i OpenSSL uruchamiamy:

aptitude install proftpd openssl

Zostanie zadane pytanie:

Run proftpd:

w trybie wolnostojącym ( standalone)

Ze względów bezpieczeństwa można dodać  do pliku /etc/proftpd.conf (więcej informacji można znaleźć na stronie: http://proftpd.org/localsite/Userguide/linked/userguide.html) następujące linie:

nano /etc/proftpd/proftpd.conf

otwieramy ten plik w celu edycji

[…]

DefaultRoot ~

IdentLookups off

ServerIdent on \”FTP Server ready.\”

[…]

Tworzenie certyfikatu SSL dla TLS

Aby używać TLS musimy stworzyć  certyfikat SSL. Tworzymy go w /etc/proftpd/ssl i dlatego najpierw tworzymy katalog

mkdir /etc/proftpd/ssl

Następnie generujemy SSL wpisując i uzupełniając:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
Country Name (2 letter code) [AU]: <– wpisujemy nazwę kraju

State or Province Name (full name) [Some-State]: <– wpisujemy województwo

Locality Name (eg, city) []: <– wpisujemy misto

Organization Name (eg, company) [Internet Widgits Pty Ltd]: <– wpisujemy nazwę organizacji

Organizational Unit Name (eg, section) []: <– wpisujemy dział organizacji

Common Name (eg, YOUR name) []: <–wpisujemy cała nazwę domeny systemu (np. \”blog.aboo.pl\”).

Email Address []: <– wpisujemy adres email

Umożliwienie działania TLS In ProFTPd

W tym celu otwieramy plik proftpd.conf

nano etc/proftpd/proftpd.conf

… i następujące niezdefiniowane linie w pliku /etc/proftpd/tls.conf :

[…]

#

# This is used for FTPS connections

#

Include /etc/proftpd/tls.conf

[…]

Następnie otwieramy /etc/proftpd/tls.conf i wykonujemy polecenia :

cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig

cat /dev/null > /etc/proftpd/tls.conf

vi /etc/proftpd/tls.conf

<IfModule mod_tls.c>

TLSEngine on

TLSLog                     /var/log/proftpd/tls.log

TLSProtocol                SSLv23

TLSOptions                 NoCertRequest

TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem

TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem

TLSVerifyClient            off

TLSRequired                on

</IfModule>

Jeżeli jest używany TLSRequired, wtedy dozwolone są tylko połączenia TLS (uniemożliwia to połączenia jakiemukolwiek użytkownikowi, który używa klienta FTP bez wspomagania TLS).  Bez wpisania tych linii i używania TLSRequired oba połączenia TLS i non-TLS  są dozwolone i zależą od tego na co pozwala klient FTP.

Restratujemy Proftpd:

/etc/init.d/proftpd restart

Teraz można próbować łączyć  się poprzez korzystanie z klienta FTP. Powinno się dodatkowo skonfigurować klienta FTP z użyciem TLS (to jest konieczne podczas używania TLSRequired).

Jeżeli pojawią się problemy z TLS, najlepiej przejrzeć logi pliku TLS w /var/log/proftpd/tls.log.