MENU

DirectAdmin启用备份加密

February 25, 2020 • Read: 1691 • 笔记阅读设置

DirectAdmin官方曾在1.53.1版本中加入了Backup encryption功能BETA版本。
更新日志:https://www.directadmin.com/features.php?id=2117

很久之前我已经看到这个功能,但一直没有推出正式版本,所以一直没有在生产环境中加入该功能。
目前和官方沟通确认,确定备份加密功能足够稳定,已去掉BETA字样,但该功能目前为止还是默认关闭。
20200225120551.jpg

下面启用它

#定位到DirectAdmin目录
cd /usr/local/directadmin/
#为防止日后DirectAdmin在更新中默认启用该功能,我们先需要确认该功能是否已经启用。
./directadmin c |grep allow_backup_encryption
#如果没有返回 allow_backup_encryption=1 内容,则代表该功能未启用,可以继续执行下面的命令启用。
./directadmin set allow_backup_encryption 1
#重启DirectAdmin
service directadmin restart

在以下模板文件添加功能相关内容,路径 /usr/local/directadmin/data/skins/enhanced
admin/admin_backup.html
reseller/backups.html
admin/admin_backup_modify.html
reseller/backup_modify.html

#Added this below the append path tr:

                |*if ALLOW_BACKUP_ENCRYPTION="1"|
                <tr>
                    <td class=listtitle></td>
                    <td class=listtitle>
                        |LANG_BACKUP_ENCRYPTION|
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td>
                        <table cellpadding=0 cellspacing=1 width=100%>
                            <tr>
                                <td class=list align=right>|LANG_PASSWORD|:</td>
                                <td class=list>
                                    <input type=password name='encryption_password' value="|encryption_password|" placeholder='|LANG_OMIT_NO_ENC|' autocomplete="new-password">
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                |*endif|


#and farther down for the restore, after the |FILES|</div>, add:

            |*if ALLOW_BACKUP_ENCRYPTION="1"|
            <table width=100% cellspacing=1 cellpadding=0>
                <tr>
                    <td class=listtitle>
                        |LANG_BACKUP_DECRYPTION|
                    </td>
                </tr>
                <tr>
                    <td>
                        <table cellpadding=0 cellspacing=1 width=100%>
                            <tr>
                                <td class=list align=right>|LANG_PASSWORD|:</td>
                                <td class=list>
                                    <input type=password name='encryption_password' value="|encryption_password|" autocomplete="new-password">
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
            |*endif|

在style.css添加

.green_lock {
    FONT-SIZE: 12pt;
    color: transparent;  
    text-shadow: 0 0 0 #009900;
}

此时可以在管理后台看到加密功能了
20200225123230.jpg

可以在管理后台测试一遍加密/解密备份,压缩包文件后缀 .enc 就是加密文件。
如果不想在后台测试,可以使用官方提供的脚本手动加解密。

/usr/local/directadmin/scripts/encrypt_file.sh <filein> <encryptedout> <passwordfile>
/usr/local/directadmin/scripts/decrypt_file.sh <encryptedin> <fileout> <passwordfile>

使用方法:
先创建一个带密码的文件,用于加解密

vi /home/pw

准备一个备份文件 类似reseller.xxx.xxx.tar.gz

#加密
/usr/local/directadmin/scripts/decrypt_file.sh /home/admin/admin_backups/reseller.xxx.xxx.tar.gz /home/admin/admin_backups/reseller.xxx.xxx.tar.gz.enc /home/pw
#解密
/usr/local/directadmin/scripts/decrypt_file.sh /home/admin/admin_backups/reseller.xxx.xxx.tar.gz.enc /home/admin/admin_backups/reseller.xxx.xxx.tar.gz /home/pw

解压查看备份文件是否完好

cd /home/admin/admin_backups/
tar -zxvf reseller.xxx.xxx.tar.gz -C /tmp/

如果确认备份文件完整无误,就可以将该功能正式投入生产环境使用。

Last Modified: July 29, 2020
Archives QR Code
QR Code for this page
Tipping QR Code