centos核心編譯與其簽名機制

來源:互聯網
上載者:User

標籤:centos   kernel   

centos核心編譯與其簽名機制



linux核心3.7引入的簽名機制,極大地方便了對核心模組的安全認證,同時也為作業系統廠家提供了IP保護的技術手段。不過,凡事有利也有弊。對剛剛接觸具有簽名機制的核心的工程師而言,需要一段理解並適應新核心的過程。為此,小編結合自己的工作經曆,總結了一些要點和大家一起分享。


1.什麼是核心簽名機制?


核心簽名就是核心利用公開金鑰對驅動模組校正的過程,對檢驗通過的模組,准許載入,而對沒有簽名的核心驅動模組或者簽名沒有通過檢驗的模組,根據不同的核心選項,禁止或者允許載入。


2.如何使用核心簽名?


核心簽名可以使用的場合包括但不限定於:

1.和某個核心或者作業系統廠商緊密捆綁的驅動模組,包括僅僅限定於特定版本核心的核心驅動模組;

2.受限或者受控的驅動模組,包括在作業系統或者核心無法改變的情況下,只能在知道公開金鑰和私密金鑰的情況下產生可被載入的驅動模組。


3.簽名校正可能帶來哪些不便?


在使用了簽名校正的作業系統上進行核心的重新編譯和模組的二次開發時,如果不知道先前的私密金鑰和公開金鑰產生演算法的話,就無法直接載入新編譯出的核心二進位或者驅動模組。


4.如何規避可能的影響?


禁止核心簽名檢驗,並重建對應的initramfs,修改bootmemu,重新引導系統從自己新加的bootentry啟動。


5.實戰舉例


下面以centos7 (based on linux kernel 3.10)為例,介紹具體的操作步驟:


1.從官網下載和當前檔案系統版本一致的Centos.DVD或者其他檔案系統映像;


2. 把映像燒寫到啟動盤或者用UltraISO等啟動盤製作軟體開啟,從其rpm倉庫中中找到對應的核心二進位、confg設定檔(x86_64_config)、initramfs;


3.根據上面找到的核心二進位版本,去官網上下載對應的核心原始碼rpm或者壓縮檔,解壓後,把上面找到的設定檔拷貝過來作為.config。當然,預設的.config檔案也可以來自待更新的系統的/boot/下內建的config檔案;


4. makemenuconfig查看預設的配置,重點檢查sign相關的選項,如果:

  • 核心設定檔沒有使用簽名機制,所有的signchecking option都關掉:

說明沒有使用簽名檢驗,可以直接修改核心驅動或者核心以及設定檔,make後產生新的核心活驅動,或者makemodules_install或者makeinstall,產生的核心或者驅動可以替換之前的模組直接使用。

  • 核心已經使用核心簽名校正,那麼需要參考下面的步驟來製作可以啟動的核心或驅動:

  1. 運行makemenuconfig,務必去掉forcemodule signchecking選項,否則產生的核心只會載入和當前公開金鑰相匹配的驅動,而我們很難保證核心二進位的公開金鑰、initramfs模組裡的公開金鑰和檔案系統裡面/lib/modules下面驅動模組裡的公開金鑰完全一致。

  2. 運行make

  3. 指定kernelinstall 路徑 INSTALL_MOD_PATH

  4. makemodules_install

  5. 利用dracut-k  kernel.img $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)來產生和核心匹配的initramfs

  6. 把對應arch下面的bzImage和initramfs拷貝到/boot/

  7. 往/etc/grub.cfg裡添加引導bzImage和initramfs的啟動項,然後運行grub2-mkconfig

  8. 重啟,然後在grub裡選擇自己剛添加的kernelentry,進入作業系統,使用並驗證新的核心和驅動。



本文出自 “儲存之廚” 部落格,請務必保留此出處http://xiamachao.blog.51cto.com/10580956/1763619

centos核心編譯與其簽名機制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.