版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第8章
服務(wù)器安全基礎(chǔ)本章內(nèi)容要點(diǎn)基本的系統(tǒng)安全物理安全和登錄安全禁用root登錄和sudo口令安全和口令策略SSL與OpenSSLTCPWrappers2024年5月29日2CreativeCommonsLicense(BY-NC-SA)本章學(xué)習(xí)目標(biāo)掌握基本的系統(tǒng)安全配置掌握物理安全和登錄安全配置掌握sudo的配置和sudo命令的使用理解PAM機(jī)制及其執(zhí)行過程學(xué)會(huì)使用PAM模塊增強(qiáng)口令安全理解SSL協(xié)議體系結(jié)構(gòu)掌握自簽名證書和私鑰的創(chuàng)建過程掌握TCPWrappers的配置2024年5月29日3CreativeCommonsLicense(BY-NC-SA)Linux服務(wù)器安全
的一般性原則最少的正在運(yùn)行的應(yīng)用程序安裝和運(yùn)行最少的軟件,以盡量減少漏洞。保持軟件更新。開放所需的最少端口關(guān)閉不必要的服務(wù)在單獨(dú)的系統(tǒng)上運(yùn)行不同的網(wǎng)絡(luò)服務(wù)。最大限度地減少風(fēng)險(xiǎn),避免一個(gè)服務(wù)的問題影響到其他服務(wù)。最小特權(quán):為用戶帳戶和軟件執(zhí)行任務(wù)賦予所必需的最低權(quán)限。2024年5月29日CreativeCommonsLicense(BY-NC-SA)4Linux服務(wù)器安全
的一般性原則(續(xù))維護(hù)用戶帳戶
創(chuàng)建一個(gè)良好的密碼策略,并強(qiáng)制執(zhí)行。最少的必要賬戶,刪除已不使用的用戶帳戶。配置系統(tǒng)備份制定災(zāi)難恢復(fù)計(jì)劃并檢測備份的有效性啟用遠(yuǎn)程/集中式系統(tǒng)日志(定期復(fù)查日志!)發(fā)送日志到一個(gè)專用的日志服務(wù)器這可以防止入侵者輕易地修改本地日志2024年5月29日CreativeCommonsLicense(BY-NC-SA)5Linux服務(wù)器安全
的一般性原則(續(xù)2)加密傳輸數(shù)據(jù)加密認(rèn)證信息(如密碼)顯得尤為重要使用密鑰認(rèn)證的遠(yuǎn)程登錄服務(wù)(ssh)使用SSL/TLS協(xié)議加密應(yīng)用協(xié)議(https,ftps,etc)配置網(wǎng)絡(luò)訪問控制TCPWrappersandxinetdNetfilter/iptablesetc.配置安全工具以提高系統(tǒng)的魯棒性2024年5月29日CreativeCommonsLicense(BY-NC-SA)6系統(tǒng)安全2024年5月29日7CreativeCommonsLicense(BY-NC-SA)基本系統(tǒng)安全安全的磁盤布局使用掛裝選項(xiàng)提高文件系統(tǒng)的安全性查找并取消文件/目錄的非必要的特殊權(quán)限避免安裝不必要的軟件包配置軟件包更新的Email通知關(guān)閉不必要的服務(wù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)8磁盤布局/目錄中必須包括/etc、/lib、/bin、/sbin,即不能在此四個(gè)目錄上使用獨(dú)立的分區(qū)或邏輯卷除了/、/boot和SWAP之外您應(yīng)該根據(jù)自己的需要盡量分離數(shù)據(jù)到不同的分區(qū)或邏輯卷建議創(chuàng)建獨(dú)立的/usr、/var、/tmp、/var/tmp文件系統(tǒng)根據(jù)日志管理需要,您可能應(yīng)該創(chuàng)建獨(dú)立的/var/log、/var/log/audit文件系統(tǒng)若所有普通用戶數(shù)據(jù)存儲(chǔ)在本機(jī),您還應(yīng)該創(chuàng)建獨(dú)立的/home文件系統(tǒng)若系統(tǒng)對外提供大量服務(wù)(如Web虛擬主機(jī)等),應(yīng)該創(chuàng)建獨(dú)立的/srv文件系統(tǒng)2024年5月29日CreativeCommonsLicense(BY-NC-SA)9提高文件系統(tǒng)的安全性常用如下三個(gè)掛裝參數(shù)提高文件系統(tǒng)的安全性noexec:不允許在本分區(qū)上執(zhí)行二進(jìn)制程序,即防止執(zhí)行二進(jìn)制程序但允許腳本執(zhí)行nodev:不解釋本分區(qū)上的字符或塊設(shè)備,即防止用戶使用設(shè)備文件nosuid:不允許在本分區(qū)上執(zhí)行SUID/SGID的訪問例如2024年5月29日CreativeCommonsLicense(BY-NC-SA)10/dev/sda5/srv/wwwext3defaults,nosuid,nodev,noexec12/dev/sda6/var/ftpext3defaults,nosuid,nodev,noexec12/dev/sda7/tmpext3defaults,nosuid,nodev,noexec12去除非必要的特殊權(quán)限查找系統(tǒng)中權(quán)限為SUID/SGID的文件#find/-xdev\(-perm-4000-o-perm-2000\)-ls查找指定目錄/dir下的所有用戶可寫的設(shè)置了粘著位(sticky-bit)的目錄
#find/dir-xdev-typed\(-perm-0002-a!-perm-1000\)-ls2024年5月29日CreativeCommonsLicense(BY-NC-SA)11使用chmod命令去除文件或目錄的非必要的特殊權(quán)限#chmodu-s#chmodg-s#chmodo-t檢查重要的文件權(quán)限查找指定目錄/dir下的所有用戶
可寫的文件#find/dir-xdev-typef-perm-0002-ls查找指定目錄/dir下的非有效用戶或有效組的文件#find/dir-xdev\(-nouser-o-nogroup\)-ls2024年5月29日CreativeCommonsLicense(BY-NC-SA)12使用chmod命令修改權(quán)限#chmodo-w使用chown命令修改文件屬主或組#chownUSER:GROUP避免安裝不必要的軟件包在安裝過程中僅僅安裝必要的軟件包,即使用最小化安裝使用如下命令查找、刪除不必要的軟件包#yumlistinstalled#yumremovePackageName通常服務(wù)器無需運(yùn)行X系統(tǒng),尤其是被托管的服務(wù)器。在系統(tǒng)運(yùn)行過程中,可以安裝需要的軟件包#yuminstallPackageName2024年5月29日CreativeCommonsLicense(BY-NC-SA)13軟件包的更新保持系統(tǒng)中軟件包的更新極為重要當(dāng)軟件的編制者發(fā)現(xiàn)軟件的漏洞之后將對其進(jìn)行修復(fù),修復(fù)后的軟件包就會(huì)發(fā)布到相應(yīng)的yum倉庫中手動(dòng)更新#yumcheck-update#yum-yupdate#yum-yupdate-minimal自動(dòng)更新啟用yum-cron服務(wù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)14配置軟件包更新的Email通知安裝yum-cron#yum-yinstallyum-cron配置yum-cron#vi/etc/sysconfig/yum-cronupdate_cmd=securityemit_via=emailMAILTO139.com啟動(dòng)yum-cron#systemctlenableyum-cron.service#systemctlstartyum-cron.service2024年5月29日CreativeCommonsLicense(BY-NC-SA)15關(guān)閉不必要的服務(wù)查看已啟動(dòng)的服務(wù)#systemctllist-unit-files|grepenabled|grep.service使用systemctldisable命令關(guān)閉不必要的服務(wù)可以編寫自己的腳本文件關(guān)閉不必要的服務(wù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)16物理安全和登錄安全設(shè)置計(jì)算機(jī)BIOS配置GRUB的口令禁用三鍵重啟熱鍵設(shè)置屏幕鎖定為BASH設(shè)置超時(shí)自動(dòng)注銷2024年5月29日CreativeCommonsLicense(BY-NC-SA)17設(shè)置計(jì)算機(jī)BIOS禁止附加存儲(chǔ)介質(zhì)啟動(dòng)系統(tǒng)如:光驅(qū)、USB等設(shè)置BIOS修改口令2024年5月29日CreativeCommonsLicense(BY-NC-SA)18生成GRUB口令GRUB可以允許用戶繞過所有的安全驗(yàn)證而進(jìn)入調(diào)試Shell模式管理員應(yīng)該設(shè)置GRUB口令避免修改啟動(dòng)參數(shù)從而提供安全性為GRUB生成口令#grub2-mkpasswd-pbkdf2Password:<ENTER-YOUR-PASSWORD>Retypepassword:<ENTER-YOUR-PASSWORD>PBKDF2hashofyourpasswordisgrub.pbkdf2.sha512.10000.016088B35F8C0326EC214BD06C42B50039AE144EA311DFD1011029E598FA87B585B1E12323D86C84CE7CB635254F010D0C1B3BCBF6478AF4C235C826205BA62A.CFA807484702FA7A6FF52A7D3DB66E7D2D2E17D583AA8BDC108DF3BA075079AA4B4140AD5166E3AF276F7F0B92D491D6F242F5DB79B3C9FFB3358A2734B27A862024年5月29日CreativeCommonsLicense(BY-NC-SA)19啟用GRUB配置文件的口令
編輯/etc/grub.d/00_header,在其尾部添加如下行更新配置文件grub.cfg2024年5月29日CreativeCommonsLicense(BY-NC-SA)20cat<<EOFsetsuperusers="YourName"password_pbkdf2YourNamegrub.pbkdf2.sha512.10000.016088B35F8C0326EC214BD06C42B50039AE144EA311DFD1011029E598FA87B585B1E12323D86C84CE7CB635254F010D0C1B3BCBF6478AF4C235C826205BA62A.CFA807484702FA7A6FF52A7D3DB66E7D2D2E17D583AA8BDC108DF3BA075079AA4B4140AD5166E3AF276F7F0B92D491D6F242F5DB79B3C9FFB3358A2734B27A86#grub2-mkconfig-o/boot/grub2/grub.cfg禁用重啟熱鍵在RHEL/CentOS中默認(rèn)情況下可以通過鍵盤熱鍵<Ctrl>+<Alt>+<Delete>重啟系統(tǒng)為了提高安全性禁用重啟熱鍵#systemctlmaskcontrol-alt-delete.servie2024年5月29日CreativeCommonsLicense(BY-NC-SA)21設(shè)置屏幕鎖定安裝vlock包#yum-yinstallvlock使用vlock命令鎖定屏幕鎖定當(dāng)前屏幕:$vlock鎖定所有已登錄的終端會(huì)話并禁止虛擬控制臺(tái)切換:$vlock-a2024年5月29日CreativeCommonsLicense(BY-NC-SA)22為BASH設(shè)置超時(shí)自動(dòng)注銷#vi/etc/profile.d/autologout.shTMOUT=300#5分鐘后超時(shí)readonlyTMOUTexportTMOUT#chmod+x/etc/profile.d/autologout.sh2024年5月29日CreativeCommonsLicense(BY-NC-SA)23禁止root賬號(hào)登錄2024年5月29日24CreativeCommonsLicense(BY-NC-SA)19Jun2001NewJerseyInfragard25Root賬號(hào)盡量減少使用root賬號(hào)是整個(gè)Linux系統(tǒng)的關(guān)鍵如果可能,使用其他帳戶除非絕對必要,否則不要以root直接登錄使用“su-”替換root的直接登錄使用
sudosudo簡介sudo允許授權(quán)用戶以超級用戶或其他用戶身份執(zhí)行命令sudo能限制指定用戶在指定主機(jī)上運(yùn)行某些命令默認(rèn)情況下,只有root用戶可以使用sudo命令sudo使用普通用戶自己的口令sudo是設(shè)置了SUID權(quán)限位的執(zhí)行文件sudo使用時(shí)間戳文件來完成類似“檢票”的系統(tǒng)當(dāng)用戶執(zhí)行sudo時(shí),5分鐘
內(nèi)不用再輸入口令記錄所有登錄(包括成功的和不成功的登錄)/var/log/secure2024年5月29日CreativeCommonsLicense(BY-NC-SA)26與sudo相關(guān)的文件/usr/bin/sudo:以其他用戶身份執(zhí)行命令/etc/sudoers:sudo的配置文件列出哪(些)個(gè)用戶在哪個(gè)(些)主機(jī)上執(zhí)行哪個(gè)(些)命令/usr/sbin/visudo:用于編輯sudoers文件防止兩個(gè)用戶同時(shí)進(jìn)行修改進(jìn)行有限的語法檢查/var/run/sudo/目錄:包含用戶的時(shí)間戳文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)27sudo的執(zhí)行過程在/var/run/sudo/$USER目錄中查找時(shí)間戳文件若時(shí)間戳已過期,提示用戶輸入自己的口令若口令輸入錯(cuò)誤則退出sudo的執(zhí)行若口令輸入正確則繼續(xù)sudo的執(zhí)行過程若時(shí)間戳未過期,繼續(xù)sudo的執(zhí)行過程讀取配置文件/etc/sudoers,判斷用戶是否具有執(zhí)行此sudo命令的權(quán)限若有權(quán)限執(zhí)行則執(zhí)行sudo后面的命令若無權(quán)執(zhí)行則退出sudo的執(zhí)行2024年5月29日CreativeCommonsLicense(BY-NC-SA)28快速配置sudo將所有需要使用sudo的普通用戶添加到wheel組中#usermod-Gwheelosmond#usermod-Gwheeljason配置允許wheel組可以執(zhí)行sudo命令#visudo//刪除如下行的注釋符,之后保存退出%wheelALL=(ALL)ALL2024年5月29日CreativeCommonsLicense(BY-NC-SA)29su與sudo比較su直接切換為超級用戶普通用戶要切換為超級用戶必須知道超級用戶的口令適用于系統(tǒng)中只有單個(gè)系統(tǒng)管理員的情況sudo直接使用sudo命令前綴執(zhí)行系統(tǒng)管理命令執(zhí)行系統(tǒng)管理命令時(shí)無需知道超級用戶的口令適用于系統(tǒng)中有多個(gè)系統(tǒng)管理員的情況允許root為幾個(gè)用戶或組委派權(quán)利,使之能運(yùn)行部分或全部由root(或另一個(gè))用戶執(zhí)行的命令sudo設(shè)計(jì)者的宗旨:給用戶盡可能少的權(quán)限但仍允許完成他們的工作當(dāng)然系統(tǒng)只有單個(gè)系統(tǒng)管理員時(shí)也可以使用2024年5月29日CreativeCommonsLicense(BY-NC-SA)30/etc/sudoers的配置語法
(Runas)部分可以省略,省略時(shí)表示(root)四個(gè)部分均可設(shè)置多個(gè)項(xiàng)目,每個(gè)項(xiàng)目用逗號(hào)間隔。在User部分使用“%組名”的形式為組中的所有用戶授權(quán)。在Cmnd部分使用NOPASSWD:前綴參數(shù),表示不用輸入口令即可執(zhí)行Cmnd。使用
!前綴表示邏輯非。使用Shell通配符匹配可以執(zhí)行的命令。ALL表示所有。以#開始的行為注釋行。行末的\為續(xù)行符。2024年5月29日CreativeCommonsLicense(BY-NC-SA)31UserHost=(Runas)Cmnd被授權(quán)的用戶在哪些主機(jī)中使用允許執(zhí)行哪些命令可切換為哪些用戶/etc/sudoers的配置語法續(xù)定義四種別名User_AliasHost_AliasRunas_AliasCmnd_Alias語法使用別名簡化授權(quán)2024年5月29日CreativeCommonsLicense(BY-NC-SA)32User_Alias
USER_ALIAS_NAME=user1,user2,......Host_Alias
HOST_ALIAS_NAME=host1,host2,......Runas_Alias
RUNAS_ALIAS_NAME=runas1,runas2,......Cmnd_Alias
COMMAND_ALIAS_NAME=cmnd1,cmnd2,....../etc/sudoers的配置舉例1專職系統(tǒng)管理員(millert,mikef和dowdy)可以在任何主機(jī)上以root用戶身份執(zhí)行任何命令而不需要進(jìn)行身份驗(yàn)證。2024年5月29日CreativeCommonsLicense(BY-NC-SA)33User_AliasFULLTIMERS=millert,mikef,dowdyFULLTIMERSALL=NOPASSWD:ALL/etc/sudoers的配置舉例2兼職管理員(jalala,sonar和huge)可以在任何主機(jī)上以root用戶身份運(yùn)行別名BROWSE、PROCESSES、USERS中定義的命令,同時(shí)可以修改除了root用戶之外的所有用戶口令。2024年5月29日CreativeCommonsLicense(BY-NC-SA)34User_AliasPARTTIMERS2=jalala,sonar,hugeCmnd_AliasBROWSE=/bin/ls,/bin/cd,/bin/catCmnd_AliasPROCESSES=/bin/nice,/bin/kill,/usr/bin/killallCmnd_AliasUSERS=/usr/sbin/useradd[A-z]*,/usr/sbin/userdel-r[A-z]*PARTTIMERS2ALL=USERS,PROCESSES,BROWSE,/usr/bin/passwd[A-z]*,!/usr/bin/passwdrootsudo命令-H:將環(huán)境變量中的$HOME指定為要變更身份的使用者的目錄(如不加-u參數(shù)就是/root)。-b:在后臺(tái)執(zhí)行指令。-uusername|#uid:以指定的用戶作為新的身份。省略此參數(shù)表示以root的身份執(zhí)行指令。-i:模擬一個(gè)新用戶身份的初始Shell。-s:執(zhí)行環(huán)境變量$SHELL所指定的Shell,或是/etc/passwd里所指定的Shell。2024年5月29日CreativeCommonsLicense(BY-NC-SA)35sudo-V|-h|-k|-l|-vsudo[-Hb][-uusername|#uid]{-i|-s|<command>}sudo命令舉例查看當(dāng)前用戶可以使用sudo執(zhí)行的命令列表$sudo-l進(jìn)入交互式(interactively)登錄,類似“su-”$sudo-i直接執(zhí)行授權(quán)的命令$sudo/usr/sbin/useraddotheruser$sudo/usr/bin/passwdotheruser$sudosh-c"cd/home;du-s*|sort-rn>USAGE"2024年5月29日CreativeCommonsLicense(BY-NC-SA)36可插拔認(rèn)證模塊(PAM)2024年5月29日37CreativeCommonsLicense(BY-NC-SA)PAM簡介PAM(PluggableAuthenticationModules)/pub/linux/libs/pam/index.html本地文檔:/usr/share/doc/pam-<version>/PAM是一系列被應(yīng)用程序共享的可配置的動(dòng)態(tài)加載的用于用戶驗(yàn)證和授權(quán)的庫文件PAM將應(yīng)用程序的驗(yàn)證機(jī)制從應(yīng)用程序中獨(dú)立出來應(yīng)用程序調(diào)用PAM來實(shí)現(xiàn)用戶驗(yàn)證和授權(quán)PAM獨(dú)立的模塊化實(shí)現(xiàn)便于功能擴(kuò)展和維護(hù)PAM為認(rèn)證模塊的編制建立了標(biāo)準(zhǔn)的API,以便各應(yīng)用程序能方便地使用PAM驗(yàn)證機(jī)制對其上層的應(yīng)用程序和最終用戶都是透明的2024年5月29日CreativeCommonsLicense(BY-NC-SA)38PAM的組成PAM由PAM核心和PAM模塊組成PAM核心負(fù)責(zé)調(diào)用PAM模塊/lib/libpam.soPAM模塊用于實(shí)現(xiàn)各種驗(yàn)證的動(dòng)態(tài)可加載的庫文件對每個(gè)PAM模塊都會(huì)執(zhí)行
通過
或
失敗
的測試PAM模塊保存在/lib/security目錄中一些PAM模塊需要模塊的配置文件,模塊配置文件通常保存在
/etc/security目錄下2024年5月29日CreativeCommonsLicense(BY-NC-SA)39PAM客戶PAM客戶:使用PAM驗(yàn)證功能的應(yīng)用程序判斷應(yīng)用程序是否為PAM客戶#ldd/bin/login|greplibpam查詢系統(tǒng)已安裝的PAM客戶#rpm-q--whatrequirespamPAM客戶配置文件每個(gè)PAM客戶都可以調(diào)用不同的PAM模塊實(shí)現(xiàn)驗(yàn)證決定了PAM模塊在什么時(shí)候如何被PAM客戶使用保存在/etc/pam.d目錄下2024年5月29日CreativeCommonsLicense(BY-NC-SA)40PAM客戶調(diào)用PAM的過程PAM客戶(如:login)調(diào)用PAM核心
/lib/libpam.soPAM核心收到來自應(yīng)用程序的請求后在/etc/pam.d目錄下查找與應(yīng)用程序同名的配置文件(如:/etc/pam.d/login)PAM核心根據(jù)配置文件的設(shè)置執(zhí)行指定的PAM模塊在執(zhí)行一些模塊(如:pam_access)時(shí),還會(huì)讀取/etc/security目錄下相應(yīng)的模塊配置文件(如:/etc/security/access.conf)PAM核心接收每一個(gè)PAM模塊的執(zhí)行結(jié)果(或成功或失?。鶕?jù)PAM模塊的返回結(jié)果和配置文件的設(shè)置決定驗(yàn)證是否通過PAM核心將最終結(jié)果返回給調(diào)用它的應(yīng)用程序,應(yīng)用程序根據(jù)返回結(jié)果決定驗(yàn)證是否通過2024年5月29日CreativeCommonsLicense(BY-NC-SA)41PAM客戶的配置文件/etc/pam.d/*每個(gè)配置文件均使用同樣的語法配置文件中每一行的格式為:模塊類型
控制標(biāo)記
模塊路徑
執(zhí)行參數(shù)模塊類型(module-type):指定模塊的測試類型控制標(biāo)記(control-flag):決定PAM如何使用模塊調(diào)用后的返回值模塊路徑(module-path):指定相對于/lib/security/目錄的模塊文件名執(zhí)行參數(shù)(module-arguments):指定模塊參數(shù),多個(gè)參數(shù)之間用空格間隔(可選項(xiàng))2024年5月29日CreativeCommonsLicense(BY-NC-SA)42PAM的模塊類型PAM的四種模塊類型auth
驗(yàn)證某用戶的確是這個(gè)用戶account
批準(zhǔn)某賬戶的使用password
控制密碼的修改session
打開、關(guān)閉、并記錄會(huì)話每一類都會(huì)在需要時(shí)被調(diào)用,并為服務(wù)提供獨(dú)立的結(jié)果2024年5月29日CreativeCommonsLicense(BY-NC-SA)43PAM的控制標(biāo)志模塊可以被堆疊
(同種類型的模塊按先后順序依次執(zhí)行)控制標(biāo)志決定每個(gè)類型測試將如何影響同類型的測試以及最終的測試結(jié)果required:必須通過,若失敗則繼續(xù)測試requisite
:與required類似,不同之處是它在失敗后停止測試sufficient
:如果到此為止一直通過,現(xiàn)在就返回成功;如果失敗,忽略測試,繼續(xù)檢查optional:測試通過與否都無關(guān)緊要include:返回在被調(diào)用的文件中配置的測試的總體測試值2024年5月29日CreativeCommonsLicense(BY-NC-SA)44控制標(biāo)志的復(fù)雜語法valueN可以是:PAM函數(shù)庫中任何一個(gè)函數(shù)的返回值,如:new_authtok_reqd、user_unknownsuccess、Ignore、default等actionN可以是:ignore:忽略此測試的值,即此值對最終測試結(jié)果無關(guān)緊要bad:這個(gè)返回值應(yīng)該被看作整個(gè)層疊模塊驗(yàn)證失敗ok:這個(gè)返回值直接作為整個(gè)層疊模塊的返回值非負(fù)整數(shù):表示需要忽略后面堆疊的n個(gè)同類型的模塊2024年5月29日CreativeCommonsLicense(BY-NC-SA)45[value1=action1value2=action2...]控制標(biāo)志的兩種語法的關(guān)系required等價(jià)于[success=oknew_authtok_reqd=okignore=ignoredefault=bad]requisite等價(jià)于[success=oknew_authtok_reqd=okignore=ignoredefault=die]sufficient等價(jià)于[success=donenew_authtok_reqd=donedefault=ignore]optional等價(jià)于[success=oknew_authtok_reqd=okdefault=ignore]2024年5月29日CreativeCommonsLicense(BY-NC-SA)46示例:/etc/pam.d/login#%PAM-1.0auth[user_unknown=ignoresuccess=okignore=ignoredefault=bad]pam_securetty.soauthsubstacksystem-authauthincludepostloginaccountrequiredpam_nologin.soaccountincludesystem-authpasswordincludesystem-auth#pam_selinux.socloseshouldbethefirstsessionrulesessionrequiredpam_selinux.soclosesessionrequiredpam_loginuid.sosessionoptionalpam_console.so#pam_selinux.soopenshouldonlybefollowedbysessionstobeexecutedintheusercontextsessionrequiredpam_selinux.soopensessionrequiredpam_namespace.sosessionoptionalpam_keyinit.soforcerevokesessionincludesystem-authsessionincludepostlogin-sessionoptionalpam_ck_connector.so2024年5月29日CreativeCommonsLicense(BY-NC-SA)47共享驗(yàn)證文件:system-authsystem-auth為許多PAM客戶
提供了一個(gè)“通用的全局配置”system-auth包含了若干標(biāo)準(zhǔn)驗(yàn)證測試system-auth由
include控制標(biāo)志調(diào)用system-auth對可共享的標(biāo)準(zhǔn)系統(tǒng)驗(yàn)證實(shí)現(xiàn)簡單、統(tǒng)一的管理修改system-auth配置文件可以同時(shí)影響多個(gè)PAM客戶的驗(yàn)證2024年5月29日CreativeCommonsLicense(BY-NC-SA)48/etc/pam.d/system-auth#%PAM-1.0#Thisfileisauto-generated.#Userchangeswillbedestroyedthenexttimeauthconfigisrun.authrequiredpam_env.soauthsufficientpam_unix.sonulloktry_first_passauthrequisitepam_succeed_if.souid>=1000quiet_successauthrequiredpam_deny.so
accountrequiredpam_unix.soaccountsufficientpam_localuser.soaccountsufficientpam_succeed_if.souid<1000quietaccountrequiredpam_permit.so
passwordrequisitepam_pwquality.sotry_first_passlocal_users_onlyretry=3authtok_type=passwordsufficientpam_unix.somd5shadownulloktry_first_passuse_authtokpasswordrequiredpam_deny.so
sessionoptionalpam_keyinit.sorevokesessionrequiredpam_limits.so-sessionoptionalpam_systemd.sosession[success=1default=ignore]pam_succeed_if.soserviceincrondquietuse_uidsessionrequiredpam_unix.so2024年5月29日CreativeCommonsLicense(BY-NC-SA)49常用的PAM模塊(1)pam_env:環(huán)境變量初始化pam_unix:標(biāo)準(zhǔn)UNIX的用戶認(rèn)證pam_pwquality:強(qiáng)制使用強(qiáng)壯的口令pam_tally[2]:記錄用戶的失敗登錄和賬戶鎖定pam_nologin:若/etc/nologin存在,則除了root用戶之外的任何用戶都不能登錄pam_securetty:root用戶只能使用/etc/securetty文件中指定的終端設(shè)備登錄pam_mkhomedir:當(dāng)用戶主目錄不存在時(shí)創(chuàng)建其主目錄2024年5月29日CreativeCommonsLicense(BY-NC-SA)50常用的PAM模塊(2)pam_access用一個(gè)文本配置文件完成基于用戶、組、以及來源的訪問限制配置文件:/etc/security/access.conf#manpam_accesspam_listfile允許用戶針對某一服務(wù)單獨(dú)建立文件來配置基于用戶、組、本地終端、遠(yuǎn)端主機(jī)的限制配置文件由模塊參數(shù)指定,配置文件包含被允許或拒絕的賬戶列表#manpam_listfile2024年5月29日CreativeCommonsLicense(BY-NC-SA)51常用的PAM模塊(3)pam_limits使用一個(gè)文本配置文件,限制授權(quán)用戶可使用的資源配置文件:
/etc/security/limits.conf#manpam_limitspam_time使用一個(gè)文本配置文件,配置基于時(shí)間的服務(wù)訪問限制配置文件:/etc/security/time.conf#manpam_time2024年5月29日CreativeCommonsLicense(BY-NC-SA)52查看PAM模塊及其手冊查找當(dāng)前系統(tǒng)已安裝的PAM模塊手冊#man-kpam_查看某PAM模塊的手冊#manpam_XXX查找使用了指定模塊的PAM配置文件#grep-lpam_XXX/etc/pam.d/*2024年5月29日CreativeCommonsLicense(BY-NC-SA)53PAM故障排除檢查系統(tǒng)日志/var/log/message/var/log/securePAM錯(cuò)誤可能會(huì)使root用戶被拒之門外在測試PAM時(shí)打開一個(gè)rootshell用單用戶模式繞過PAM使用救援光盤引導(dǎo)系統(tǒng)2024年5月29日CreativeCommonsLicense(BY-NC-SA)54口令策略與口令安全2024年5月29日55CreativeCommonsLicense(BY-NC-SA)口令策略口令必須保持私有一個(gè)口令在使用60天后必須更換避免使用最近使用過的5個(gè)口令口令必須符合復(fù)雜性要求不包含用戶的賬戶名、超過兩個(gè)連續(xù)字符的用戶全名至少12個(gè)字符的長度至少包含英文大寫字符、英文小寫字符、十進(jìn)制數(shù)字和非字母字符(例如:!,$,#,%)四類字符中的三類2024年5月29日CreativeCommonsLicense(BY-NC-SA)56Linux口令安全散列存儲(chǔ)機(jī)制CentOS7中默認(rèn)使用帶加鹽的sha512哈希算法生成系統(tǒng)用戶的口令影子口令機(jī)制CentOS7默認(rèn)將用戶口令保存在只能被root查看的/etc/shadow文件中基于/etc/shadow文件的時(shí)間字段實(shí)現(xiàn)了口令時(shí)效基于PAM的賬號(hào)保護(hù)和口令策略實(shí)施2024年5月29日CreativeCommonsLicense(BY-NC-SA)57口令安全與口令策略散列口令:使口令更難被破譯(默認(rèn)設(shè)置)使用帶有sha512(sha256、md5)參數(shù)的pam_unix.so影子口令:實(shí)現(xiàn)口令時(shí)效,且/etc/shadow只能被root查看(默認(rèn)設(shè)置)使用帶有
shadow參數(shù)的pam_unix.so口令歷史:避免重復(fù)使用最近幾次設(shè)置過的口令使用帶有remember=N
參數(shù)的pam_unix.so口令強(qiáng)度:限制口令中可用的字符及數(shù)目使用帶有參數(shù)的pam_pwquality.so賬戶鎖定:記錄失敗的登錄并在N次失敗后鎖定使用帶有參數(shù)的pam_tally2.so2024年5月29日CreativeCommonsLicense(BY-NC-SA)58pam_unix.so可用的驗(yàn)證類型auth:驗(yàn)證用戶密碼的有效性可用的模塊參數(shù):debug、audit、use_first_pass、try_first_pass、nullok和nodelayaccount:檢查密碼是否過期可用的模塊參數(shù):debug、auditpassword:處理本地文件或NIS中的密碼修改可用的模塊參數(shù):debug、audit、nullok、nis、md5、not_set_pass、use_authtok、try_first_pass、use_first_pass、bigcrypt、shadow、remembersession:將登錄和注銷事件記錄到日志中2024年5月29日CreativeCommonsLicense(BY-NC-SA)59pam_unix.so的常用參數(shù)debug:將調(diào)試信息寫入系統(tǒng)日志audit:提供比debug更多診斷調(diào)試信息nullok:允許口令為空的用戶登錄系統(tǒng)sha512
:采用sha512哈希算法shadow:采用shadow口令機(jī)制remember=n:避免用戶重復(fù)使用最近n次設(shè)置過的口令會(huì)將n個(gè)使用過的舊密碼,以哈希方式加密后保存到/etc/security/opasswd文件中2024年5月29日CreativeCommonsLicense(BY-NC-SA)60pam_unix.so的常用參數(shù)續(xù)try_first_pass:與auth驗(yàn)證類型一起使用時(shí),從之前的auth類型來取得用戶口令,若口令不符合或未輸入則要求重新輸入一次。與password驗(yàn)證類型一起使用時(shí),該選項(xiàng)主要用來防止用戶新設(shè)定的密碼與以前的舊密碼相同。use_first_pass:與auth驗(yàn)證類型一起使用時(shí),從之前的auth類型來取得使用者口令,若口令不符合或未輸入則認(rèn)為認(rèn)證失敗。與password驗(yàn)證類型一起使用時(shí),該選項(xiàng)主要用來防止用戶新設(shè)定的密碼與前面password提供的口令相同。use_authok:與password驗(yàn)證類型一起使用時(shí),使用此選項(xiàng)強(qiáng)制用戶使用前面堆疊驗(yàn)證模塊提供的密碼,例如由pam_cracklib驗(yàn)證模塊提供的新密碼。2024年5月29日CreativeCommonsLicense(BY-NC-SA)61使用pam_unix.so模塊
加強(qiáng)口令安全/etc/pam.d/system-authauthsufficientpam_unix.sonulloktry_first_passaccountrequiredpam_unix.sopasswordsufficientpam_unix.sosha512
shadow
nulloktry_first_passuse_authtokremember=5sessionrequiredpam_unix.so2024年5月29日CreativeCommonsLicense(BY-NC-SA)62用戶口令的強(qiáng)壯性檢查
——pam_pwquality.so模塊參數(shù)minlen=N:最小口令長度。difok=N:新口令有幾個(gè)字符不能和舊口令相同,默認(rèn)是5或有一半的字符與舊口令不同。dcredit=N:當(dāng)N>=0時(shí),N代表新口令最多可以有多少個(gè)阿拉伯?dāng)?shù)字。當(dāng)N<0時(shí),N代表新口令最少要有多少個(gè)阿拉伯?dāng)?shù)字。ucredit=N:與dcredit書寫規(guī)則類似,但此處指大寫字母。lcredit=N:與dcredit書寫規(guī)則類似,但此處指小寫字母。ocredit=N:與dcredit書寫規(guī)則類似,但此處指特殊字符。2024年5月29日CreativeCommonsLicense(BY-NC-SA)63使用pam_cracklib.so模塊
設(shè)置口令策略2024年5月29日CreativeCommonsLicense(BY-NC-SA)64/etc/pam.d/system-authpasswordrequisitepam_pwquality.sotry_first_passlocal_users_onlyretry=3authtok_type=minlen=12dcredit=-1ucredit=-1ocredit=-1lcredit=-1或者寫入模塊配置文件/etc/security/pwquality.conf#echo'minlen=12dcredit=-1ucredit=-1ocredit=-1lcredit=-1'>>/etc/security/pwquality.confpam_tally2.so模塊設(shè)置在登錄失敗若干次之后鎖定賬戶將用戶失敗的登錄次數(shù)記錄于二進(jìn)制文件/var/log/tallylog管理員可以使用如下命令將某用戶的失敗登錄計(jì)數(shù)器清零從而解除賬戶鎖定#
/sbin/pam_tally2--user<username>--reset常用的模塊參數(shù)onerr=fail:當(dāng)?shù)卿浭r(shí)deny=n:n次之后禁止登錄2024年5月29日CreativeCommonsLicense(BY-NC-SA)65使用pam_tally2.so模塊
設(shè)置登錄失敗后的賬戶鎖定/etc/pam.d/system-authauthrequiredpam_tally2.sodeny=5onerr=faileven_deny_rootunlock_time=12002024年5月29日CreativeCommonsLicense(BY-NC-SA)66基于PAM的訪問控制登錄訪問控制——pam_access.so列表訪問控制——pam_listfile.so時(shí)間訪問控制——pam_time.so資源訪問控制——pam_limits.so2024年5月29日CreativeCommonsLicense(BY-NC-SA)67pam_access.so模塊簡介通過用戶及其來源實(shí)現(xiàn)登錄訪問控制根據(jù)指定的(user,host)允許或拒絕用戶的網(wǎng)絡(luò)登錄根據(jù)指定的(user,tty)允許或拒絕用戶的本地登錄可用的模塊測試類型auth,account,passwordandsession默認(rèn)的模塊配置文件/etc/security/access.conf#man5access.conf常用模塊參數(shù)accessfile=<filename>指定與默認(rèn)模塊配置文件分離的其他配置文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)68pam_access的模塊配置文件權(quán)限(permission)+代表允許,-代表拒絕用戶(users)以空格間隔的用戶名或組名,ALL表示所有用戶來源(origins)ttyX表示非遠(yuǎn)程登錄,
LOCAL
表示任何本地登錄somehostname、FQDN、.
、192.168.0.、/24ALL表示所有來源,EXCEPT
表示除了…之外2024年5月29日CreativeCommonsLicense(BY-NC-SA)69權(quán)限:用戶:來源pam_access.so舉例(1)修改login的PAM配置文件/etc/pam.d/loginaccountrequiredpam_nologin.soaccountrequiredpam_access.so…………修改配置文件
/etc/security/access.conf-:root:tty2-:jjheng:LOCALEXCEPTtty42024年5月29日CreativeCommonsLicense(BY-NC-SA)70禁止root用戶從tty2上登錄,用戶jjheng可以在除tty4本地終端之外的所有終端登錄。pam_access.so舉例(2)修改sshd的PAM配置文件
/etc/pam.d/sshdaccountrequiredpam_nologin.soaccountrequiredpam_access.soaccessfile=/etc/ssh/sshd_access.conf…………修改配置文件/etc/ssh/sshd_access.conf-:root:ALLEXCEPTcentos.ls-al.me-:root:ALLEXCEPT/24-:ALLEXCEPTosmond:ALL2024年5月29日CreativeCommonsLicense(BY-NC-SA)71限制root用戶只能從centos.ls-al.me主機(jī)上使用ssh登錄本系統(tǒng),限制root用戶只能從/24上使用ssh登錄本系統(tǒng),禁止所有除了osmond之外的用戶使用ssh登錄本系統(tǒng)。pam_listfile.so模塊簡介使用允許/禁止列表實(shí)現(xiàn)訪問控制基于
user的允許/禁止列表基于group
的允許/禁止列表基于tty|rhost|ruser|shell的允許/禁止列表可用的模塊測試類型auth,account,passwordandsession模塊配置文件存放同類型的項(xiàng)目,如全部為用戶名或全部為組名每一行存放一個(gè)項(xiàng)目2024年5月29日CreativeCommonsLicense(BY-NC-SA)72pam_listfile.so的模塊參數(shù)item=[tty|user|rhost|ruser|group|shell]設(shè)置訪問控制的對象類型file=/path/to/filename指定保存有“item”對象的文件位置sense=allow|deny在文件file中找到指定的item對象時(shí)的動(dòng)作(或允許或拒絕)如果在文件中找不到相應(yīng)的item對象,則執(zhí)行相反的動(dòng)作onerr=succeed|fail指定當(dāng)某類事件發(fā)生時(shí)的返回值(或成功或失?。゛pply=[user|@group]指定規(guī)則所適用的對象只有當(dāng)item=[tty|rhost|shell]時(shí)才有意思2024年5月29日CreativeCommonsLicense(BY-NC-SA)73pam_listfile.so舉例(1)/etc/pam.d/vsftpdsessionoptionalpam_keyinit.soforcerevokeauthrequiredpam_listfile.soitem=usersense=denyfile=/etc/vsftpd/ftpusersonerr=succeed……/etc/vsftpd/ftpusersrootbin……2024年5月29日CreativeCommonsLicense(BY-NC-SA)74Vsftpd的默認(rèn)配置:拒絕/etc/vsftpd/ftpusers中列出的用戶登錄ftppam_listfile.so舉例(2)編輯/etc/pam.d/sshdauthincludesystem-authauthrequiredpam_listfile.soitem=usersense=denyonerr=succeedfile=/etc/ssh/sshd.deny……編輯
/etc/ssh/sshd.denyrootjjheng……2024年5月29日CreativeCommonsLicense(BY-NC-SA)75拒絕
/etc/ssh/sshd.deny中列出的用戶ssh登錄pam_listfile.so舉例(3)編輯
/etc/pam.d/suauthsufficientpam_rootok.soauthrequiredpam_listfile.soitem=useronerr=failsense=allowfile=/etc/security/su.ok……編輯
/etc/security/su.okroottom……2024年5月29日CreativeCommonsLicense(BY-NC-SA)76使用su時(shí)只能切換為/etc/security/su.ok中列出的用戶pam_time.so模塊簡介實(shí)現(xiàn)基于時(shí)間的登錄訪問控制通過login限制本地登錄的訪問時(shí)間通過sshd限制網(wǎng)絡(luò)登錄的訪問時(shí)間可用的模塊測試類型account默認(rèn)的模塊配置文件/etc/security/time.conf#man5time.conf2024年5月29日CreativeCommonsLicense(BY-NC-SA)77pam_time的模塊配置文件服務(wù)、終端、用戶是邏輯表達(dá)式的列表“!”表示非;“|”表示或;“&”表示與服務(wù)(services)——即PAM客戶應(yīng)用PAM功能的服務(wù)名稱(如:login、sshd)終端(ttys)——應(yīng)用此規(guī)則的終端名“*”表示任何終端用戶(users)——應(yīng)用此規(guī)則的用戶名“*”表示任何用戶2024年5月29日CreativeCommonsLicense(BY-NC-SA)78服務(wù);終端;用戶;時(shí)間pam_time的模塊配置文件續(xù)時(shí)間(times)——應(yīng)用此規(guī)則的時(shí)間范圍用星期幾表示日期Mo、Tu、We、Th、Fr、Sa、Su(周1~周日)Wk指每一天,Wd指周末,Al也指每一天MoTuSa:指星期一星期二和星期六AlFr:指除星期五外的每一天時(shí)間使用24小時(shí)制HHMM-HHMM
的形式Al1800-0800:指每天下午6點(diǎn)整到第二天的早晨8點(diǎn)整可用“!”表示除此以外的所有日期/時(shí)間“|”表示或2024年5月29日CreativeCommonsLicense(BY-NC-SA)79pam_time.so舉例(1)修改配置文件
/etc/pam.d/loginaccount
include
system-authaccount
required
pam_time.so編輯配置文件
/etc/security/time.conf#允許fanny和david在周1、3、5早9點(diǎn)到晚10點(diǎn)登錄本機(jī)login;tty*;fanny|david;MoWeFr0900-2200#允許以student開始的用戶每天早8點(diǎn)到晚6點(diǎn)登錄本機(jī)login;tty*;student*;Wk0800-1800#禁止所有普通用戶登錄本機(jī)login;tty*;!root;!A5月29日CreativeCommonsLicense(BY-NC-SA)80限制用戶本地登錄的登錄時(shí)間pam_time.so舉例(2)修改配置文件
/etc/pam.d/sshdaccount
include
system-authaccount
required
pam_time.so編輯配置文件/etc/security/time.conf#允許用戶osmond每天0點(diǎn)到晚11點(diǎn)登錄本機(jī)sshd;*;osmond;Al0000-2300#允許所有以student開始的用戶每天早8點(diǎn)到晚6點(diǎn)登錄本機(jī)sshd;*;student*;Wk0800-1800#允許所有普通用戶每天晚6點(diǎn)到次日早8點(diǎn)或周末全天登錄sshd;*;!root;Wd0000-2400|Wk1800-08002024年5月29日CreativeCommonsLicense(BY-NC-SA)81限制用戶ssh遠(yuǎn)程登錄的登錄時(shí)間pam_limits.so模塊簡介實(shí)現(xiàn)資源訪問的限制限制用戶或組的同時(shí)登錄數(shù)限制用戶在會(huì)話過程中對系統(tǒng)資源的使用可用的模塊測試類型session默認(rèn)的模塊配置文件/etc/security/limits.conf#man5limits.conf2024年5月29日CreativeCommonsLicense(BY-NC-SA)82pam_limits的模塊配置文件1Domain:指定被限制的用戶名或組名組名前面加@以示與用戶名區(qū)別通配符*表示所有用戶Type:指定限制類型soft
指的是當(dāng)前系統(tǒng)生效的設(shè)置值hard
表明系統(tǒng)中所能設(shè)定的最大值可以超出軟限制(警告),但不能超過硬限制(soft<hard)用
-就表明同時(shí)設(shè)置soft和hard的值Value:指定限制值2024年5月29日CreativeCommonsLicense(BY-NC-SA)83<domain><type><item><value>pam_limits的模塊配置文件2Item:指定被限制的資源項(xiàng)目CPUcpu:最大的CPU占用時(shí)間(分鐘)nproc:最大進(jìn)程數(shù)文件fsize:最大的文件大小(KB)nofile:最大可以打開的文件數(shù)量locks:最大可鎖定文件的數(shù)目2024年5月29日CreativeCommonsLicense(BY-NC-SA)84<domain><type><item><value>pam_limits的模塊配置文件3Item:指定被限制的資源項(xiàng)目內(nèi)存data:最大的數(shù)據(jù)段大小(KB)stack:最大的堆棧段大小(KB)rss:最大的可駐留空間(KB)memlock:最大鎖定內(nèi)存地址空間大小(KB)msqqueue:POSIX信息隊(duì)列的最大可使用的內(nèi)存(bytes)登錄數(shù)maxlogins:該用戶可以登錄到系統(tǒng)的最多次數(shù)maxsyslogins:系統(tǒng)能夠同時(shí)登錄的最大用戶數(shù)2024年5月29日CreativeCommonsLicense(BY-NC-SA)85<domain><type><item><value>pam_limits.so舉例(1)cat/etc/pam.d/system-authsessionrequiredpam_limits.so編輯/etc/security/limits.conf#限制osmond用戶的同時(shí)登錄數(shù)為2osmondhardmaxlogins2#限制students組中的用戶同時(shí)登錄數(shù)為20@studentshardmaxlogins20#限制系統(tǒng)能夠同時(shí)登錄的最大用戶數(shù)為50*hardmaxsyslogins502024
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 促銷車牌租賃合同范本模板
- 土地復(fù)墾合同樣本
- 畜牧業(yè)養(yǎng)殖基地租賃合同
- 教育機(jī)構(gòu)差旅報(bào)銷制度
- 廣州市文化場館租房合同模板
- 2025年度文化藝術(shù)產(chǎn)業(yè)投資合作合同3篇
- 科研實(shí)驗(yàn)室租賃研究住宿協(xié)議
- 臨時(shí)財(cái)務(wù)助理聘用合同出納
- 隧道工程挖掘機(jī)租賃協(xié)議
- 家庭醫(yī)生聘用協(xié)議書樣本
- 工程機(jī)械租賃服務(wù)方案及保障措施 (1)
- 功率因數(shù)調(diào)整電費(fèi)辦法
- 美發(fā)基礎(chǔ)(課堂PPT)
- WordA4信紙(A4橫條直接打印版)
- 藥品庫存清單(2015年)
- (完整版)會(huì)計(jì)準(zhǔn)則(全文)
- 百家姓全文拼音版A4打印
- 專家論證挖孔樁專項(xiàng)施工方案
- IPC標(biāo)準(zhǔn)解析學(xué)習(xí)課程
- 麻花鉆鉆孔中常見問題的原因和解決辦法
- 部分常用巖土經(jīng)驗(yàn)值
評論
0/150
提交評論