cryptnight脚本怎么去除

发布网友

我来回答

1个回答

热心网友

一、设置内核 dm -crypt利用内核的密码应用编程接口来完成密码操作。一般说来,内核通常将各种加密程式以模块的形式加载。对于256-bit AES来说,其安全强度已非常之高,即便用来保护绝密级的数据也足够了。因此本文中我们使用256-bit AES密码,为了确保你的内核已加载AES密码模块,请利用下列命令进行检查: $ cat /proc/crypto如果看到类似下面的输出的话,说明AES模块已加载: name : aes mole : aes type : cipher blocksize : 16 min keysize : 16 max keysize : 32 否则,我们能利用modprobe来手工加载AES模块,命令如下所示: $ sudo modprobe aes 接下来安装dmsetup软件包,该软件包含有设置device-mapper所需的工具: $ sudo apt-get install dmsetup cryptsetup为检查dmsetup软件包是否已建立了设备映象程式,键入下列命令: $ ls -l /dev/mapper/control接下来加载dm-crypt内核模块: $ sudo modprobe dm-cryptdm-crypt加载后,他会用evice-mapper自动注册。如果再次检验的话,device-mapper已能识别dm- crypt,并且把crypt 添加为可用的对象: $ sudo dmsetup targets如果一切顺利,目前你应该看到crypt的下列输出: crypt v1.1.0 striped v1.0.2 linear v1.0.1 error v1.0.1 这说明我们的系统已为装载加密设备做好了准备。下面,我们先来建立一个加密设备。 二、建立加密设备 要创建作为加密设备装载的文件系统,有两种选择:一是建立一个磁盘映像,然后作为回送设备加载;二是使用物理设备。无论那种情况,除了在建立和*回送设 备外,其他操作过程都是相似的。 1.建立回送磁盘映象 如果你没有用来加密的物理设备(比如存储棒或另外的磁盘分区),作为替换,你能利用命令dd来建立一个空磁盘映象,然后将该映象作为回送设备来装载,照样 能用。下面我们以实例来加以介绍: $ dd if=/dev/zero of=~/secret.img bs=1M count=100这里我们新建了一个大小为100 MB的磁盘映象,该映象名字为secret.img。要想改动其大小,能改动count的值。 接下来,我们利用losetup命令将该映象和一个回送设备联系起来: $ sudo losetup /dev/loop/0 ~/secret.img目前,我们已得到了一个虚拟的块设备,其位于/dev/loop/0,并且我们能够如同使用其他设备那样来使用他。 2.设置块设备 准备好了物理块设备(例如/dev/sda1),或是虚拟块设备(像前面那样建立了回送映象,并利用device-mapper将其作为加密的逻辑卷加 载),我们就能进行块设备设置了。 下面我们使用cryptsetup来建立逻辑卷,并将其和块设备*: $ sudo cryptsetup -y create myEncryptedFilesystem /dev/DEVICENAME其中,myEncryptedFilesystem 是新建的逻辑卷的名称。并且最后一个参数必须是将用作加密卷的块设备。所以,如果你要使用前面建立的回送映象作为虚拟块设备的话,应当运行以下命令: $ sudo cryptsetup -y create myEncryptedFilesystem /dev/loop/0无论是使用物理块设备还是虚拟块设备,程式都会要你输入逻辑卷的口令,-y的作用 在于要你输入两次口令以确保无误。这一点非常重要,因为一旦口令弄错,你就会把自己的数据锁住,这时谁也帮不了你了! 为了确认逻辑卷是否已建立,能使用下列命令进行检查一下: $ sudo dmsetup ls只要该命令列出了逻辑卷,就说明已成功建立了逻辑卷。不过根据机器的不同,设备号可能有所不同: myEncryptedFilesystem (221, 0)device-mapper会把他的虚拟设备装载到/dev/mapper下面,所以,你的虚拟块设备应该是/dev/mapper /myEncryptedFilesystem ,尽管用起来他和其他块设备没什么不同,实际上他却是经过透明加密的。 如同物理设备相同,我们也能在虚拟设备上创建文件系统: $ sudo mkfs.ext3 /dev/mapper/myEncryptedFilesystem目前为新的虚拟块设备建立一个装载点,然后将其装载。命令如下所示: $ sudo mkdir /mnt/myEncryptedFilesystem $ sudo mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem我们能够利用下面的命令 查看其装载后的情况: $ df -h /mnt/myEncryptedFilesystem Filesystem Size Used Avail Use% Mounted on /dev/mapper/myEncryptedFilesystem 97M 2.1M 90M 2% /mnt/myEncryptedFilesystem 非常好,我们看到装载的文件系统,尽管看起来和其他文件系统无异,但实际上写到/mnt/myEncryptedFilesystem /下的所有数据,在数据写入之前都是经过透明的加密处理后才写入磁盘的,因此,从该处读取的数据都是些密文。 三、卸载方法 要卸载加密文件系统,和平常的方法没什么两样: $ sudo umount /mnt/myEncryptedFilesystem即便已卸载了块设备,在dm-crypt中仍然视为一个虚拟设备。如若不信,你能再次运行命令 sudo dmsetup ls来验证一下,你会看到该设备依然会被列出。因为dm-crypt缓存了口令,所以机器上的其他用户不必知道口令就能重新装载该设备。为了避免这种情况 发生,你必须在卸载设备后从dm-crypt中显式的删除该设备。命令具体如下所示: $ sudo cryptsetup remove myEncryptedFilesystem此后,他将完全清除,要想再次装载的话,你必须再次输入口令。为了简化该过程,我们能利用一个简单的脚本来完 成卸载和清除工作: #!/bin/sh umount /mnt/myEncryptedFilesystem cryptsetup remove myEncryptedFilesystem 四、重新装载 在卸载加密设备后,我们非常可能还需作为普通用户来装载他们。为了简化该工作,我们需要在/etc/fstab文件中添加下列内容: /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem ext3 noauto,noatime 0 0此外,我们也能通过建立脚本来替我们完成dm-crypt设备的创建和卷的装载工作,方法是用实际设备的名称或文件路径来替换/dev /DEVICENAME: #!/bin/sh cryptsetup create myEncryptedFilesystem /dev/DEVICENAME mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem如果你使用的是回送设备 的话,你还能利用脚本来*设备: #!/bin/sh losetup /dev/loop/0 ~/secret.img cryptsetup create myEncryptedFilesystem /dev/loop/0 mount /dev/mapper/myEncryptedFilesystem /mnt/myEncryptedFilesystem如果你收到消息 “ioctl: LOOP_SET_FD: Device or resource busy”,这说明回送设备非常可能仍然装载在系统上。我们能利用sudo losetup -d /dev/loop/0命令将其删除。 五、加密主目录 如果设置了PAM(Pluggable Authentication Moles,即可插入式鉴别模块)子系统在你登录时装载主目录的话,你甚至还能加密整个主目录。因为libpam-mount模块允许PAM在用户登 录时自动装载任意设备,所以我们要连同openssl一起来安装该模块。命令如下所示: $ sudo apt-get install libpam-mount openssl接下来,编辑文件/etc/pam.d/中国mon-auth,在其末尾添加下列一行: auth optional pam_mount.so use_first_pass然后在文件/etc/pam.d/中国mon-session末尾添加下列一行内容: session optional pam_mount.so 目前,我们来设置PAM,告诉他需要装载哪些卷、及装载位置。对本例而言,假设用户名是Ian,要用到的设备是/dev/sda1,要添加到/etc /security/pam_mount.conf文件中的内容如下所示: volume Ian crypt - /dev/sda1 /home/Ian cipher=aes aes-256-ecb /home/Ian.key如果想使用磁盘映象,你需要在此规定回送设备(比如/dev/loop/0),并确保在Ian登录之前系统已运行 losetup。为此,你能将 losetup /dev/loop/0 /home/secret.img放入/etc/rc.local文件中。因为该卷被加密,所以PAM需要密钥来装载卷。最后的参数用来告诉PAM密钥在 /home/Ian.key文件中,为此,通过使用OpenSSL来加密你的口令来建立密钥文件: $ sudo sh -c "echo ’ YOUR PASSPHRASE ’ | openssl aes-256-ecb > /home/Ian.key"这时,提示你输入密码。注意,这里的口令必需和想要的用户登录密码一致。原因是当你登录时,PAM需要你提供这个密码,用以 加密你的密钥文件,然后根据包含在密钥文件中的口令用dm-crypt装载你的主目录。 需要注意的是,这样做会把你的口令以明文的形式暴露在.history文件中,所以要及时利用命令history -c清晰你的历史记录。此外,要想避免把口令存放在加密的密钥文件中的话,能让创建加密文件系统的口令和登录口令完全一致。这样,在身份认证时,PAM 只要把你的密码传给dm-crypt就能了,而不必从密钥文件中抽取密码。为此,你能在/etc/security/pam_mount.conf文件中 使用下面的命令行: volume Ian crypt - /dev/sda1 /home/Ian cipher=aes - -最后,为了确保在退出系统时自动卸载加密主目录,请编辑/etc/login.defs文件使得CLOSE_SESSIONS项设置如下: CLOSE_SESSIONS yes 六、小结 数据加密是一种强而有力的安全手段,他能在各种环境下非常好的保护数据的机密性。而本文介绍的Ubuntu Linux 下的加密文件系统就是一种非常有用的数据加密保护方式,相信他能够在保护数据机密性相方面对你有所帮助。 ==================================================== 另附上一部分losetup的参数 -a list all -d delete dev

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com