[心得] grsec + arch 設定+使用經驗

看板Linux作者 (柔弱氣質偽少女)時間10年前 (2015/08/23 21:58), 編輯推噓0(0025)
留言25則, 3人參與, 最新討論串1/1
數個月前翻 arch wiki 時 https://wiki.archlinux.org/index.php/Kernels 發現了這東東 https://wiki.archlinux.org/index.php/Grsecurity 之前用 centos 時 因為 selinux 就吃了不少苦頭 所以才跳 debian 比較熟悉 linux 後 才改用 arch 所以想再來挑戰一下加固核心(這樣翻譯不知道恰不恰當就是) 用了幾個月後 來分享一下使用感想 其實也找不到太多相關的中文資料 連 wiki 都只有英日文 身為一個被 arch 慣壞的懶惰人 安裝 grsec kernel 是很簡單的一件事 # pacman -S linux-grsec 安裝完後記得要 grub-mkconfig -o /boot/grub/grub.cfg (我是用 grub 啦 用其它的我沒用過XD) https://wiki.archlinux.org/index.php/Enhance_system_stability#Install_the_linux-lts_package 這篇中提到 為了系統安全性 建議安授 lts 版的 kernel 以備不時之需 剛用 grsec 時 官方 repo 並沒有 lts 這個月初看 wiki 時 發現官方 repo 也提供了 lts 所以 還是建議安裝一下 # pacman -S linux-grsec-lts (一樣裝完記得 grub-mkconfig) 其實裝好 grsec-lts 後 很快就用到了 因為 這個月初 grsec + btrfs 就讓我的 arch 開不了機了 囧 開機卡在 btrfs 一樣的 kernel 在 vm 上就很正常(vm 上的只有 ext4) 而且 https://grsecurity.net/ 官網上 4.1.* 系列的其實是還在 test 被嚇到後(arch 那台主要是當備份機+影片機) 目前 那台 都用 linux-grsec-lts 開機 vm 上的 arch 才用 linux-grsec 開機 核心安裝好後 再來要安裝 paxd # pacman -S paxd 裝好後 可以用下面的檔案來設定例外 不然 pax 會讓你有的程式不能跑 (fx,tb,veracrypt,kdevelop之類) # vi /etc/paxd.conf 下面是給使用者用的例外原則 (只能對 user 權限部份設定 需要 root 權限的還是要用上面的) $ systemctl --user enable paxd.service (記得 enable 完後 要 start) 使用者的例外設定 $vi ~/.config/paxd.conf 這邊以另外裝的 firefox esr 來做說明(user權限) 下面兩行加入上面的檔案中 pem /opt/portable/firefox/firefox em /opt/portable/firefox/plugin-container 這樣子就設好例外了 前面的 pem,em 則是參考 /etc/paxd.conf 裡的 firefox 做設定 題外話 vbox 和 vmware 我也還沒找到 只設 paxd.conf 就能跑的方法 目前找到的方法都只能重編譯核心 關掉某些功能 個人是覺得這和用回一般核心沒什麼兩樣就是 有用這2個軟體的話 個人建議還是用一般核心就好 其實還有 gradm 可以裝來玩 不過 我是覺得多人使用環境才比較需要 所以這個我就只有裝好後 開學習模試測試一下而已 # pacman -S gradm 想裝來玩看看的可以裝看看 裝好後 # gradm -F -L /etc/grsec/learning.log 開啟學習模式 學習模式把常用指令使用一陣子後 再打開 gradm 規則 它就會針對不常用的指令做限制 (這邊我就沒研究了 畢竟光 grsec+pax 就限制很多了) 接下來是 pax 的相關工具 # pacman -S pax-utils paxtest 我只有用 paxtest 測試一下而已 https://wiki.archlinux.org/index.php/PaX 照 wiki 上寫的 就裝來玩看看 pax-utils 的部份還在摸索中 因為我的 分享資料夾 是 用 mount 掛戴的(使用 user 權限) 所以我修改了 mount 的權限部份 # vi /etc/sysctl.d/05-grsecurity.conf 取消註解 "kernel.grsecurity.chroot_deny_mount = 1" 把 "1" 改成 "0" 如果都用 root 掛戴的 這邊倒是不需要變更 最後 在 paxd.conf 的部份 設定過的檔案 似乎在 paxd.conf 刪去後 還是會在例外清單中 只有移除or重裝才會阻擋 不知道是不是我少改了什麼 用了一陣子後的一點心得 不過老實說 個人使用來說 和一般的核心差不多 只是有一點一定感覺的到 效能略為降低和有些程式得設例外才能執行 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.123.103 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1440338284.A.D0A.html

08/23 22:03, , 1F
補充:btrfs的問題已經修正
08/23 22:03, 1F

08/23 22:04, , 2F
之前 mandrake/mandriva linux 還在時候之前的版本
08/23 22:04, 2F

08/23 22:04, , 3F
就有納入這個 grsecurity 的 kernel package 支援
08/23 22:04, 3F

08/23 22:05, , 4F
在早期還沒有 SELINUX 這類 MAC 存取限制實作時候
08/23 22:05, 4F

08/23 22:05, , 5F
grsecurity 的設計支援還頗亮眼的
08/23 22:05, 5F

08/23 22:06, , 6F
那時候還有個叫做 lids 吧?我都快要忘記這東西
08/23 22:06, 6F

08/23 22:06, , 7F
被arch慣壞了 所以才只在arch上試 在debian上倒是沒想過
08/23 22:06, 7F

08/23 22:07, , 8F
不過伴隨目前 selinux 或是 apparmor 這類很成熟之後
08/23 22:07, 8F

08/23 22:07, , 9F
有官方repo裝來玩看看也不算太麻煩 aur對我來說比較麻煩
08/23 22:07, 9F

08/23 22:09, , 10F
MAC 限制東西需要有完整 role 規則啊,這很花時間整合
08/23 22:09, 10F

08/23 22:09, , 11F
所以目前就看到 SELINUX 與 Apparmor 為主了
08/23 22:09, 11F

08/23 22:13, , 12F
難怪找資料都很少 想說官方repo有安裝上比較省事
08/23 22:13, 12F

08/23 22:18, , 13F
selinux 要用的話還是要以 rh-based 版本,fc,rh,centos
08/23 22:18, 13F

08/23 22:18, , 14F
apparmor 的話主要在suse上,ubuntu 上內建也可以用
08/23 22:18, 14F

08/24 02:38, , 15F
grsec 不像 apparmor 那樣只用 pathname。更為先進
08/24 02:38, 15F

08/24 02:39, , 16F
不過 tpe 沒開的話,核心和pax提供的功能和 apparmor 不
08/24 02:39, 16F

08/24 02:39, , 17F
一樣吧。 目的不同。
08/24 02:39, 17F

08/24 04:19, , 18F
apparmor 就是簡化過,畢竟 selinux 部分是針對
08/24 04:19, 18F

08/24 04:20, , 19F
fs 本身的 xattr 屬性資訊來判斷,不單純只有路徑
08/24 04:20, 19F

08/24 04:25, , 20F
至於 pax 裡面目前許多功能 linux kernel目前支援不少
08/24 04:25, 20F

08/24 04:26, , 21F
各式各樣的防護機制都陸續進入 linux kernel 內
08/24 04:26, 21F

08/24 04:26, , 22F
包含 gcc 本身都納入支援...
08/24 04:26, 22F

08/24 04:27, , 23F
防護部分 apparmor 部分與 grsecurity 是比較不同方向
08/24 04:27, 23F

09/01 20:12, , 24F
stable(lts)似乎要被拿掉了 test的似乎不會受影響
09/01 20:12, 24F

09/13 21:11, , 25F
lts確定不更新了 有點可惜 少了個備援方案
09/13 21:11, 25F
文章代碼(AID): #1LsT5iqA (Linux)
文章代碼(AID): #1LsT5iqA (Linux)