把员工的信息保存在加密的Linux分区中
来源:互联网 发布:淘宝客网站模板下载 编辑:程序博客网 时间:2024/05/17 03:44
本文的主题就是如何用加密文件系统在硬盘中保护敏感数据。这个方案是提供给那些移动用户和需要在服务器和工作站中保护数据安全的人们的。
我们时不时地能看到这样的头条新闻:“某公司损失了3千万客户的个人社会安全码,以及其他个人敏感信息还有财务数据!我们不该愤怒吗?”通常都是“承包商”(注意为什么从来都不会是雇员)在他的(似乎是)带有千兆硬盘的笔记本上存储了所有这些信息,然后这个笔记本丢失或者被盗走了,但是没有人知道准确的时间和地点。或者是,某个供应商负责运输一大盒备份磁带,而显然这个供应商“太穷了”,连带有防盗锁的汽车都买不起。对我来说,这些解释都是无稽之谈,甚至是荒谬;承包商怎么会最先获得所有的敏感数据?为什么他们需要把所有的数据放到笔记本上?为什么要让买不起高安全性能的汽车的那些人来运送一大盒的敏感信息备份磁带呢?他们怎么会知道丢失了哪些数据,怎么会知道这些数据是否被加密或者究竟有没有被妥善保护?
还真是有不少无法回答的问题。本文的主题就是如何用加密文件系统在硬盘中保护敏感数据。这个方案是提供给那些移动用户和需要在服务器和工作站中保护数据安全的人们的。我们将使用既简单又功能强大的cryptsetup-luks。我们会创建一个加密的分区,只需在装载时提供口令。然后你就可以像其他分区一样地使用该分区了。
Debian,Ubuntu,还有Fedora都可以用cryptsetup-luks了。你不需要修改内核或者其他任何东西;你只要安装就行了。
Debian和Ubuntu 系列上:
# aptitude安装cryptsetup
在Fedora上:
#yum安装cryptsetup-luks
让系统做好准备
不幸的是,cryptsetup不能给你系统中现有的数据加密;因此你必须创建加密的分区,然后将数据转移到新建的分区中。用GParted(Gnome分区编辑器)来管理分区很方便,所有主流的Linux版本上都有GParted。你可以用它重新设置分区大小、移动、删除或者创建分区,并且可以选择自己喜欢的文件系统格式化方式。它能够支持你系统内核所支持的所有的分区类型以及文件系统,因此如果你机器上是双系统的话,你甚至可以在Windows分区上使用该工具。如果是新的硬盘分区上的话,你可以用Gparted live CD。
本文中我们只探讨怎样给数据分区加密。我也知道许多方法可以给其他文件系统的、保存了潜在的敏感信息的那些分区加密,比如/var和/etc,但是这两个都很复杂并且刁钻,它们都不能能在启动的时候加密。因此,我这里只讨论现有的比较成熟的这些,因为根据我自己的测试,其他那些方法还无法稳定工作。
你用一种文件系统将分区格式化并没有什么关系,所有东西都可以重写,加密后文件格式也是可变的。
你将用密码来保护你的加密分区。如果你把密码弄丢了,那就太不幸了,你就无法取回这些数据了。
给分区加密
有了新的空白分区后,你可以用cryptsetup命令来给它加密。注意一定确保是在加密要保护的那个分区:
# cryptsetup --verbose --verify-passphrase -c aes-cbc-plain luksFormat/dev/sda2当心!
这将把不可逆转地改写/dev/sda2 上的数据。
Are you sure? (Type uppercase yes): YESEnter LUKS passphrase:Verify passphrase:Command successful.以上命令创建加密的分区。现在我们需要创建可以装载的逻辑分区,并给它命名。本例中,我们给它命名为sda2,你也可以叫它test、fred、我的秘密分区或者任何你喜欢的名字:
# cryptsetup luksOpen /dev/sda2 sda2Enter LUKS passphrase:key slot 0 unlocked.Command successful.
如下命令将显示/dev/mapper路径中的隐藏设备:
$ ls -l /dev/mappertotal 0crw-rw---- 1 root root 10, 63 2007-06-09 18:38 controlbrw-rw---- 1 root disk 254, 0 2007-06-09 19:46 sda2现在把文件系统放到逻辑分区上:
# mkfs.ext3 /dev/mapper/sda2你需要做一个装载点,这样你就能装载并且使用这个新的、加密过的分区了。记住,你必须从/dev/mapper/路径下使用该设备。我会把它放在根目录下。注意哪些需要根权限的操作:
$ mkdir /home/me/crypted# mount /dev/mapper/sda1 /home/me/crypted确保它被装载了,编写一个测试文件:
# df -H[...]Filesystem Size Used Avail Use% Mounted on/dev/mapper/sda2 7.9G 152M 7.3G 3% /home/carla/crypted# cd /home/me/crypted# nano test# lslost+found test让它对用户可用
到目前为止一切顺利!但还有一个大问题:只有本地才能访问该分区。我们得让普通用户也能使用它。你可以在/etc/fstab中能够管理这个虚拟分区,就像管理其他分区一样。往/etc/fstab中加入一行,以便允许没有特殊权限的用户来加载或者卸载该分区:
/dev/mapper/sda2 /home/carla/crypted ext3 user,atime,noauto,rw,dev,exec,suid 0 0这样Carla可以自己加载这个分区了:
$ mount ~/crypted但是Carla仍然无法往其中写入数据。因此我们再次需要设置本地权限,把正确的权限和许可方如已经加载的隐藏设备:
# chown carla:carla /home/carla/crypted/# chmod 0700 /home/carla/crypted/好了那么,很多人都可以像Carlas一样了!但是我们需要让Carla读写一些加密的文件夹,而让其他人无法读写这些文件夹。
你可以卸载并且手动关闭加密分区:
$ umount crypted# cryptsetup luksClose sda2只有在打开加密设备的时候,你才需要输入LUKS密码。记住,如果丢了密码,你就完蛋了。你可以删除分区重新再来,但是数据是无法恢复的。打开加密设备并加载以后,你就可以像使用其它分区一样使用它了。
你得用本地权限来运行cryptsetup。这对用户来说可能不是很方便。我们也有很多针对这个问题的解决方法。其中一种就是使用sudo;Ubuntu用户有现成的全功能的sudo。另一种方法是把它设置成在系统启动的时候开启,并在系统关闭的时候关闭。或者你也可能想要创建一些桌面图标,以便让用户可以随时按需要启动和关闭它。
- 把员工的信息保存在加密的Linux分区中
- 把客户端的信息保存在flash的SharedObject中,实现类似cookies的功能
- SQLserver中把数据文件保存在不同的盘中
- 利用jws发布一个查询员工信息的Web服务(员工信息存储在数据库中)
- linux加密分区的创建和使用
- linux访问加密的home分区
- Linux- 分区的加密、LVM、raid、配额
- linux中scp保存密钥信息的文件
- 在Linux下的分区
- linux-备份硬盘的分区信息:
- 在matlab中把矩阵保存为二进制文件,在c中打开的方法
- 保存员工同时保存关联的部门
- 使用LVM在vmware中增大linux的根分区
- 查询在2月份入职的所有员工信息
- 以把你所有的密码信息保存起来
- 如何把X264输出的INFO信息保存到文件
- 怎么把android程序崩溃的信息保存起来
- IOTest把登录信息保存,下次打开自动读取保存的登录信息,无需再次输入
- linux下安装apache详解
- 关于国内实时操作系统的接口标准统一
- How to compare Strings in Java
- Ubuntu 12.04和Windows 7双系统的安装方法
- hashmap 设计
- 把员工的信息保存在加密的Linux分区中
- MAC OS下如何让ADB如何识别android设备
- ubuntu 下第一个php扩展开发记录
- 心得3--Servlet的一些细节 .
- URL编码,解码
- 51单片机-STC89C54波特率以及双时钟探讨
- 设计模式——单例模式Singleton
- 解决Ip无法自动获取问题
- Ubuntu下配置samba实现文件夹共享