一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - 剛剛,首個Rust版sudo發(fā)布!

剛剛,首個Rust版sudo發(fā)布!

2023-08-31 17:05未知服務(wù)器之家 Linux

撰稿 | 言征 大家對于sudo命令太熟悉了,這個實(shí)用又危險的命令,甚至衍生出了“sudo rm -rf”類似的Linux圈的流行梗。近年來,sudo命令已經(jīng)被一些開發(fā)組織盯上,開始了安全重構(gòu)。現(xiàn)在,已經(jīng)有Linux發(fā)行版本開始用上了諸如Rust等內(nèi)存

撰稿 | 言征

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

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

用Rust重寫的sudo到底有什么不同?目前進(jìn)展如何?本文這就帶領(lǐng)諸君一覽首個用Rust重構(gòu)的內(nèi)存安全版的sudo -rs項目。

一、內(nèi)存安全的sudo首個穩(wěn)定版本

近兩年,“內(nèi)存安全軟件”已經(jīng)被美國政府機(jī)構(gòu)提上了安全議程。而早在今年5月,就有報道稱Prossimo正計劃將sudo從C移植到Rust的說法。

在無處不在的 Linux 操作系統(tǒng)中,sudo 實(shí)用程序是工程師跨越用戶和管理帳戶之間隱私邊界的最常用方法之一。因此,其安全性至關(guān)重要。

sudo-rs項目則是用 Rust 編寫的 sudo 和 su 的、面向安全和內(nèi)存安全的實(shí)現(xiàn)。官網(wǎng)聲明中顯示,sudo-rs 目前僅針對基于 Linux 的操作系統(tǒng);運(yùn)行 sudo-rs 需要 Linux內(nèi)核 5.9 或更高版本。

剛剛,首個Rust版sudo發(fā)布!

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

安裝依賴項后,構(gòu)建 sudo-rs 就變得簡單了:

cargo build --release

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

二、與C版sudo有何不同?

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

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

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

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

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

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

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

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

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

(3)此時 sudo-rs 始終使用 PAM 進(jìn)行身份驗證,你的系統(tǒng)必須設(shè)置為 PAM。

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

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

三、為什么要重寫sudo?

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

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

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

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

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

四、已經(jīng)有Linux發(fā)版采用了!

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

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

sudo -rs的初衷與Wolfi Linux所致力的內(nèi)存安全方向完全一致,因此,Wolfi Linux系統(tǒng)已經(jīng)可以使用 sudo -rs命令。Dan Lorenc 表示:“當(dāng)我們第一次著手構(gòu)建 Wolfi 時,確保內(nèi)存安全始終是首要任務(wù)。”

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

五、開發(fā)團(tuán)隊的陣容也相當(dāng)硬核

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

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

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

(3)執(zhí)行關(guān)鍵功能

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

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

剛剛,首個Rust版sudo發(fā)布!

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

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

六、接下來計劃:增加企業(yè)功能、更多發(fā)版支持

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

剛剛,首個Rust版sudo發(fā)布!

第五個里程碑則可能更為諸位所期待:除了Debian/Ubuntu以外的發(fā)行版以外,F(xiàn)edora版本也將提供支持,SELinux和AppArmor支持、sudoedit實(shí)現(xiàn)等等。

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

Linux現(xiàn)在無處不在,但并不意味著萬事大吉。

在Lorenc 看來,開發(fā) “內(nèi)存安全版” Linux 系統(tǒng)意義重大,目的在于提供一個更安全的平臺來保護(hù)嚴(yán)重依賴 Linux 來部署應(yīng)用程序的軟件供應(yīng)鏈,今天在非內(nèi)存安全平臺上開發(fā)應(yīng)用程序是不負(fù)責(zé)任的。

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

與此同時,絕大多數(shù)安全漏洞都可以追溯到涉及應(yīng)用程序如何訪問內(nèi)存的問題。然后,網(wǎng)絡(luò)罪犯利用這些漏洞發(fā)起攻擊,例如,利用緩沖區(qū)溢出來訪問數(shù)據(jù)等等。

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

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

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

參考鏈接:

https://ferrous-systems.com/blog/testing-sudo-rs/

https://www.wangan.com/p/11v718dfbf37b498

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本漫画工囗全彩内番e绅 日本伦理动漫在线观看 | 91视频破解版 | 国产一区二区精品久久 | 亚洲品质水蜜桃 | 日韩欧美一区二区三区中文精品 | 国产高清在线播放刘婷91 | 4hu影院永久在线播放 | ck7788免费视频 | 97色伦亚洲自偷 | 波多野结衣中文字幕 | 美女扒开尿口让男生添 漫画 | 欧美日韩一区二区三区韩大 | 国产香蕉一区二区在线观看 | 蜜臀91| 国产成人精品午夜视频' | 日本三级在丈面前被耍了 | 高跟翘臀老师后进式视频 | 俄罗斯一级在线播放 | 日韩欧美高清一区 | 91短视频版高清在线观看免费 | 草嫩社区| 国产综合第一页 | 精品国偷自产在线 | 99久久精品国产免看国产一区 | 午夜剧场1000| mm131亚洲| 67id人成观看免费 | 午夜办公室 | 男人都懂www深夜免费网站 | 三级黄色片在线观看 | 嫩草影院久久99 | 99草视频 | 晓雪老师我要进你里面好爽 | 婷婷色综合网 | 久久亚洲精品成人 | 秋葵视频成人 | 美女沟厕撒尿全过程高清图片 | 午夜福利理论片在线播放 | 鬼吹灯之天星术免费观看 | 91李宗精品72集在线观看 | 青草久久影院 |