抽象:
网上银行正成为满足我们银行业务需求的一种非常流行的方式,甚至包括没有或只有很少技术背景的人。在线进行银行交易有很多优势,例如24/7银行营业时间,在世界任何地方进行交易的能力以及便利性。唯一的问题是我们不会随身携带安全的家用PC。因此,将其他计算机和操作系统(而不是我们自己的计算机和操作系统)用于在线银行可能会带来很大的安全风险。但是,我们通常可以随身携带的都是某种USB密钥存储设备。本文介绍了一种构建我们自己的自定义在线银行USB live桌面的方法。
介绍
通过具有专用于满足我们的在线银行需求的可启动Live Linux发行版的USB密钥的解决方案,即使在旅行时也非常方便,而且每天使用时,也非常方便。通常,计算机是在大学,家庭成员或朋友之间共享的,因此很有可能将我们的个人详细信息提供给某些欺诈者及其复杂的骗局和软件。而且,加密我们的非永久性USB密钥会使Live USB网上银行台式机在落入敌手之时毫无价值。因此,使用gorilla-password(双重加密)之类的应用程序将在线密码直接存储在USB本身上没有任何危害。也许本指南的结果不如著名的IronKey具有所有闪亮的功能,但是如果没有足够的空间来改进它,我们都会错过乐趣。
本文将包括四个主要部分:
- 建立Debian USB实时映像
- 在USB实时映像中自定义桌面环境
- 使用自定义环境和加密来重建USB活动图像
- 将USB LIVE图像传输到USB存储设备
先决条件
硬件
- USB密钥,最小大小为512 MB
- 带USB插槽的PC
软件
软件前提条件非常简单直接。所需要的只是具有live-helper和qemu软件包的Debian或Ubuntu桌面。
apt-get install live-helper qemu mbr
live-helper将负责实时USB映像构建,而qemu将用于定制USB在线银行桌面。 mbr将用于在USB存储驱动器上安装主引导记录。
构建USB Linux实时映像
生成Debian USB linux实时映像的最简单方法是使用live-magic应用程序,该应用程序使用许多GUI对话框指导用户完成整个过程。但是,使用这种方法,我们将完全无法控制后台发生的事情,并且最终产品的定制将更加困难。相反,我们将坚持使用命令行并直接使用live-helper。
创建配置文件
使用预定义的软件包列表
在这一点上,重要的是要知道我们要使用什么桌面环境以及我们要包括在USB实时映像中的程序/软件包。 live-helper提供了许多可供我们使用的包装清单。软件包列表的完整列表可以在以下位置找到:
ls /usr/share/live-helper/lists
例:
- k3b-core
Debian存储库中的其他软件包
您先前选择的package-list可能不包括您希望在USB live Stick上安装的所有软件,因此下一步就是选择其他软件包。
例:
- password-gorilla
- ssh
- 药师
- kcalc
- 格式
其他套餐
并非我们希望安装的所有程序都在标准Debian存储库中,因此live-helper可以选择以* .deb软件包形式包含这些程序。例如,我们可能希望安装Google Chrome或Adobe Flash Player。在继续之前,将所需的所有软件包下载到主目录中。
例:
- google-chrome-stable_current_i386.deb
- install_flash_player_10_linux.deb
注意:
这只是有关如何包括其他软件包的示例。请记住,包含非免费软件包会带来风险,因此可能会使您的安全环境不安全。
lh_config
注意:
Ubuntu用户可能没有可用的lh_ *命令。因此,相反,lh_config使用”lh config”等等。
让我们开始创建一个名为live-debian-usb的新目录:
# mkdir live-debian-usb
# cd live-debian-usb
接下来,我们将所有这些与lh_config命令放在一起:
# lh_config -p kde-core --packages "password-gorilla ssh yakuake kcalc kpdf" -b usb-hdd
执行此命令后,将在当前工作目录中创建一个配置目录。要包含其他软件包,我们需要将它们复制到config /chroot_local-packages /目录中:
# cp ~/google-chrome-stable_current_i386.deb config/chroot_local-packages/
# cp ~/install_flash_player_10_linux.deb config/chroot_local-packages/
注意:
如果您正在运行本地Debian存储库,或者已配置apt-cacher,请向lh_config添加以下选项以加快整个过程(更改IP地址和端口号):
例:
--mirror-binary=URL of local repository
--mirror-chroot=URL of local repository
现在,我们都准备建立我们的第一个图像。这是通过执行lh_build命令来完成的:
# lh_build
这可能要花点时间。 live-helper将首先创建并配置chroot环境。 chroot环境将用于构建我们的USB映像。成功构建后,您将在live-debian-directory中找到binary.img文件
USB LIVE映像定制
现在我们已经准备好USB实时映像文件,是时候启动它并自定义所有桌面环境设置了。为此,我们使用qemu:
qemu --usb binary.img
这将启动我们的新USB实时映像。进入内部后,配置和自定义桌面。例如,创建书签,更改桌面背景等。对设置满意后,请复制gzip并将整个主目录保存在实时图像之外的某个位置。如果我们的主机操作系统的IP地址是10.1.1.2,则:
# tar cvzf /tmp/user.tar.gz /home/
# scp /tmp/user.tar.gz username@10.1.1.2:~/
会将user.tar.gz文件本地存储在主机的主目录中。
重建定制的实时图像
现在,我们已将定制文件保存在本地,我们需要重建整个映像并包括定制的/home /user目录。首先清理我们的编译:
# lh_clean
现在,我们更新配置,以指示live-helper加密整个USB LIVE映像:
注意:
加密是可选的。如果我们的USB棒由于某些不可预见的原因而丢失,我只会派上用场。
# lh_config -p kde-core --packages "password-gorilla ssh yakuake kcalc kpdf" -b usb-hdd -e aes256
然后导航到config /chroot_local-includes /并解压缩user.tar.gz:
cd config/chroot_local-includes/
cp ~/user.tar.gz .
tar xvzf user.tar.gz; rm user.tar.gz; cd -
注意:
随时添加更多自定义文件。例如,如果要包含自定义的/etc /network /interfaces,则需要在config /chroot_local-includes /中创建所有父目录,然后在其中复制接口文件。一切准备就绪,可以构建最终的LIVE USB版本:
# lh_build
这一次不要在构建LIVE图像时失控,因为将提示您输入至少20个字符的密码。因此,在live-helper工作期间,请利用这段时间考虑安全的问题以及您可以记住的内容。成功构建后,您将在当前工作目录中准备好binary.img文件。
将USB LIVE图像传输到USB memory 棒
如果到此为止,您应该在binary.img文件形式的当前工作目录中拥有一个运行版本的USB LIVE映像。要将图像传输到USB memory 棒,我们首先需要找到我们的USB memory 棒块设备文件的名称:
# parted -l
搜索您的USB memory 棒字符设备文件。对于本指南的其余部分,我们将假装我们的USB块设备文件名为/dev /sdX。使用dd命令传输实时图像:
# dd if=binary.img of=/dev/sdX
注意:
下列linux命令将从USB memory 棒中删除所有数据!注意:您需要覆盖整个磁盘(/dev /sdX)而不是仅覆盖单个分区(/dev /sdX1)如果您的USB stisk没有安装MBR(主引导记录),请使用install-mbr命令这样做:
# install-mbr /dev/sdX
注意:
我的安装花了大约450MB,所以请不要忘记使用parted来声明未使用的USB存储空间。
启动USB LIVE
所有人都应该准备好启动USB live在线银行桌面。将您的BIOS引导设置更改为USB驱动器即可使用。
结论
可启动的USB LIVE memory 棒可以很方便地在任何能够从USB设备启动的计算机上使用。除了将在线银行密码存储在USB LIVE映像中之外,几乎没有任何缺点,因为当密码更改时,需要重新构建映像。由于USB LIVE被锁定在最少20个字符的密码后面,因此有人可以访问我们的密码的机会接近于0。非永久模式可确保无法将任何种类的间谍软件存储比单独存储更长的时间会议。但是,仍有大量空间可用于改进防火墙,引导启动等。