新聞中心
目錄

公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出永泰免費(fèi)做網(wǎng)站回饋大家。
- 4.1. 一般的 Unix 認(rèn)證
- 4.2. 管理賬號和密碼信息
- 4.3. 好密碼
- 4.4. 設(shè)立加密的密碼
- 4.5. PAM 和 NSS
-
- 4.5.1. PAM 和 NSS 訪問的配置文件
- 4.5.2. 現(xiàn)代的集中式系統(tǒng)管理
- 4.5.3. “為什么 GNU su 不支持 wheel 組”
- 4.5.4. 嚴(yán)格的密碼規(guī)則
- 4.6. 安全認(rèn)證
-
- 4.6.1. 確?;ヂ?lián)網(wǎng)上的的密碼安全
- 4.6.2. 安全 Shell
- 4.6.3. 互聯(lián)網(wǎng)額外的安全方式
- 4.6.4. root 密碼安全
- 4.7. 其它的訪問控制
-
- 4.7.1. sudo
- 4.7.2. PolicyKit
- 4.7.3. 限制訪問某些服務(wù)端的服務(wù)
- 4.7.4. Linux 安全特性
當(dāng)用戶(或程序)需要訪問系統(tǒng)時,需要進(jìn)行認(rèn)證,確認(rèn)身份是受信任。
| 警告 | |
|---|---|
|
PAM 的配置錯誤可能會鎖住你的系統(tǒng)。你必須有一個準(zhǔn)備好的救援 CD,或者設(shè)立一個替代的 boot 分區(qū)。為了恢復(fù)系統(tǒng),你需要使用它們啟動系統(tǒng)并糾正錯誤。 |
4.1. 一般的 Unix 認(rèn)證
一般的 Unix 認(rèn)證由 PAM (Pluggable Authentication Modules,即可插入的驗證模塊) 下的 pam_unix(8) 模塊提供。它的 3 個重要文件如下,其內(nèi)的條目使用 “:” 分隔。
表 4.1. pam_unix(8) 使用的 3 個重要配置文件
| 文件 | 權(quán)限 | 用戶 | 組 | 說明 |
|---|---|---|---|---|
/etc/passwd |
-rw-r--r-- |
root |
root |
(明文的)用戶賬號信息 |
/etc/shadow |
-rw-r----- |
root |
shadow |
安全加密的用戶賬號信息 |
/etc/group |
-rw-r--r-- |
root |
root |
組信息 |
“/etc/passwd” 包含下列內(nèi)容。
... user1:x:1000:1000:User1 Name,,,:/home/user1:/bin/bash user2:x:1001:1001:User2 Name,,,:/home/user2:/bin/bash ...
如 passwd(5) 中所述,這個文件中被 “:” 分隔的每項含義如下。
-
登錄名
-
密碼形式說明
-
數(shù)字形式的用戶 ID
-
數(shù)字形式的組 ID
-
用戶名或注釋字段
-
用戶家目錄
-
可選的用戶命令解釋器
“/etc/passwd” 的第二項曾經(jīng)被用來保存加密后的密碼。在引入了 “/etc/shadow” 后,該項被用來說明密碼形式。
表 4.2. “/etc/passwd” 第二項的內(nèi)容
| 內(nèi)容 | 說明 |
|---|---|
| (空) | 無需密碼的賬號 |
| x | 加密后的密碼保存在 “/etc/shadow” |
| 無法登錄的賬號 | |
| ! | 無法登錄的賬號 |
“/etc/shadow” 包含下列內(nèi)容。
... user1:$1$Xop0FYH9$IfxyQwBe9b8tiyIkt2P4F/:13262:0:99999:7::: user2:$1$vXGZLVbS$ElyErNf/agUDsm1DehJMS/:13261:0:99999:7::: ...
如 shadow(5) 中所述,這個文件中被 “:” 分隔的每項含義如下。
-
登錄名
-
加密后的密碼(開頭的 “
$1$” 表示使用 MD5 加密。“*” 表示無法登錄。) -
最后一次修改密碼的時間,其表示從 1970 年 1 月 1 日起的天數(shù)
-
允許用戶再次修改密碼的天數(shù)間隔
-
用戶必須修改密碼的天數(shù)間隔
-
密碼失效前的天數(shù),在此期間用戶會被警告
-
密碼失效后的天數(shù),在次期間密碼依舊會被接受
-
賬號失效的時間,其表示從 1970 年 1 月 1 日起的天數(shù)
-
…
“/etc/group” 包含下列內(nèi)容。
group1:x:20:user1,user2
如 group(5) 中所述,這個文件中被 “:” 分隔的每項含義如下。
-
組名稱
-
加密后的密碼(不會被真正使用)
-
數(shù)字形式的組 ID
-
使用 “,” 分隔的用戶名列表
| 注意 | |
|---|---|
|
“ |
| 注意 | |
|---|---|
|
如果" |
| 注意 | |
|---|---|
|
|
4.2. 管理賬號和密碼信息
下面是一些管理賬號信息的重要命令。
表 4.3. 管理賬號信息的命令
| 命令 | 功能 |
|---|---|
getent passwd user_name |
瀏覽 “user_name” 的賬號信息 |
getent shadow user_name |
瀏覽用戶 "user_name" 隱藏的賬戶信息 |
getent group group_name |
瀏覽 “group_name” 的組信息 |
passwd |
管理賬號密碼 |
passwd -e |
為激活的賬號設(shè)置一次性的密碼 |
chage |
管理密碼有效期信息 |
其中的一些功能只能被 root 使用。密碼和數(shù)據(jù)的加密參見 crypt(3)。
| 注意 | |
|---|---|
|
在設(shè)置了 PAM 和 NSS 的系統(tǒng)上(例如 Debian salsa 機(jī)器),本地的 “ |
4.3. 好密碼
在系統(tǒng)安裝時建立一個賬號或使用 passwd(1) 命令時,你應(yīng)該選擇一個好密碼,它應(yīng)該由 6 到 8 個字符組成,其中包含下列根據(jù) passwd(1) 設(shè)定的每個組合中的一個或多個字符。
-
小寫字母
-
數(shù)字 0 到 9
-
標(biāo)點符號
| 警告 | |
|---|---|
|
密碼中不要使用可以猜到的詞。賬號名、身份證號碼、電話號碼、地址、生日、家庭成員或?qū)櫸锏拿?、字典單詞、簡單的字符序列(例如 “12345” 或 “qwerty”)等都是糟糕的選擇。 |
4.4. 設(shè)立加密的密碼
下面是一些用于 生成加鹽的加密密碼 的獨(dú)立工具。
表 4.4. 生成密碼的工具
| 軟件包 | 流行度 | 大小 | 命令 | 功能 |
|---|---|---|---|---|
whois |
V:31, I:333 | 364 | mkpasswd |
具備 crypt(3) 庫所有特性的前端 |
openssl |
V:810, I:994 | 1465 | openssl passwd |
計算密碼哈希 (OpenSSL). passwd(1ssl) |
4.5. PAM 和 NSS
現(xiàn)代的類 Unix 系統(tǒng)(例如 Debian 系統(tǒng))提供 PAM (Pluggable Authentication Modules,插入式驗證模塊) 和 NSS(Name Service Switch,名稱服務(wù)切換) 機(jī)制給本地系統(tǒng)管理員,使他們能夠配置自己的系統(tǒng)。它們的功能可以概括為以下幾點。
-
PAM 給應(yīng)用軟件提供了一個靈活的認(rèn)證機(jī)制,因此涉及到了密碼數(shù)據(jù)的交換。
-
NSS 提供了一個靈活的名稱服務(wù)機(jī)制,它經(jīng)常被 C 標(biāo)準(zhǔn)庫使用,使例如
ls(1) 和id(1) 這樣的程序獲得用戶和組名稱。
PAM 和 NSS 系統(tǒng)必須保持配置一致。
PAM 和 NSS 系統(tǒng)中重要的軟件包如下。
表 4.5. PAM 和 NSS 系統(tǒng)中重要的軟件包
| 軟件包 | 流行度 | 大小 | 說明 |
|---|---|---|---|
libpam-modules |
V:819, I:999 | 1045 | 插入式驗證模塊(基礎(chǔ)服務(wù)) |
libpam-ldap |
V:1, I:11 | 249 | 允許 LDAP 接口的插入式驗證模塊 |
libpam-cracklib |
V:1, I:15 | 118 | 啟用 cracklib 支持的插入式驗證模塊 |
libpam-systemd |
V:458, I:891 | 609 | 用于 logind 注冊用戶會話的插入式驗證模塊(PAM) |
libpam-doc |
I:1 | 1047 | 插入式驗證模塊(html 和 文本文檔) |
libc6 |
V:923, I:999 | 12878 | GNU C 庫:同樣提供“名稱服務(wù)切換”服務(wù)的共享庫 |
glibc-doc |
I:11 | 3354 | GNU C 庫:幫助頁面 |
glibc-doc-reference |
I:4 | 13034 | GNU C 庫:參考手冊,有 info、pdf 和 html 格式(non-free) |
libnss-mdns |
I:512 | 147 | 用于解析組播 DNS 名稱的 NSS 模塊 |
libnss-ldap |
I:10 | 265 | NSS 模塊,用于使用 LDAP 作為一個名稱服務(wù)的 |
libnss-ldapd |
V:1, I:13 | 151 | NSS 模塊,用于使用 LDAP 作為一個名稱服務(wù)的(libnss-ldap 的新 fork) |
-
libpam-doc中 “The Linux-PAM System Administrators' Guide” 是了解 PAM 配置的必要文檔。 -
glibc-doc-reference中的 “System Databases and Name Service Switch” 是了解 NSS 配置的重要文檔。
| 注意 | |
|---|---|
|
你可以使用 “ |
| 注意 | |
|---|---|
|
PAM 是用來為每個程序使用系統(tǒng)范圍的默認(rèn)值來初始化環(huán)境變量的最基礎(chǔ)方法。 |
在 systemd 下, libpam-systemd 軟件包被安裝用來管理用戶登錄,通過為 logind 在 systemd 控制組層級中注冊用戶會話來實現(xiàn)。參見 systemd-logind(8)、logind.conf(5)和 pam_systemd(8)。
4.5.1. PAM 和 NSS 訪問的配置文件
下面是一些 PAM 和 NSS 訪問的重要配置文件。
表 4.6. PAM 和 NSS 訪問的配置文件
| 配置文件 | 功能 |
|---|---|
/etc/pam.d/program_name |
為 “program_name” 程序設(shè)置 PAM 配置;參加 pam(7) 和 pam.d(5) |
/etc/nsswitch.conf |
為每個服務(wù)條目設(shè)置 NSS 配置。參見 nsswitch.conf(5) |
/etc/nologin |
通過 pam_nologin(8) 模塊限制用戶登錄 |
/etc/securetty |
通過 pam_securetty(8) 模塊限制 root 訪問 tty |
/etc/security/access.conf |
通過 pam_access(8) 模塊設(shè)置訪問限制 |
/etc/security/group.conf |
通過 pam_group(8) 模塊設(shè)置基于組的限制 |
/etc/security/pam_env.conf |
通過 pam_env(8) 模塊設(shè)置環(huán)境變量 |
/etc/environment |
通過帶有 “readenv=1” 參數(shù)的 pam_env(8) 模塊設(shè)置額外的環(huán)境變量 |
/etc/default/locale |
通過帶有 “readenv=1 envfile=/etc/default/locale” 參數(shù)的 pam_env(8) 模塊設(shè)置語言環(huán)境值(在 Debian 系統(tǒng)中) |
/etc/security/limits.conf |
通過 pam_linits(8) 模塊設(shè)置資源限制(ulimit、core 等等) |
/etc/security/time.conf |
通過 pam_time(8) 模塊設(shè)置時間限制 |
/etc/systemd/logind.conf |
設(shè)置systemd 的登錄管理器配置 (參見 logind.conf(5) 和 systemd-logind.service(8)) |
密碼選擇的限制是通過 PAM 模塊 pam_unix(8) 和 pam_cracklib(8) 來實現(xiàn)的。它們可以通過各自的參數(shù)進(jìn)行配置。
| 提示 | |
|---|---|
|
PAM 模塊在文件名中使用后綴 “ |
4.5.2. 現(xiàn)代的集中式系統(tǒng)管理
現(xiàn)代的集中式系統(tǒng)管理可以使用集中式的輕量目錄訪問協(xié)議(LDAP)服務(wù)器進(jìn)行部署,從而通過網(wǎng)絡(luò)管理許多類 Unix 和 非類 Unix 系統(tǒng)。輕量目錄訪問協(xié)議的開源實現(xiàn)是 OpenLDAP 軟件。
LDAP 服務(wù)器使用帶有 PAM 和 NSS 的libpam-ldap 和 libnss-ldap 軟件包為 Debian 系統(tǒng)提供賬號信息。需要一些動作來啟用 LDAP(我沒有使用過這個設(shè)置,并且下面的信息純粹是第二手的信息。請在這種前提下閱讀下列內(nèi)容。)。
-
你通過運(yùn)行一個程序,例如獨(dú)立的 LDAP 守護(hù)進(jìn)程
slapd(8),來建立集中式的 LDAP 服務(wù)器。 -
你在 “
/etc/pam.d/” 目錄中的 PAM 配置文件里,使用 “pam_ldap.so” 替代默認(rèn)值 “pam_unix.so”。-
Debian 使用 “
/etc/pam_ldap.conf” 作為libpam-ldap的配置文件,“/etc/pam_ldap.secret” 作為保存 root 密碼的文件。
-
-
你在 “
/etc/nsswitch.conf” 文件中改變 NSS 配置,使用 “ldap” 替代默認(rèn)值(“compat” 或 “file”)。-
Debian 使用 “
/etc/libnss-ldap.conf” 作為libnss-ldap的配置文件。
-
-
為了密碼的安全,你必須讓
libpam-ldap使用 SLL(或 TLS)連接。 -
為了確保 LDAP 網(wǎng)絡(luò)開銷數(shù)據(jù)的完整性,你必須讓
libpam-ldap使用 SLL(或 TLS)連接。 -
為了減少 LDAP 網(wǎng)絡(luò)流量,你應(yīng)該在本地運(yùn)行
nscd(8) 來緩存任何 LDAP 搜索結(jié)果。
參見由 libpam-doc 軟件包提供的 pam_ldap.conf(5) 中的文檔和 “/usr/share/doc/libpam-doc/html/”,以及 glibc-doc 軟件包提供的 “info libc 'Name Service Switch'”。
類似地,你可以使用其它方法來設(shè)置另一種集中式的系統(tǒng)。
-
同 Windows 系統(tǒng)集成用戶和組。
-
通過
winbind和libpam_winbind軟件包訪問 Windows domain 服務(wù). -
參見
winbindd(8) 和 Integrating MS Windows Networks with Samba。
-
-
同古老的類 Unix 系統(tǒng)集成用戶和組。
-
通過
nis軟件包訪問 NIS (之前叫 YP) 或 NIS+。 -
參見 The Linux NIS(YP)/NYS/NIS+ HOWTO。
-
4.5.3. “為什么 GNU su 不支持 wheel 組”
這是在舊的 “info su” 底部 Richard M. Stallman 所說的一句名言。別擔(dān)心:Debian 系統(tǒng)中當(dāng)前的 su 命令使用了 PAM,這樣當(dāng)在 “/etc/pam.d/su” 中啟用了帶有 “pam_wheel.so” 的行后,就能夠限制非 wheel 組的用戶 su 到 root 組的能力。
4.5.4. 嚴(yán)格的密碼規(guī)則
安裝 libpam-cracklib 軟件包你能夠強(qiáng)制使用嚴(yán)格的密碼規(guī)則。
在一個典型的 GNOME 系統(tǒng),將會安裝 libpam-gnome-keyring,"/etc/pam.d/common-password" 看起來像:
# here are the per-package modules (the "Primary" block) password requisite pam_cracklib.so retry=3 minlen=8 difok=3 password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass yescrypt # here's the fallback if no module succeeds password requisite pam_deny.so # prime the stack with a positive return value if there isn't one already; # this avoids us returning an error just because nothing sets a success code # since the modules above will each just jump around password required pam_permit.so # and here are more per-package modules (the "Additional" block) password optional pam_gnome_keyring.so # end of pam-auth-update config
4.6. 安全認(rèn)證
| 注意 | |
|---|---|
|
這里的信息也許不能完全滿足你的安全需求,但這里應(yīng)當(dāng)是一個好的起點。 |
4.6.1. 確保互聯(lián)網(wǎng)上的的密碼安全
許多流行的傳輸層服務(wù)都使用純文本來傳輸包括密碼驗證信息在內(nèi)的各類消息。使用純文本在公網(wǎng)上傳輸密碼是很糟糕的做法,因為這樣傳輸?shù)拿艽a很容易在網(wǎng)上被他人截獲。為了確保整個溝通過程,包括密碼信息在內(nèi)都使用加密傳輸來確保安全,您可以在“傳輸層安全(Transport Layer Security,TLS)”協(xié)議或者其前身,“安全套接字層(Secure Sockets Layer,SSL)”協(xié)議之上運(yùn)行這些服務(wù)。
表 4.7. 安全和不安全的服務(wù)端口列表
| 不安全的服務(wù)名 | 端口 | 安全的服務(wù)名 | 端口 |
|---|---|---|---|
| www (http) | 80 | https | 443 |
| smtp (郵件) | 25 | ssmtp (smtps) | 465 |
| ftp-data | 20 | ftps-data | 989 |
| ftp | 21 | ftps | 990 |
| telnet | 23 | telnets | 992 |
| imap2 | 143 | imaps | 993 |
| pop3 | 110 | pop3s | 995 |
| ldap | 389 | ldaps | 636 |
加密消耗 CPU 時間。作為對 CPU 有益的替代方案,你可以保持使用純文本通訊,僅僅使用安全認(rèn)證協(xié)議加密密碼,比如說:POP 使用"Authenticated Post Office Protocol" (APOP),SMTP 和 IMAP 使用 "Challenge-Response Authentication Mechanism MD5" (CRAM-MD5)。(你的郵件客戶端通過互聯(lián)網(wǎng)上你的郵件服務(wù)器發(fā)送郵件時,最近流行使用新的遞交端口 587 來代替?zhèn)鹘y(tǒng)的 SMTP 端口 25,這樣可以避免在使用 CRAM-MD5 認(rèn)證自己時,網(wǎng)絡(luò)提供商阻塞 25 端口。)
4.6.2. 安全 Shell
安全 Shell (SSH) 程序使用安全認(rèn)證來提供不安全網(wǎng)絡(luò)上兩個不可信任主機(jī)之間的安全加密通訊。它由 OpenSSH 客戶端, ssh(1), 和 OpenSSH 后臺守護(hù)進(jìn)程(daemon), sshd(8)組成.SSH 使用端口轉(zhuǎn)發(fā)特性,可以給 POP 和 X 之類的不安全的協(xié)議通訊建立隧道,使其可以在互聯(lián)網(wǎng)上安全傳輸。
客戶端可以使用如下方式來認(rèn)證自己:基于主機(jī)的認(rèn)證、公鑰認(rèn)證、質(zhì)疑應(yīng)答認(rèn)證、密碼認(rèn)證。使用公鑰認(rèn)證,可以實現(xiàn)遠(yuǎn)程免密碼登錄。參見 第 6.3 節(jié) “服務(wù)器遠(yuǎn)程訪問和工具 (SSH)”.
4.6.3. 互聯(lián)網(wǎng)額外的安全方式
即使你運(yùn)行 Secure Shell (SSH) 和 Point-to-point tunneling protocol (PPTP) 這樣的安全服務(wù),在互聯(lián)網(wǎng)上,仍然有機(jī)會使用野蠻暴力猜測密碼攻擊進(jìn)入。 使用防火墻策略 (參見 第 5.6 節(jié) “Netfilter 網(wǎng)絡(luò)過濾框架”),并和下面的安全工具一起,可以提升安全形勢。
表 4.8. 提供額外安全方式的工具列表
| 軟件包 | 流行度 | 大小 | 說明 |
|---|---|---|---|
knockd |
V:0, I:3 | 110 | 小的 port-knock 后臺守護(hù)進(jìn)程(daemon) knockd(1) 和客戶端 knock(1) |
fail2ban |
V:109, I:122 | 2091 | 禁用造成多個認(rèn)證錯誤的 IP |
libpam-shield |
V:0, I:0 | 115 | 把嘗試猜測密碼的遠(yuǎn)程攻擊者關(guān)在外面 |
4.6.4. root 密碼安全
為阻止人們使用 root 權(quán)限訪問你的機(jī)器,你需要做下面的操作。
-
阻止對硬盤的物理訪問
-
鎖住 UEFI/ BIOS 來阻止從可移動介質(zhì)啟動
-
為 GRUB 交互式會話設(shè)置密碼
-
鎖住 GRUB 菜單,禁止編輯
如果可以物理訪問硬盤,則可以使用下面的步驟,相對簡單的重置密碼。
-
將硬盤拿到一個可以設(shè)置 UEFI/BIOS 從 CD 啟動的電腦。
-
使用緊急介質(zhì)啟動系統(tǒng)(Debian 啟動磁盤, Knoppix CD, GRUB CD, …)。
-
用讀寫訪問掛載根分區(qū)。
-
編輯根分區(qū)的"
/etc/passwd"文件,使root賬戶條目的第二段為空。
對于 grub-rescue-pc ,即使用緊急介質(zhì)啟動的電腦,如果有編輯 GRUB 菜單條目 (參見 第 3.1.2 節(jié) “第二階段:引載加載程序”) 的權(quán)限,在啟動時,使用下面的步驟更加簡單。
-
使用內(nèi)核參數(shù)啟動系統(tǒng)來修改一些事情,比如說,"
root=/dev/hda6 rw init=/bin/sh". -
編輯 "
/etc/passwd" 文件,使root賬戶條目的第二段為空。 -
重啟系統(tǒng)。
系統(tǒng)的 root shell 現(xiàn)在可以無密碼訪問了。
| 注意 | |
|---|---|
|
一旦某人擁有 root shell 訪問權(quán)限,他能夠訪問任何內(nèi)容,并可以重設(shè)系統(tǒng)上的任何密碼。此外,他可以使用 |
為避免這些相關(guān)問題,僅有的理論上的軟件解決方案是使用 dm-crypt 和 initramfs (參見 第 9.9 節(jié) “數(shù)據(jù)加密提示”)加密 root 分區(qū)(或 "/etc" 分區(qū)) 。這樣的話,你總是需要密碼來啟動系統(tǒng)。
4.7. 其它的訪問控制
在密碼基于認(rèn)證和文件權(quán)限之外,系統(tǒng)也有其它的訪問控制。
| 注意 | |
|---|---|
|
參見 第 9.4.15 節(jié) “Alt-SysRq 鍵” 來限制內(nèi)核的安全警告密鑰(SAK)功能。 |
4.7.1. sudo
sudo(8) 程序是為了使一個系統(tǒng)管理員可以給用戶受限的 root 權(quán)限并記錄 root 活動而設(shè)計的。sudo 只需要一個普通用戶的密碼。安裝 sudo 軟件包并通過設(shè)置 “/etc/sudoers” 中的選項來使用它。參見 “/usr/share/doc/sudo/examples/sudoers” 和 第 1.1.12 節(jié) “sudo 配置” 中的配置示例。
我將 sudo 用于單用戶系統(tǒng)(參見 第 1.1.12 節(jié) “sudo 配置”)是為了防止自己可能做出的愚蠢行為。就我個人而言,我認(rèn)為使用 sudo 會比使用 root 賬號操作系統(tǒng)來得好。例如,下列命令將 “some_file” 的擁有者改變?yōu)?“my_name”。
$ sudo chown my_name some_file
當(dāng)然如果你知道 root 密碼(比如自行安裝 Debian 的用戶所做的),任何用戶賬號都可以使用 “su -c” 讓任何命令以 root 運(yùn)行。
4.7.2. PolicyKit
PolicyKit 是在類 Unix 操作系統(tǒng)中控制整個系統(tǒng)權(quán)限的一個操作系統(tǒng)組件。
較新的 GUI 圖形界面程序設(shè)計時便考慮到了不作為特權(quán)進(jìn)程來運(yùn)行。它們通過 PolicyKit 來和特權(quán)進(jìn)程通信,從而執(zhí)行管理操作。
在 Debian 系統(tǒng)中,PolicyKit 限制了屬于 sudo 組的用戶賬號的這種操作。
參見 polkit(8)。
4.7.3. 限制訪問某些服務(wù)端的服務(wù)
對系統(tǒng)安全而言,盡可能的禁用服務(wù)程序,是一個好的主意。網(wǎng)絡(luò)服務(wù)是危險的。有不使用的服務(wù),不管是直接由后臺守護(hù)進(jìn)程(daemon)激活,還是通過super-server 程序激活,都被認(rèn)為是安全風(fēng)險。
許多程序,比如說 sshd(8), 使用基于 PAM 的訪問控制。也還有許多方式來限制訪問一些服務(wù)端的程序。
-
配置文件: "
/etc/default/program_name" -
后臺守護(hù)進(jìn)程(daemon)的 Systemd 服務(wù)單元配置
-
PAM (Pluggable Authentication Modules)
-
super-server 使用 "
/etc/inetd.conf" -
TCP wrapper 使用 "
/etc/hosts.deny" 和 "/etc/hosts.allow" ,tcpd(8) -
Sun RPC" 使用
/etc/rpc.conf" -
atd(8) 使用 "/etc/at.allow" 和 "/etc/at.deny" -
crontab(1) 使用 "/etc/cron.allow" 和 "/etc/cron.deny" -
Network firewall 或netfilter 框架
參見 第 3.5 節(jié) “系統(tǒng)管理”、第 4.5.1 節(jié) “PAM 和 NSS 訪問的配置文件” 和 第 5.6 節(jié) “Netfilter 網(wǎng)絡(luò)過濾框架”。
| 提示 | |
|---|---|
|
NFS 和其它基于 RPC 的程序,需要激活 Sun RPC 服務(wù)。 |
| 提示 | |
|---|---|
|
如果你遠(yuǎn)程訪問最新的 Debian 系統(tǒng)有問題,看下在" |
4.7.4. Linux 安全特性
Linux 內(nèi)核已經(jīng)發(fā)展和支持在傳統(tǒng)的 UNIX 實現(xiàn)里面沒有的安全特征。
Linux 支持 擴(kuò)展屬性,擴(kuò)展了傳統(tǒng)的 UNIX 屬性 (參見 xattr(7))。
Linux 把傳統(tǒng)的超級用戶相關(guān)的特權(quán)分開到不同的單元,被稱為 capabilities(7),它能夠獨(dú)立的啟用和禁用。從 2.2 版本內(nèi)核開始,Capabilities 是一個線程獨(dú)立的屬性。
Linux Security Module (LSM) 安全模塊框架 提供了一個多方面的安全檢查機(jī)制,和新的內(nèi)核擴(kuò)展關(guān)聯(lián)。例如:
-
AppArmor
-
Security-Enhanced Linux (SELinux)
-
Smack (Simplified Mandatory Access Control Kernel)
-
Tomoyo Linux
這些擴(kuò)展緊縮的權(quán)力模型比普通的類 Unix 安全模型策略更加嚴(yán)格,甚至 root 的權(quán)力也被限制。建議你閱讀 kernel.org 上的 Linux 安全模塊(LSM)框架文檔。
Linux 的 namespaces 封裝了一個全局系統(tǒng)資源到一個抽象的概念,全局系統(tǒng)資源在 namespace 內(nèi)對進(jìn)程可見,并且 namespace 有它們自己的全局資源隔離實例。 對其它進(jìn)程全局資源的可見性的改變是,同一個 namespace 的成員可見,但是對非同一個 namespace 的其它進(jìn)程不可見。從內(nèi)核 5.6 版本起,有 8 種 namespaces (參見 namespaces(7), unshare(1), nsenter(1))。
在 Debian 11 Bullseye (2021) 中, Debian 使用 unified cgroup hierarchy(統(tǒng)一 cgroup 層級架構(gòu)) (亦稱為 cgroups-v2)。
namespaces 同 cgroups 一起來隔離它們的進(jìn)程,允許資源控制的使用示例是:
-
Systemd。參見 第 3.2 節(jié) “Systemd 初始化”。
-
沙盒環(huán)境。參見 第 7.6 節(jié) “沙盒”。
-
Linux 容器,比如 Docker、 LXC。參見 第 9.11 節(jié) “虛擬化系統(tǒng)”。
這些功能不能夠通過 第 4.1 節(jié) “一般的 Unix 認(rèn)證” 實現(xiàn)。這些高級話題大部分超出了本介紹文檔的范圍。
標(biāo)題名稱:【Debian參考手冊】第?4?章?認(rèn)證和訪問控制
文章分享:http://m.5511xx.com/article/cdsocij.html


咨詢
建站咨詢
