999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Linux的PAM安全認證機制

2017-03-09 04:17:13
網絡安全和信息化 2017年1期
關鍵詞:程序用戶服務

引言:對于Linux來說,如果提高安全性,防止非法用戶登錄系統,是不可忽視的安全問題。因此,如何鑒別用戶的身份,成了問題的關鍵。使用PAM認證機制,可以簡單輕松的在系統或者程序中插入不同的認證模塊,來靈活高效的的鑒別用戶的身份。

使 用PAM(Plugable Authentication Modules,即可插入的認證模塊)認證機制,可以簡單輕松的在系統或者程序中插入不同的認證模塊,來靈活高效的的鑒別用戶的身份。因為PAM模塊和程序是相互獨立的,可以根據需要自由的插入各種認證模塊,在程序或服務中集成多種身份認證機制,大大來提高系統和程序的安全性。

使用NSS管理用戶信息

一般來說,系統對登錄者的信息進行驗證,依靠的是“/etc/passwd”或者“/etc/shadow”密碼文件。在默認情況下針對的是本地登錄。如果系統中啟動了FTP服務,訪問者也可以利用本地賬戶來通過FTP服務的驗證。諸如 Samba,MySQL,Apache等服務,是無法利用本地賬戶進行驗證的,必須依靠其本身的認證設置。

按照傳統的Unix認證方式,當用戶訪問郵件服務器等應用程序時,需要提交賬戶名和密碼,該應用程序會利用C Library庫中的函數得到對應的密碼哈希值,并將其和存儲在本地的系統密碼文件中的哈希值進行比對。隨著系統中安裝的服務和程序的增多,為了便于賬戶信息集中管控,可以借助于LDAP目錄來實現。這樣,服務或者應用為了實現認證,就必須重寫C Library庫中的函數,使其支持LDAP賬戶信息認證。這種方法實現起來很繁瑣,為了解決該問題,最好辦法涉及到了NSS(Name Service Switch)。

NSS其實是一些特定的模塊,和一系列的庫文件對應。應用程序只需添加所需的模塊,讓其負責上述重寫C Library庫中的函數的功能,而無需應用程序自身的參與。在登錄時系統會將賬戶名轉換為唯一的UID,這其實就涉及到了名稱解析機制,這是由NSS負責。

在Linux中,賬戶名可能存儲在不同的位置,這就必然需要多種名稱解析方法與之對應。在NSS的配置文件中,可以管理和配置這些解析方法。執行“vim /etc/nsswitch.conf”命令,在其中可以添加所需的NSS模塊。例如“hosts:”一行中可以添加“dns”,表示在執行名稱解析時可以調用NSS中的DNS模塊來實現。在“password:”行中默認存在“files”項,表示從本地密碼文件中提取賬戶信息,在其后可以添加“LDAP”,表示允許通過NSS的LDAP模塊來定位目錄服務器位置,進而查找相關賬戶名等。

在“shadow:files”一行中就說明了NSS和PAM存在的一定的聯系,即當NSS完成賬戶名稱的定位以及將其轉換為UID之后,還會告訴 PAM 到“/etc/shadow”文件中查找該賬戶對應的密碼信息,即將用戶的輸入的密碼通過MD5(Salt)的方式轉換為哈希值,然后與“/etc/shadow”文件中對應的賬戶的密碼哈希進行比對,如果一致則表示密碼正確。當然這種關聯并非絕對,實際上PAM認證機制也可以不用借助于NSS的名稱解析服務來查找用戶密碼存儲位置。對于很多服務或者程序來說,對應的PAM認證也可以自行查找相關密碼的存儲位置。執行“getent password”命令,就可以從“nsswitch.conf”文件中名為的“password”數據庫名中查詢其內容,還可以執行“getent shadow”,“getent group”,“getent hosts” 等命令,來查詢對應的內容。

查看PAM模塊和配置文件

執行“cd/lib”命令,根據不同的系統版本,進入對應的文件夾,例如對于64位系統來說,可以進入其中的“lib64”目錄,執行“ls”命令,可以顯示大量的模塊信息。要想支持一個新的New Service名稱服務,就必須在上述目錄中安裝名稱格式為“libnss_具體的服務名.so”的模塊文件。

這樣,當用戶訪問某個程序或者服務時,由特定的NSS模塊負責處理用戶名信息,而密碼的驗證和管控則交給相應的PAM模塊來處理,程序和服務本身并不參與這些過程。其最大優勢是實現了賬戶的集中管理,大大提高了安全管理的靈活性。例如,執行“authconfig-tui”命令,在認證配置界面左側的“User Information”欄中可以選擇賬戶名稱查找和解析方式,包括“Cache Information”,“User LDAP”,“Use NIS”,“Use IPAv2”,“Use Winbind”等。

這樣,對于用戶名稱信息就交由LDAP模塊負責,對其的認證則交由Kerberos模塊負責。和Kerberos模塊對應的是“/lib64/security/pam_krb5.so”文件,該文件負責調用Kerberos認證,而無需應用程序參與。在上述“lib64”目錄中進入“security”目錄,執行“ls”命令,可以查看所有的PAM模塊文件,這些庫文件都是以“PAM_”開頭的。例如,按照上述方法在本地“/etc/shadow”文件中實現密碼認證,就需要使用到其中的“PAM_unix.so”模塊。PAM認證模塊同樣工作于中間層,在應用程序和系統之間提供認證功能。程序或服務只需調用對應的PAM模塊,就可簡單快捷的來驗證用戶的身份。

除了系統自帶的PAM模塊外,用戶也可以手工安裝所需的PAM模塊,例如當執行Kerberos認證的“kerberos5.so”庫文件并不存在時,可以執行“yum provide "/lib64/security/pam_krb5.so"”命令來查找該文件來自何處。執行“yum–y install pam_krb5”命令,來安裝該庫文件。當安裝了一個新的PAM模塊,就相當于提供了一種新的認證方式。只要修改程序的PAM配置信息,就可以立即讓該認證方式生效。

PAM配置文件中的控制參數

使 用“required”,“requisite”,“sufficient”,“optional”等參數,可以對上述管理組進行有效控制。對于“required”來說,執行的認證必須成功,否則繼續保持之后的測試,但是最后的結果是失敗的。例如當登錄Linux時,先輸入用戶名,即使輸入錯誤的用戶名,系統也不會提示錯誤,而是允許繼續輸入密碼,但是最終的結果是無法登錄系統。例如對于“session required pam_limits.so” 來說,會執行限制訪問方面的檢測。如在上述“limits.conf”文件中添加“yonghu1-maxlogins 2”一行,表示只允許“yonghu1”用戶最多登錄2個控制臺。這樣,當其登錄的控制臺數量大于預設值后就拒絕其繼續登錄。

對于“requisite”來說,如果執行的驗證失敗,則立即返回失敗信息。例如,在登錄時,如果密碼錯誤,則立即結束測試并退出。對于“sufficient”來說,不管之前的認證是否通過,只要該次認證通過,就表示測試成功。對于“optional”參數來說,通常和“session”管理組配合使用。“session optional pa m_kb r5”,“se ssion optional pam_ldap.so”來說,表示不管認證成功與否,都需要在日志中記錄相關信息,例如何時認證成功/失敗等。但這對于最終的認證結果沒有什么影響。

解析簡單的PAM配置文件

以一個簡單的PAM配置文件為例來分析其功能。例如打開某個PAM配置文件,其第一行為“auth required pam_env.so”,其功能是通過“pem_env.so”文件,根據“/etc/security/pam_env.conf”文件給出的變量設置一個環境。“auth sufficient pam_unix.so likeauth nullok”一行的作用是調用“pam_unix.so”模塊來檢測用戶的密碼,其中的“likeauth”參數表示允許用戶在輸入密碼時打錯字或者更換密碼字符,只要最終輸入的是正確的密碼即可,“nullok”參數允許用戶使用空白的密碼,出于安全考慮,最好不要使用該參數。如果用戶輸入的密碼正確,就不必執行以下檢測了。

“auth required pam_deny.so”行的作用是拒絕訪問,表示密碼出錯將拒絕用戶登錄。“account required pam_unix.so”行的作用是檢查該用戶是不是一個合法的賬戶以及其是否失效,注意這里使用了“required”管理組,說明只要是無效賬戶,即使其余的檢測通過也將拒絕登錄。“password required pam_cracklib.so retry=3”行的作用是檢查用戶輸入的密碼是不是常見的單詞,如果是的話將不允許其作為密碼使用,“retry=3”參數表示擁有三次輸入機會,這里使用“required”管理組,如果出錯將無法登錄。

“password sufficient pam_unix.so use_authtok md5 shadow”行的作用是如果用戶已經擁有了身份驗證令牌,就不需提示用戶輸入密碼。因為用戶已經輸入了密碼,而且經過了驗證,就將該密碼經過MD5加密后存放到“/etc/shadow”文件 中。“password required pam_deny.so”行的作用是以上驗證失敗,將拒絕用戶登錄。“session required pam_limits.so”行的作用是根據“/etc/security/limits.conf”文件的內容限制用戶的對系統資源使用情況,包括文件打開的數量,內存使用量,允許訪問進程數量,最大登錄次數等。“session required pam_unix.so”行的作用是將本次登錄時間信息寫入到“lastlog”文件中的“最后一次登錄時間”,將原來的最后一次登錄時間信息提交給“/bin/login”程序。

PAM認證的常見實例

使 用“vim /etc/pam.d/system-auth”命令,將其中的“auth required pam_deny.so”行修改為“auth required pam_permit.so”,將“password required pam_deny.so”行修改為“password required pam_permit.so”就會產生一個奇特的效果,不管用戶輸入什么密碼,都可以順利登錄。當然,在實際中是需要嚴格控制訪問權限的。例如只允許root用戶可以從本地登錄,只允許“yonghu1”用戶從網址192.168.1.100登 錄,可以執行“vim /etc/pam.d/login”命令,在“login”配置文件中第二行之后添加“auth required pam_access.so accessfile=/etc/login.conf”行,使 用了“pam_access”模 塊,通過配置文件“/etc/login.conf”來進行登錄控制。使 用“vim /etc/login.conf”命令,在該文件中添加“+:root:LOCAL”,“:yonghu1:192.168.1.100”,“-:ALL:ALL”等語句,就實現了上述功能,其中的“+”參數表示允許訪問,“-”參數表示拒絕訪問。

如果想更改登錄時系統顯示的內容,可以執行“vim/etc/issue”命令來設置需要顯示的內容。之后執行“vim/etc/pam.d/login”命 令,在其中添加“auth pam_issue.so issue=/etc/issue”行即可。如果不希望有些用戶使用SSH安全連接,可以在“/etc/allowsshd”文 件中添加所需的賬戶,之后在“/etc/pam.d/sshd”配 置文件中添加“auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/allowsshd”一行,就可禁止其使用SSH。

在“/etc/security/time.conf”文件中添加“login;tty*&;!ttyp*;!root;!Al0000-2400” 和“xxx;*;!yonghu1;Wd 0000-2400|wk1800-0800”兩行語句,表示禁止非Root賬戶在任意時間段從控制臺登錄,同時允許非“yongh1”的賬戶在非工作時間段訪問名為“xxx”的服務。為了防止DoS類型的攻擊,可以對系統中所有的用戶資源使用情況進行限制,例如編輯“/etc/security/limits.conf”文件,在其中添 加“* hard core 0”,“*hard rss 50000”,“* hard nproc 20”,表示禁止所有用戶調試文件,限制其最多可以訪問50個進程,限制其內容使用量為50MB。在“/etc/pam.d/login”文件中添 加“session required /etc/security/limits.conf”,這樣當用戶登錄之后,就會受到上述限制。為了防止用戶隨意使用“su”命令,切換到root環境,可以執行“vim/etc/pam.d/su”命 令,在其中添加“auth sufficient pam_rootok.so debug”,“auth required pam_wheel.so group=aut”。 這樣,只有“aut”組中的賬戶才可以使用“su”命令,切換到root環境。

猜你喜歡
程序用戶服務
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
“程序猿”的生活什么樣
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 亚洲欧洲日产国码无码av喷潮| 日本免费福利视频| 国产精品视频a| 国产精品真实对白精彩久久 | 999福利激情视频| h视频在线观看网站| 日本手机在线视频| 国产精品19p| 久久亚洲综合伊人| 国产91久久久久久| 亚洲日韩AV无码一区二区三区人| 亚洲日韩精品伊甸| 国产国模一区二区三区四区| 久久无码免费束人妻| 日韩大乳视频中文字幕| 91无码人妻精品一区| 亚洲国产欧美国产综合久久| 国产综合在线观看视频| 免费jjzz在在线播放国产| 99久久国产综合精品2020| 国产又粗又猛又爽视频| 成年片色大黄全免费网站久久| 九九九精品成人免费视频7| 国产精品自在在线午夜| 综合色区亚洲熟妇在线| 国产女同自拍视频| 国产在线一二三区| 欧美日韩精品在线播放| 日韩无码真实干出血视频| 亚洲一区毛片| 国产精品任我爽爆在线播放6080| 99re在线免费视频| 欧美成人免费一区在线播放| 被公侵犯人妻少妇一区二区三区| 久久性妇女精品免费| 99re经典视频在线| 最新亚洲人成无码网站欣赏网| 幺女国产一级毛片| 亚洲色精品国产一区二区三区| 精品视频一区在线观看| 亚洲成在人线av品善网好看| 亚洲国产天堂久久综合226114| 99久久精品免费视频| 日韩在线1| 四虎成人免费毛片| 国产一区二区免费播放| 久久夜色撩人精品国产| 国内精自线i品一区202| 国产精品免费p区| 国产理论最新国产精品视频| 热99re99首页精品亚洲五月天| 国产美女免费| 五月婷婷综合在线视频| 欧美日韩动态图| 欧美第一页在线| 国产精品一区二区无码免费看片| 久久香蕉国产线看精品| 久久久久无码国产精品不卡| 毛片网站免费在线观看| 国产精品一线天| 伊人激情综合| 毛片基地美国正在播放亚洲 | AV色爱天堂网| 国产精品视频第一专区| 制服丝袜无码每日更新| 久久这里只有精品23| 99久久免费精品特色大片| 国产成人一区免费观看| 网友自拍视频精品区| 日本免费高清一区| 精品久久久无码专区中文字幕| av一区二区三区高清久久| 白浆视频在线观看| 欧美一区二区福利视频| 亚洲三级色| 亚洲中文字幕av无码区| 中国成人在线视频| 99在线视频免费| 一级不卡毛片| 亚洲AV无码不卡无码 | 欧美三级自拍| 四虎亚洲国产成人久久精品|