Biztonságos kapcsolat
Napjainkban a biztonságos – titkosított – kapcsolat nélkülözhetetlen. A biztonságos kapcsolathoz szükségünk van egy hitelesített privát kulcsra, ha nincs pénzünk hitelesítésre, akkor készíthetünk magunknak is privát kulcsot, amelyet magunk írunk alá:
[root@mail:~]$ openssl genrsa -des3 -out javaforum.hu.key 4096 Generating RSA private key, 4096 bit long modulus ...........................................................................................................................................................................++ ..++ e is 65537 (0x10001) Enter pass phrase for javaforum.hu.key: 3473:error:28069065:lib(40):UI_set_result:result too small:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/ui/ui_lib.c:849:You must type in 4 to 1023 characters Enter pass phrase for javaforum.hu.key: 3473:error:28069065:lib(40):UI_set_result:result too small:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/ui/ui_lib.c:849:You must type in 4 to 1023 characters Enter pass phrase for javaforum.hu.key: Verifying - Enter pass phrase for javaforum.hu.key: [root@mail:~]$ [root@mail:~]$ [root@mail:~]$ openssl req -new -key javaforum.hu.key -out javaforum.hu.csr Enter pass phrase for javaforum.hu.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Pest Locality Name (eg, city) []:Budapest Organization Name (eg, company) [Internet Widgits Pty Ltd]:javaforum.hu Organizational Unit Name (eg, section) []:javaforum.hu Common Name (eg, YOUR name) []:Gabor Auth Email Address []:auth.gabor@javaforum.hu Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: [root@mail:~]$ openssl x509 -req -days 365 -in javaforum.hu.csr -signkey javaforum.hu.key -out javaforum.hu.crt Signature ok subject=/C=HU/ST=Pest/L=Budapest/O=javaforum.hu/OU=javaforum.hu/CN=Gabor Auth/emailAddress=auth.gabor@javaforum.hu Getting Private key Enter pass phrase for javaforum.hu.key: [root@mail:~]$ openssl rsa -in javaforum.hu.key -out javaforum.hu.unsecured.key Enter pass phrase for javaforum.hu.key: writing RSA key [root@mail:~]$ mv javaforum.hu.crt /mails/ [root@mail:~]$ mv javaforum.hu.csr /mails/ [root@mail:~]$ mv javaforum.hu.key /mails/ [root@mail:~]$ mv javaforum.hu.unsecured.key /mails/
Postfix és TLS
A Postfix képes biztonságos csatornán fogadni a leveleket, egyszerűen fel kell vennünk a main.cf állományba az alábbiakat (az utolsó sor csak a szépség kedvéért van ott, ezt fogja kiírni a levelező szerverünk, ha valaki benéz hozzánk):
smtpd_tls_cert_file = /mails/javaforum.hu.crt smtpd_tls_key_file = /mails/javaforum.hu.unsecured.key smtpd_use_tls = yes smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
A master.cf fel van készítve az SMTPS protokoll kezelésére, egyszerűen ki kell törölnünk a komment jeleket az alábbi három sor elől:
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
Dovecot, POP3S és IMAPS
A Dovecot fel van készítve a biztonságos kapcsolatra, egyszerűen csak meg kell mondanunk, hogy hol találja a kulcsokat:
ssl_disable = no ssl_cert_file = /mails/javaforum.hu.crt ssl_key_file = /mails/javaforum.hu.unsecured.key
Levélküldés azonosítással
Gyakori igény, hogy akiknek levelezési lehetőséget adunk, annak SMTP lehetőséget is, amelyet a saját nevével és jelszavával tud használni, lehetőleg TLS felett, így biztonságosan és kényelmesen tud minden felhasználónk levelezni.
Első lépésképp be kell állítanunk a postfix main.cf állományában a következőket:
smtpd_sasl_auth_enable = yes smtpd_sasl_exceptions_networks = $mynetworks smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
Mint láthatjuk, a dovecot fogja adni az azonosítás hátterét, erről a dovecot.conf állományban tudunk rendelkezni, vessünk egy pillantást az alábbi részletre:
socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = dovecot group = dovecot } client { path = /mails/postfix/private/auth mode = 0660 user = postfix group = postfix } }
Amint a két szolgáltatást újraindítjuk, már működik is szépen a biztonságos kapcsolat és az SMTP azonosítás.
Szükséges portok
A biztonságos kapcsolat más porton fut, mint a normál, ezért a levelező szerverünk felé az alábbi átirányítások szükségesek (majd az ipnat újratöltése):
# Postfix rdr bge0 91.83.48.130/32 port 25 -> 192.168.2.4 port 25 tcp rdr bge0 91.83.48.130/32 port 465 -> 192.168.2.4 port 465 tcp # Dovecot rdr bge0 91.83.48.130/32 port 110 -> 192.168.2.4 port 110 tcp rdr bge0 91.83.48.130/32 port 143 -> 192.168.2.4 port 143 tcp rdr bge0 91.83.48.130/32 port 993 -> 192.168.2.4 port 993 tcp rdr bge0 91.83.48.130/32 port 995 -> 192.168.2.4 port 995 tcp