安装Tomoyo Linux到Debian上

好好使用TOMOYO Linux。

这只是一张备忘录,因为听到名字就感觉有些出戏,并且没有太多关于使用和操作的技巧,所以我决定先自己尝试使用一下。希望能有更多人使用并分享经验,这样就会更加令人开心。我觉得还有很多人误以为这仍然是个迷之派发行版呢。

因为有很多不同的考虑,我在想有没有一种易于引入的安全解决方案,然后我想到了TOMOYO Linux。
这次我重新配置了我的个人环境,使用Debian stretch,并在一开始就启用了TOMOYO来进行操作。在这里,首先只是要引入,然后希望能够逐渐进行运营并实施执行控制。

首先,TOMOYO Linux是什么来着?

请参考公式文档和维基百科。
这是一种在Linux上实现强制访问控制的安全操作系统。启用此功能后,可以限制除预先配置或学习的操作之外的行为,并且即使是以root权限运行的进程,也可以控制不被允许的行为。
因此,即使存在某些漏洞,并尝试进行”权限劫持”或”任意代码执行”等攻击,如果这些行为不是预先允许的操作,系统也可以拒绝执行。

顺便提一下,TOMOYO Linux由NTT数据开发,这是一个有名的故事,同时Debian的TOMOYO相关软件包的维护者也是来自日本。虽然有点过时,但正如维护者山根先生在他的文章中所述,Debian对安全操作系统持比较中立的立场。因此,我认为安装门槛相对较低的TOMOYO Linux是一个有意义的选择。

请务必阅读一下官方文档,尽管它非常详尽,但理解起来可能会有些困难。

首先进行安装。

在Debian上,由于提供了官方软件包,因此请使用apt进行安装。

安装libtomoyotools3和tomoyo-tools,可以使用以下命令:
“`
apt-get安装libtomoyotools3 tomoyo-tools
“`

GRUB_CMDLINE_LINUX_DEFAULT=quiet security="tomoyo"

有一个文档要求添加,但是在stretch中,使用apt-get安装会自动添加。很方便。

当执行/usr/lib/tomoyo/init_policy时,在/etc/tomoyo目录下会创建配置文件,然后重新启动,仅仅通过这样就能使用TOMOYO Linux有效的内核启动。

记录日志

当TOMOYO Linux拒绝访问或检测到与策略不匹配的行为时,记录日志会很方便。这是通过名为tomoyo-auditd的守护程序实现的,只需启动它即可。作为当今的正确做法,我认为应该使用systemd来完成。

[Unit]
Description=TOMOYO Linux Auditing Daemon

[Service]
Type=forking
ExecStart=/usr/sbin/tomoyo-auditd
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

将其保存为/etc/systemd/system/tomoyo-auditd.service。然后,

# systemctl daemon-reload
# systemctl start tomoyo-auditd.service
# systemctl enable tomoyo-auditd.service

如果这样做,Tomoyo-auditd会启动,并且会在操作系统启动时自动启动。另外,你可以顺便设置日志轮转吗?

试试看实际使用

执行tomoyo-editpolicy命令后,策略编辑器将启动,并默认显示已记录的域。请阅读官方文档,详细了解”域”的概念以及”配置文件”和”模式”的机制。只要略微浏览策略编辑器,你应该就能理解了…
“域”类似于进程,但它是TOMOYO Linux特有的更深层次的概念。”模式”分为”disabled”、”learning”、”permissive”和”enforcing”这四种,暂且记住这个就可以了。

因为使用方法与运营相互关联,所以事先要想象好流程。大致来说,大概就是这样吧。

    1. 通过学习服务器的行为,将域名按适当的单位进行整理和分割。

 

    1. 将整理后的域名转换为学习模式,以学习详细的访问要求。

 

    1. 对学习到的访问要求进行模式化和整合。

 

    1. 在达到一定程度后,切换到宽松模式,并检查是否有泄漏的策略。

 

    1. 如果没有问题,将该域名切换到强制模式。

 

    在其他域名上重复相同的操作。

根据环境和使用方式,决定从哪个领域开始。即使只是让它学习运作,了解个别进程的内部行为也很有趣,所以让我们一定试着运行它。

由于时间的延长和我仍在试探未来的方向,关于域名管理和学习的讨论将再议。