Grsecurity 安装
从哪得到grsecurity,以及管理工具gradm和Linux内核源代码。
验证包的真实性。
正确应用grsecurity补丁。
配置grsecurity内核选项(包括PaX设置)以及在执行此操作之前要考虑的内容。
如何使用和选择发行版工具构建和安装支持grsecurity的内核。
以下来完成下载在系统上使用grsecurity所需的所有组件的过程。 将每个组件下载到计算机上的同一目录中。
grsecurity的最新稳定版本。
gradm的匹配版本,grsecurity的管理实用程序。
Linux内核的完整源代码。
拥有必要的程序来为系统构建,配置和安装自定义内核。 安装的方法和工具取决于使用的Linux发行版。 如果在配置或安装内核时遇到问题,请参阅有关发行版文档。
下载grsecurity
在http://grsecurity.net/。单击“下载”链接,然后选择“稳定”或“测试”补丁(自2015年9月9日起,只有商业客户才能获得稳定的grsecurity补丁)。只得为内核3.2.50安装最新的稳定grsecurity。因此,补丁文件将被称为“grsecurity-2.9.1-3.2.50-201308052151.patch”。
信息
所有grsecurity包名有一个版本字符串。包含着和它的内核版本。如,字符串2.9.1-3.2.50-201308052151是grsecurity的版本版本号是2.9.1,适用于linux内核版本3.2.50。该版本的最后一部分是时间戳。
以下例子,下载了以下文件
grsecurity的-2.9.1-3.2.50-201308052151.patch
grsecurity-2.9.1-3.2.50-201308052151.patch.sig - 这是此版本的数字签名。
下载gradm
下载grsecurity基于角色的访问控制系统的管理实用程序gradm时,必须下载与您下载的grsecurity修补程序版本相匹配的版本。 Gradm与grsecurity位于同一下载页面。
以下例子,下载了以下文件:
gradm-2.9.1-201308021745.tar.gz
gradm-2.9.1-201308021745.tar.gz.sig - 这是此版本的数字签名。
下载Linux内核
grsecurity补丁只能应用于vanilla内核。许多发行版使用其他补丁修改官方内核,这意味着通过其包管理器获取的任何内核源包很可能与grsecurity不兼容。
从http://www.kernel.org/下载官方未修改的内核。下载完整的内核源代码包及其签名(“.sign”文件),并确保其版本与您下载的grsecurity补丁的版本相匹配。
警告内核版本2.6.32.61的官方支持已于2013年底结束。
如果您打开了终端,可以使用以下命令将内核源代码和签名下载到当前工作目录:
$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.50.tar.bz2
$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.50.tar.sign
注意:grsecurity补丁和内核的版本必须完全匹配。
验证下载
grsecurity和gradm包已经加密签名,用户可以验证源代码自打包以来是否未被修改。 可以在grsecurity下载页面中找到用于签名的公钥。 向下滚动页面,有“使用GPG验证这些下载”标题。 下方是公钥的链接。 将密钥下载到grsecurity的目录。
验证之前,需使用Gnu Privacy Guard(GPG)将grsecurity密钥导入您的公共密钥环。 有关GPG请百度。导入密钥,在grsecurity及其密钥的目录中运行下面命令。
$ gpg --import spender-gpg-key.asc
gpg: key 4245D46A: public key "Bradley Spengler (spender) <spender@grsecurity.net>" imported
gpg: Total number processed: 1
gpg: imported: 1
导入密钥后,在grsecurity目录中运行以下命令来验证下载的grsecurity和gradm软件包:
$ gpg --verify grsecurity-2.9.1-3.2.50-201308052151.patch.sig gpg: Signature made Mon 05 Aug 2013 06:55:44 PM PDT using DSA key ID 4245D46A gpg: Good signature from "Bradley Spengler (spender) <spender@grsecurity.net>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 9F74 393D 7E7F FF3C 6500 E778 9879 B649 4245 D46A $ gpg --verify gradm-2.9.1-201308021745.tar.gz.sig gpg: Signature made Fri 02 Aug 2013 02:45:37 PM PDT using DSA key ID 4245D46A gpg: Good signature from "Bradley Spengler (spender) <spender@grsecurity.net>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 9F74 393D 7E7F FF3C 6500 E778 9879 B649 4245 D46A
以下是签名验证失败的案例。 修补程序文件是故意修改的,以便验证失败。
$ gpg --verify grsecurity-2.9.1-3.2.50-201308052151.patch.sig gpg: Signature made Mon 05 Aug 2013 06:55:44 PM PDT using DSA key ID 4245D46A gpg: BAD signature from "Bradley Spengler (spender) <spender@grsecurity.net>"
GPG报告签名是好的,密钥未通过可信签名认证的警告。 使用自己的密钥签署了grsecurity密钥,则不会收到警告。 如果任一文件的验证失败(即,“BAD签名”消息),请重新下载相关文件并再试一次。
Linux核心源包也已签名。 请按照Linux内核网站上的说明验证内核源代码包。成功验证下载文件后,即可配置grsecurity。