Debian数据安全基础

2024-01-29 53

数据安全性是维护信息完整性、确保隐私和防止未授权访问的关键要素。在数字时代,使用加密工具来保护数据变得尤为重要。GnuPG(也称为GPG)是一个广泛使用的免费加密软件,它提供了一种用于数据加密和数字签名的方法,确保了通信的安全性和数据的不可否认性。

数据安全基础工具列表:

软件包 流行度 大小 命令 说明
gnupg V:554, I:910 885 gpg(1) GNU 隐私卫士 – OpenPGP 加密和签名工具
gpgv V:895, I:999 922 gpgv(1) GNU 隐私卫士 – 签名验证工具
paperkey V:1, I:13 58 paperkey(1) 从 OpenPGP 私钥里面,仅仅导出私密信息
cryptsetup V:33, I:80 410 cryptsetup(8), … dm-crypt 块设备加密支持 LUKS 工具
coreutils V:881, I:999 18307 md5sum(1) 计算与校验 MD5 讯息摘要
coreutils V:881, I:999 18307 sha1sum(1) 计算与校验 SHA1 讯息摘要
openssl V:840, I:995 2294 openssl(1ssl) 使用 “openssl dgst” (OpenSSL)计算信息摘要
libsecret-tools V:0, I:11 41 secret-tool(1) 存储和取回密码 (CLI)
seahorse V:77, I:266 7987 seahorse(1) 密钥管理工具(GNOME)

一、GnuPG密钥管理

如下是 GNU 隐私卫士 基本的密钥管理命令。

GNU 隐私卫士密钥管理命令的列表:

命令 说明
gpg --gen-key 生成一副新的密钥对
gpg --gen-revoke my_user_ID 生成 my_user_ID 的一份吊销证书
gpg --edit-key user_ID 交互式的编辑密钥,输入 “help” 来获得帮助信息
gpg -o file --export 把所有的密钥输出到文件
gpg --import file 从文件导入密钥
gpg --send-keys user_ID 发送 user_ID 的公钥到公钥服务器
gpg --recv-keys user_ID 从公钥服务器下载 user_ID 的公钥
gpg --list-keys user_ID 列出 user_ID 的所有密钥
gpg --list-sigs user_ID 列出 user_ID 的签字
gpg --check-sigs user_ID 检查 user_ID 密钥签字
gpg --fingerprint user_ID 检查 user_ID 的指纹
gpg --refresh-keys 更新本地密钥

信任码含义列表:

代码 信任描述
- 没有所有者信任签名/没有计算
e 信任计算失败
q 没有足够的信息用于计算
n 从不信任这个键
m 最低限度的信任
f 完全信任
u 最终信任

如下命令上传我的 “1DD8D791” 公钥到主流的公钥服务器 “hkp://keys.gnupg.net”。

$ gpg --keyserver hkp://keys.gnupg.net --send-keys 1DD8D791

默认良好的公钥服务器在 “~/.gnupg/gpg.conf” (旧的位置在 “~/.gnupg/options”)文件中设置,此文件包含了以下信息。

keyserver hkp://keys.gnupg.net

从钥匙服务器获取无名钥匙。

$ gpg --list-sigs --with-colons | grep '^sig.*\[User ID not found\]' |\
cut -d ':' -f 5| sort | uniq | xargs gpg --recv-keys

有一个错误在 OpenPGP 公钥服务器 (先前的版本 0.9.6),会将键中断为 2 个以上的子键。新的 gnupg (>1.2.1-2) 软件包能够处理这些中断的子键。

二、文件使用GnuPG

这里有一些在文件上使用 GNU 隐私卫士 命令的例子。

在文件上使用的 GNU 隐私卫士的命令列表:

命令 说明
gpg -a -s file ASCII 封装的签名文件 file.asc
gpg --armor --sign file 同上
gpg --clearsign file 生成明文签字信息
gpg --clearsign file|mail foo@example.org 发送一份明文签字到 foo@example.org
gpg --clearsign --not-dash-escaped patchfile 明文签名的补丁文件
gpg --verify file 验证明文文件
gpg -o file.sig -b file 生成一份分离的签字
gpg -o file.sig --detach-sign file 同上
gpg --verify file.sig file 使用 file.sig 验证文件
gpg -o crypt_file.gpg -r name -e file 公钥加密,从文件里面获取名字,生成二进制的 crypt_file.gpg
gpg -o crypt_file.gpg --recipient name --encrypt file 同上
gpg -o crypt_file.asc -a -r name -e file 公钥加密,从文件中获取名字,生成 ASCII 封装的 crypt_file.asc
gpg -o crypt_file.gpg -c file 将文件对称加密到 crypt_file.gpg
gpg -o crypt_file.gpg --symmetric file 同上
gpg -o crypt_file.asc -a -c file 对称加密,从文件到 ASCII 封装的 crypt_file.asc
gpg -o file -d crypt_file.gpg -r name 解密
gpg -o file --decrypt crypt_file.gpg 同上

三、Mutt使用GnuPG

增加下面内容到 “~/.muttrc”,在自动启动时,避免一个慢的 GnuPG,在索引菜单中按 “S” 来允许它使用。

macro index S ":toggle pgp_verify_sig\n"
set pgp_verify_sig=no

四、Vim使用GnuPG

gnupg 插件可以让对扩展名为 “.gpg”, “.asc”, 和 “.pgp”的文件可靠的运行 GnuPG。[7]

$ sudo aptitude install vim-scripts
$ echo "packadd! gnupg" >> ~/.vim/vimrc

五、MD5校验和

md5sum(1) 提供了制作摘要文件的一个工具,它使用 rfc1321 里的方式制作摘要文件.

$ md5sum foo bar >baz.md5
$ cat baz.md5
d3b07384d113edec49eaa6238ad5ff00 foo
c157a79031e1c40f85931829bc5fc552 bar
$ md5sum -c baz.md5
foo: OK
bar: OK

注意:MD5 校验和的 CPU 计算强度是比 GNU Privacy Guard (GnuPG) 加密签名要少的.在通常情况下,只有顶级的摘要文件才需要加密签名来确保数据完整性.

六、密码密钥环

在 GNOME 系统,GUI(图形用户界面)工具 seahorse(1) 管理密码,安全的在密钥环~/.local/share/keyrings/* 里面保存它们。secret-tool(1) 能够从命令行存储密码到钥匙环。

让我们存储 LUKS/dm-crypt 加密磁盘镜像用到的密码

$ secret-tool store --label='LUKS passphrase for disk.img' LUKS my_disk.img
Password: ********

这个存储的密码能够被获取并给到其它程序,比如 cryptsetup(8)。

$ secret-tool lookup LUKS my_disk.img | \
cryptsetup open disk.img disk_img --type luks --keyring -
$ sudo mount /dev/mapper/disk_img /mnt

无论何时,需要在一个脚本里面提供密码时,使用 secret-tool 来避免将密码直接硬编码到脚本里面。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。