Для использования безопасных соединений с Samba, необходимо настроить протокол SSL/TLS и использовать соответствующий SSL-сертификат, который обеспечивает шифрование данных и подтверждает подлинность сервера. SSL-сертификат удостоверяет личность сервера и позволяет клиентам устанавливать защищенное соединение с Samba, что предотвращает перехват данных при передаче по сети.
Устанавливаем certbot
sudo apt install -y certbot python3-certbot-dns-rfc2136
Запрашиваем ключ для добавления записи в ДНС зону
sudo certbot -d vmdc01.ladm.lazyadmin.ru --manual --preferred-challenges dns certonly
Вводим email на который будут приходить напоминания и два раза соглашаемся
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): lazyadmin@lazyadmin.ru
Y
Y
Дальше нам выдадут ключ, который нужно добавить в DNS записях основного домена, как правило у провайдера или хостинг провайдера. Не нажимайте Enter до того момента как запись не появится и не обновится. У всех это по разному от нескольких минут до нескольких часов.
Please deploy a DNS TXT record under the name:
_acme-challenge.vmdc01.ladm.lazyadmin.ru.
with the following value:
[hash key value generated by certbot]
Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.vmdc01.ladm.lazyadmin.ru.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.
проверять можно на разных сервисах:
https://2whois.ru/?t=dig&data=_acme-challenge.vmdc01.ladm.lazyadmin.ru&dns=ns1.jino.ru&dig_type=txt
https://2whois.ru/?t=dig&data=_acme-challenge.vmdc01.ladm.lazyadmin.ru&dns=1.1.1.1&dig_type=txt
https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.vmdc01.ladm.lazyadmin.ru
Когда в выдаче команды DIG появится запись, можно будет продолжить и нажать Enter
;; ANSWER SECTION:
_acme-challenge.vmdc01.ladm.lazyadmin.ru. 10800 IN TXT "[hash key value generated by certbot]"
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/vmdc01.ladm.lazyadmin.ru/fullchain.pem
Key is saved at: /etc/letsencrypt/live/vmdc01.ladm.lazyadmin.ru/privkey.pem
This certificate expires on YYYY-MM-DD.
These files will be updated when the certificate renews.
Такой сертификат не обновляется автоматически, поэтому его нужно будет обновить до указанной даты
NEXT STEPS:
- This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date.
Создаем ссылки
sudo cp /etc/letsencrypt/live/vmdc01.ladm.lazyadmin.ru/fullchain.pem /var/lib/samba/private/tls/vmdc01-cert.pem
sudo cp /etc/letsencrypt/live/vmdc01.ladm.lazyadmin.ru/privkey.pem /var/lib/samba/private/tls/vmdc01-key.pem
Добавляем в Samba, в секцию [Global]
sudo nano /etc/samba/smb.conf
tls enabled = yes
tls keyfile = tls/vmdc01-key.pem
tls certfile = tls/vmdc01-cert.pem
tls cafile =
sudo systemctl restart samba-ad-dc.service
проверка через TCP
sudo openssl s_client -showcerts -connect vmdc01.ladm.lazyadmin.ru:636
---
Server certificate
subject=CN = vmdc01.ladm.lazyadmin.ru
issuer=C = US, O = Let's Encrypt, CN = E7
---
No client certificate CA names sent
Requested Signature Algorithms: RSA+SHA256:RSA-PSS+SHA256:RSA-PSS+SHA256:ECDSA+SHA256:Ed25519:RSA+SHA384:RSA-PSS+SHA384:RSA-PSS+SHA384:ECDSA+SHA384:Ed448:RSA+SHA512:RSA-PSS+SHA512:RSA-PSS+SHA512:ECDSA+SHA512:RSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA256:RSA-PSS+SHA256:RSA-PSS+SHA256:ECDSA+SHA256:Ed25519:RSA+SHA384:RSA-PSS+SHA384:RSA-PSS+SHA384:ECDSA+SHA384:Ed448:RSA+SHA512:RSA-PSS+SHA512:RSA-PSS+SHA512:ECDSA+SHA512
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2502 bytes and written 441 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---