咱們在平時的 Linux 運維管理的時候,常常會進行各類數據備份任務。將數據導出而後打包。一般在安全性要求比較高的環境下,咱們能夠藉助 OpenSSL 工具對打包後的數據進行加密,這樣能進一步的保障數據的安全性。算法
1. 使用 openssl 加密一個文件 (data.zip 爲原始文件,back.zip 爲加密以後的文件)安全
# openssl enc -e -aes256 -in data.zip -out back.zip
解釋: enc 表示對文件進行對稱加密或解密, -e 表示對一個文件進行加密操做,-aes256 表示使用 aes256 算法進行加密,-in 表示須要被加密的文件,-out 表示加密以後生成的新文件。加密過程當中會要求輸入一個加密密碼,重複輸入兩次便可完成對文件的加密運維
2. 使用 openssl 解密一個文件 (back.zip 爲加密的文件,data.zip 爲解密以後的文件)工具
# openssl enc -d -aes256 -in back.zip -out data.zip
解釋: enc 表示對文件進行對稱加密或解密, -d 表示對文件進行解密操做,-aes256 表示使用 aes256 算法進行解密,-in 表示須要被解密的文件,-out 表示解密以後生成的新文件,解密一個文件的時候會要求輸入加密文件時設置的密碼才能進行解密。加密
1. 首先須要使用 openssl 生成一個 2048 位的密鑰 rsa.key 文件 (rsa.key 密鑰文件中包含了私鑰和公鑰)spa
# openssl genrsa -out rsa.key 2048
2. 而後從 rsa.key 密鑰文件中提取出公鑰 pub.keycode
# openssl rsa -in rsa.key -pubout -out pub.key
3. 使用 pub.key 公鑰加密一個文件 (data.zip 爲原始文件,back.zip 爲加密以後的文件)ip
# openssl rsautl -encrypt -inkey pub.key -pubin -in data.zip -out back.zip
4. 使用 rsa.key 私鑰解密一個文件 (back.zip 爲加密的文件,data.zip 爲解密以後的文件)ssl
# openssl rsautl -decrypt -inkey rsa.key -in back.zip -out data.zip
最後咱們使用 OpenSSL 工具,對全部備份的數據文件進行加密存儲,就能保證業務系統數據進行保護,防止泄漏。咱們也能夠使用其餘的加密工具好比 GPG,VeraCrypt,trueCrypt 這些工具來對數據進行加密,但相比而言,使用 OpenSSL 更加方便,由於幾乎每種 Linux 發行版都預裝了 OpenSSL 軟件包。openssl