91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

首個Rust版sudo發布!

Linux愛好者 ? 來源:51CTO技術棧 ? 2023-09-01 15:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家對于sudo命令太熟悉了,這個實用又危險的命令,甚至衍生出了“sudo rm -rf”類似的Linux圈的流行梗。近年來,sudo命令已經被一些開發組織盯上,開始了安全重構。現在,已經有Linux發行版本開始用上了諸如Rust等內存安全的語言重寫過的sudo命令。

好消息是,就在今天,Rust版本的sudo出道了!互聯網安全研究小組(ISRG)的Prossimo項目剛剛宣布了sudo-rs的第一個穩定版本。

用Rust重寫的sudo到底有什么不同?目前進展如何?本文這就帶領諸君一覽首個用Rust重構的內存安全版的sudo -rs項目。

內存安全的sudo首個穩定版本 近兩年,“內存安全軟件”已經被美國政府機構提上了安全議程。而早在今年5月,就有報道稱Prossimo正計劃將sudo從C移植到Rust的說法。 在無處不在的 Linux 操作系統中,sudo 實用程序是工程師跨越用戶和管理帳戶之間隱私邊界的最常用方法之一。因此,其安全性至關重要。 sudo-rs項目則是用 Rust 編寫的 sudo 和 su 的、面向安全和內存安全的實現。官網聲明中顯示,sudo-rs 目前僅針對基于 Linux 的操作系統;運行 sudo-rs 需要 Linux 內核 5.9 或更高版本。

3677427a-487b-11ee-97a6-92fbcf53809c.png

sudo-rs 是用 Rust 編寫的。所需的最低 Rust 版本是 1.70。如果所用的Linux 發行版未打包該版本(或更高版本),可以通過rustup安裝最新版本。此外,開發者還需要 PAM 的 C 開發文件(比如在 Debian上的libpam0g-dev、Fedora上的pam-devel等)。

安裝依賴項后,構建 sudo-rs 就變得簡單了:

cargo build --release

這會產生一個二進制文件target/release/sudo。但是,此二進制文件必須設置 setuid 標志,并且必須由 root 用戶擁有,才能提供任何有用的功能。同時,sudo-rs 需要 sudoers 配置文件。如果sudoers 配置文件存在,則將從該文件加載,否則將使用/etc/sudoers-rs原始位置。

與C版sudo有何不同?

sudo-rs 支持的功能比 sudo 少。其中一些是設計使然。在大多數情況下,如果你嘗試不支持的操作(例如,使用未實現的配置標志或命令行選項),你將收到明顯的錯誤。除上述情況外,用戶配置/etc/sudoers需要注意:

(1)use_pty默認情況下啟用,可禁用。

(2)env_reset被忽略——這總是啟用的。

(3)visiblepw被忽略——這始終被禁用。

(4)verifypw目前被忽略;始終需要密碼sudo -v。

(5)mail_badpass、always_set_home、always_query_group_plugin和 match_group_by_gid不適用于該版本的實現,但出于兼容性原因而被忽略。

其他一些需要注意的顯著的限制:

(1)部分功能尚不支持,特別是使用和sudoedit,以及防止 shell 逃逸時的NOEXEC和NOINTERCEPT。

(2)Defaults(尚)不支持用于更細粒度控制的每用戶、每命令、每主機sudoers 條目。

(3)此時 sudo-rs 始終使用 PAM 進行身份驗證,你的系統必須設置為 PAM。

(4)sudo-rs 將使用sudo服務配置。這也意味著資源限制、umask 等必須通過 PAM 配置,而不是通過 sudoers 文件。

sudo-rs 將不包括原始 sudo 的 sendmail 支持。sudoers 文件必須是有效的 UTF-8。如果你發現缺少原始 sudo 的常見用例,請在我們的問題跟蹤器中為其創建功能請求。

為什么要重寫sudo?

其實,原始的sudo已經變得相對不安全了。最早的sudo開發始于 1980 年代(早于GNU/Linux的發布),幾十年來,它已經成為在執行更改的同時將操作系統的風險降到最低的一個基本的命令工具。但因為它是 C 語言編寫的,近些年來時不時就會曝出一些錯誤或漏洞,而這其中有專業分析估計有三分之一的安全錯誤都是內存管理問題。

另外,sudo有許多不常用的功能,也會為安全風險帶來更多的攻擊面。為此,使用Rust重寫后的sudo -rs項目則大大提高了原始sudo的安全性:

(1)使用內存安全語言 (Rust),解決因內存管理而產生的的內存方面的安全錯誤問題;

(2)省略不常用的功能以減少攻擊面;

(3)開發一個廣泛的測試套件,甚至設法找到原始 sudo 中的錯誤。

已經有Linux發版采用了!

早在今年1月,就有企業宣布推出了內存安全版的Linux系統:Wolfi Linux,宣稱能從根本上杜絕大量已知軟件漏洞。而有意思的是,這家企業:Chainguard 的首席執行官 Dan Lorenc 表示,并不是完全由內存安全語言編寫的,而是一個組合——“Wolfi 是使用以內存安全語言編寫的新庫和不安全語言編寫的庫的組合開發的,是內存安全的系統級實現。”

此外,Chainguard 還與互聯網安全研究小組 (ISRG) 合作,為 Wolfi 創建了一個 Rustls TLS 庫,可用作 libcurl 中的默認后端。所有 curl 鏡像或任何其他依賴于 curl 的鏡像都能夠利用 Wolfi 的內存安全屬性。

sudo -rs的初衷與Wolfi Linux所致力的內存安全方向完全一致,因此,Wolfi Linux系統已經可以使用 sudo -rs命令。Dan Lorenc 表示:“當我們第一次著手構建 Wolfi 時,確保內存安全始終是首要任務。”

相信之后也會有不少打算與Rust兼容的發行版也會漸漸采用sudo -rs。

開發團隊的陣容也相當硬核

首先,該項目是互聯網安全研究小組 (ISRG) 的 Prossimo 項目發起的,目的是為了保護關鍵軟件的內存安全性。當時選擇Rust來“保護”Sudo,也是因為sudo完美地契合以下四個條件:

(1)使用非常廣泛(幾乎每個服務器 / 客戶端都在使用)

(2)被應用于重要的安全邊界

(3)執行關鍵功能

(4)是否使用了內存不安全的語言編寫(例如 C、C++、asm)

其次,其實這個項目早在今年5月份就有報道,Ferrous Systems 和 Tweede Golf 都是致力于軟件安全的公司,前者有著非常豐富經驗的Rust大神坐鎮,服務了諸如mozilla、安卓等全球知名的項目;后者公司的大佬則開發過許多的開源工具包,諸如Node.js、Rust&Embedded Rust、Go、React、Symfony和Flutter,以及操作端的Docker、Ansible和Kubernetes等等。可謂實力不俗。

368c258c-487b-11ee-97a6-92fbcf53809c.png

最后,我們從項目的官網上也可以看到,亞馬遜為這個項目提供了資金支持,并表示支持想內存安全軟件的過渡。

值得一提的是,就連最初的基于 C 的 sudo 實用程序的維護者Todd C. Miller也參與了進來, Todd 也抽出時間為該項目提供了有關實施 sudo-rs 方面的中肯建議。

接下來計劃:增加企業功能、更多發版支持

但啟動這個項目要更早,是在2022年的12月份就已經啟動。現在sudo-rs這個項目將獲得了里程碑式的成果,從即將到來的9月份開始,這個聯合開發團隊將開始 2023 年 9 月的里程碑 4我們的工作計劃,主要是圍繞企業功能展開,比如多用戶系統的安全功能(例如NOEXEC)、審核跟蹤日志、sudoers的主機名匹配、支持16個以上的用戶組(group_file插件)等。

36c70c92-487b-11ee-97a6-92fbcf53809c.png

第五個里程碑則可能更為諸位所期待:除了Debian/Ubuntu以外的發行版以外,Fedora版本也將提供支持,SELinux和AppArmor支持、sudoedit實現等等。

寫在最后:Linux面臨的安全債

Linux現在無處不在,但并不意味著萬事大吉。

在Lorenc 看來,開發 “內存安全版” Linux 系統意義重大,目的在于提供一個更安全的平臺來保護嚴重依賴 Linux 來部署應用程序的軟件供應鏈,今天在非內存安全平臺上開發應用程序是不負責任的。

“sudo utility是安全關鍵工具的完美示例,它既普遍應用又未被充分重視。對此類工具的安全性改進將對整個行業產生巨大影響。構建第一個 sudo-rs 版本的工作通過采用 Rust 等內存安全語言,在消除潛在安全問題方面邁出了一大步。這對于維護和維護 Wolfi 作為想要解決大多數現代供應鏈威脅的開發人員的默認安全基礎至關重要。” 這位ChainGuard 創始人非常看好sudo-rs。

與此同時,絕大多數安全漏洞都可以追溯到涉及應用程序如何訪問內存的問題。然后,網絡罪犯利用這些漏洞發起攻擊,例如,利用緩沖區溢出來訪問數據等等。

而包括Linux之父在內的維護者們,也已經開始接受 Rust 作為 C 的替代品,來消除 Linux 內核中的這些類型的漏洞。

雖然,這些遺留代碼數以萬億計,現在看起來是一項難以完成的艱巨任務,但正如同Linus在去年的開源峰會上所做的那樣:在聲稱在6.1版本將Rust合并到主線上的同時,提前給各位打個預防針:

“以防此事搞砸了我又發脾氣,先給大家道個歉!”

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

    213879
  • 操作系統
    +關注

    關注

    37

    文章

    7152

    瀏覽量

    125633
  • Rust
    +關注

    關注

    1

    文章

    234

    瀏覽量

    7112

原文標題:首個 Rust 版 sudo 發布!

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    中汽中心牽頭制定的首個網聯車輛電磁兼容ISO國際標準發布

    近期,由中國牽頭制定的首個網聯車輛電磁兼容ISO國際標準《道路車輛 窄帶輻射電磁能的抗擾性 V2X輻射抗擾度》(ISO/TR 17716:2025)以技術報告形式正式發布。該標準由中汽中心牽頭完成。
    的頭像 發表于 07-08 16:47 ?676次閱讀

    全球首個胃癌影像篩查AI模型發布

    浙江省腫瘤醫院聯合阿里巴巴達摩院,發布了全球首個胃癌影像篩查AI模型DAMO GRAPE,首次利用平掃CT影像識別早期胃癌病灶,并聯合全國20家醫院,在近10萬人的大規模臨床研究中大幅提升胃癌檢出率。 相關論文在24日登上了國際頂級期刊《自然·醫學》(Nature
    的頭像 發表于 06-30 14:37 ?1293次閱讀

    請問OpenVINO? 是否支持 Rust 綁定?

    無法確定OpenVINO?是否支持 Rust 綁定。
    發表于 06-25 07:45

    聯想集團攜手合作伙伴發布國內首個文旅行業智能體

    近日,聯想集團與新華聯文旅、寒舍文旅集團在北京正式簽署合作協議,共同發布國內首個文旅行業智能體。此次合作不僅是繼武夷山、宜昌聯想城市超級智能體成功發布后的又一里程碑,也標志著聯想在垂直行業內領域智能體戰略的加速擴展,進一步推動了
    的頭像 發表于 04-30 09:21 ?429次閱讀

    基于SEGGER的Ozone調試器和J-Trace工具跟蹤Ferrocene的Rust應用

    2025年3月,SEGGER和Ferrous Systems合作,確保使用Ferrous Systems的Ferrocene工具鏈編譯的Rust應用程序可以通過SEGGER的J-Trace工具實時下載分析。
    的頭像 發表于 03-14 11:27 ?562次閱讀

    華為發布業界首個AI核心網

    在MWC25巴塞羅那期間舉辦的產品與解決方案發布會上,華為云核心網產品線總裁高治國面向全球發布了業界首個AI核心網。AI核心網從AI賦能演進到AI原生,從為網絡增加新的智能能力到基于AI實現網絡自主生成,助力從萬物智聯邁向萬智智
    的頭像 發表于 03-05 10:13 ?502次閱讀

    vivo打造最具影響力Rust賽事,點亮基礎軟件事業的“藍河時代”

    在藍河操作系統創新賽,看見中國Rust生態的匯聚與發展
    的頭像 發表于 02-27 15:08 ?1727次閱讀
    vivo打造最具影響力<b class='flag-5'>Rust</b>賽事,點亮基礎軟件事業的“藍河時代”

    JavaScript與Rust和WebAssembly集成

    偶然一次機會,接觸了Rust的代碼。當時想給團隊小伙伴做演示,發現自己并不能在移動端按照文檔生成演示demo。我就想,要是Rust代碼能轉化成JavaScript就好了。結果一搜,還真有。
    的頭像 發表于 01-24 15:43 ?443次閱讀
    JavaScript與<b class='flag-5'>Rust</b>和WebAssembly集成

    華為乾崑智駕泊車代駕VPD全球首個機場商用試點發布

    近日,深圳機場自主泊車代駕啟動測試發布儀式暨自主泊車規模化應用技術研討會隆重舉行。本次是華為乾崑智駕泊車代駕VPD(ValetParking Driver)在全球首個機場的商用試點,旨在通過智能駕駛技術提升機場停車、找車效率,為旅客提供更加便捷、智慧的出行體驗。
    的頭像 發表于 01-14 11:04 ?812次閱讀

    全球首個開源AI標準正式發布

    近日,在備受矚目的2024年ALL THINGS OPEN大會上,開源組織Open Source Initiative(OSI)宣布了一項重大突破——正式發布了開源人工智能定義(OSAID)1.0版本。這一里程碑式的成就標志著全球首個開源AI標準的誕生,為AI領域的發展樹
    的頭像 發表于 10-31 10:59 ?655次閱讀

    深開鴻聯合深天使發布國內首個開源鴻蒙產業加速營

    近日,深圳開鴻數字產業發展有限公司(深開鴻)、深圳市天使投資引導基金管理有限公司(深天使)與深圳市天使投資協會攜手發布國內首個開源鴻蒙(OpenHarmony)產業加速營。本次加速營旨在推動開源鴻蒙
    的頭像 發表于 10-01 08:10 ?545次閱讀
    深開鴻聯合深天使<b class='flag-5'>發布</b>國內<b class='flag-5'>首個</b>開源鴻蒙產業加速營

    深開鴻聯合深天使發布國內首個開源鴻蒙產業加速營

    近日,深圳開鴻數字產業發展有限公司(深開鴻)、深圳市天使投資引導基金管理有限公司(深天使)與深圳市天使投資協會攜手發布國內首個開源鴻蒙(OpenHarmony)產業加速營。本次加速營旨在推動開源鴻蒙
    的頭像 發表于 09-29 15:28 ?519次閱讀
    深開鴻聯合深天使<b class='flag-5'>發布</b>國內<b class='flag-5'>首個</b>開源鴻蒙產業加速營

    如何用Rust編寫一個ChatGPT桌面應用(保姆級教程)

    用IDEA開發的java仔) 安裝 Rust 語言工具鏈:首先,請確保你已安裝了 Rust 編程語言工具鏈,包括 Rust 編譯器 (rustc) 和包管理工具 (cargo)。可以通過訪問
    的頭像 發表于 09-25 11:19 ?667次閱讀
    如何用<b class='flag-5'>Rust</b>編寫一個ChatGPT桌面應用(保姆級教程)

    東信集團發布全國首個營銷垂域大模型

    近日,珠海高新區迎來了營銷科技領域的一項重大突破——東信營銷科技集團在此地隆重舉辦了營賽洞見大模型發布會。會上,東信集團董事長劉楊親自展示了這款創新產品的強大功能,標志著全國首個專注于營銷垂直領域的大模型及解決方案正式問世。
    的頭像 發表于 08-12 15:25 ?850次閱讀

    未來嵌入式系統的黃金搭檔 MCX N947遇上Rust

    ? Rust 介紹 Rust 是一門注重安全的語言,相比于 C/C++/ASM 有著更高級的抽象能力、編譯器帶來的安全特性與廣泛友好的社區支持。 Linux 與 Windows 內核也都
    的頭像 發表于 07-25 09:14 ?1810次閱讀
    未來嵌入式系統的黃金搭檔 MCX N947遇上<b class='flag-5'>Rust</b>
    主站蜘蛛池模板: a网站免费| 宅男69免费永久网站 | www.在线视频| 亚洲六月丁香六月婷婷花 | 一级毛片日韩a欧美 | 男男憋尿play按小腹 | 福利片午夜 | 怡红院网址 | 三级日韩| 夜夜艹| 啪啪网站色大全免费 | 韩国理论片在线看2828dy | 最近高清免费观看视频大全 | 天天射天天干天天插 | 国产三级中文字幕 | 狠狠干干| 久久99久久精品国产99热 | 日韩一区二区三区在线 | 欧美午夜片 | www在线播放| 亚洲日本一区二区 | 国产小视频在线 | 色多多福利网站 | 久久夜色精品国产噜噜 | 日本不卡视频一区二区三区 | 久久天天干 | 久99热| 亚洲电影在线播放 | 国产精品久久久久影院免费 | 快乐你懂的在线视频免费观看 | 天天夜天干天天爽 | 亚洲日本免费 | 操美女免费网站 | 4455永久在线毛片观看 | 六月婷婷久久 | 伊人久久大香线蕉综合网站 | 五月天精品在线 | 又大又粗进出白浆直流动态图 | 91精品久久国产青草 | 日韩一级精品视频在线观看 | аⅴ天堂中文在线网 |