Ubuntu PureFtpd Mysql 使用TLS

請事先使用 letsencrypt 獲取憑證

一、初步建立憑證

1.開啟pureftpd的TLS認證

echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
echo "10000 10100" > /etc/pure-ftpd/conf/PassivePortRange

2.利用letsencrypt 所獲得的憑證合成TLS憑證

cat /etc/letsencrypt/live/example.com/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/ssl/private/pure-ftpd.pem

3.修改剛剛所得到的TLS憑證權限

chmod 600 /etc/ssl/private/pure-ftpd.pem

4.重新啟動pureftpd-mysql

/etc/init.d/pure-ftpd-mysql restart

 

二、自動更新憑證

利用letsencrypt 所產生的憑證3個月就要重新更新一次,所以我們合成的TLS憑證同樣也要更新,

我們使用LINUX的排程系統進行更新TLS。

1.建立tls.sh檔案

vi /bin/tls.sh

2.tls.sh檔案內容

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

rm -rf /etc/ssl/private/pure-ftpd.pem

cat /etc/letsencrypt/live/example/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/ssl/private/pure-ftpd.pem

chmod 600 /etc/ssl/private/pure-ftpd.pem

/etc/init.d/pure-ftpd-mysql restart

exit 0
~

3.編輯crontab排程檔

vi /etc/crontab

5.將tls.sh檔加入排程系統最後一行即可完成

40 2 * * 7 root sh /bin/tls.sh

 

Posted in FTP