等級保護2.0之Linux安全系列


一、身份鑒別

測評項

  a)應對登錄的用戶進行身份標識和鑒別,身份標識具有唯一性,身份鑒別信息具有復雜度要求並定期更換。

測評方法

  1. 使用root權限的賬戶登錄操作系統后,使用命令cat 查看/etc/shadow文件,核查第二列是否為空,為空即存在空口令賬戶。
  2. 使用命令cat查看/etc/login.defs文件,查看是否設置密碼長度和定期更換要求,使用命令cat查看/etc/pam.d/system-auth文件。查看密碼長度和復雜度要求,記錄PASS MAX_DAYS、PASS MIN_DAYS、PASS MIN_LEN、PASS WARN_AGE。

擴展:

  1./etc/shadow文件共包含9個字段,分別是用戶名、加密后的用戶密碼、自上次修改密碼后過去的天數(自1970年1月1日開始計算)、多少天后可以修改密碼、多少天后必須修改密碼、密碼過期前多少天提醒更改密碼、密碼過期后多少天禁用用戶賬戶、用戶被禁用的日期(自1970年1月1日經過的天數)、預留字段以備未來使用

  2./etc/shadow文件第二個字段的值為加密后的用戶密碼,正常情況為一長串字符串,異常情形如下:

    ①為空,前后兩個冒號之間無內容(::),表示該賬戶無密碼;

    ②為"!",即(:!:),表示該用戶被鎖,被鎖將無法登陸,但是可能其他的登錄方式是不受限制的,如ssh公鑰認證的方式,su的方式;

    ③為"*",即(:*:),表示無法使用,和"!"效果是一樣的。

    ④以"!"或"!!"開頭,則也表示該用戶被鎖。

    ⑤為"!!",即(:!!:),表示該用戶從來沒設置過密碼。

  3.密碼長度和復雜度要求建議值:

    PASS_MAX_DAYS:90

    PASS_MIN_DAYS:1

    PASS_MIN_LEN:8

    PASS_WARN_AGE:5

  4.在/etc/pam.d/system-auth中添加一行:auth required pam_tally2.so onerr=fail deny=3 unlock_time=30 even_deny_root root_unlock_time=100

測評項:

  b)應具有登錄失敗處理功能,應配置並啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施。

測評方法:

  1.(方法1)查看cat /etc/pam.d/system-auth文件,是否使用pam_tally.so木塊跟蹤不成功的登錄次數。查看2條配置相關鎖定策略:

  auth required /lib/security/pam_tally.so onerr=fail no_magic_root和

  account required /lib/security/pam_tally.so deny=10 no_magic_root reset

  2.(方法2)查看cat /etc/pam.d/system-auth文件,是否使用pam_tally2.so模塊跟蹤不成功的登錄次數。查看1條配置相關鎖定策略:

  auth required pam_tally2.so deny=10 onerr=fail even_deny_root unlock_time=300 root_unlock_time=100(配置在文件第二行)

  3.以上方法只是限制用戶從tty登錄,而沒有限制遠程登錄,如果想限制遠程登錄,需要修改sshd文件,cat /etc/pam.d/sshd

  auth required pam_tally2.so deny=10 unlock_time=300 even_deny_root root_unlock_time=100(配置在文件第二行)

  4.查看系統是否配置操作超時鎖定,檢查/etc/profile設置TMOUT是否不大於900秒(若沒有TMOUT字段,需要自己加上,賦值300)

  查看/etc/ssh/sshd_config的ssh登錄超時策略:

  ClientAliveInterval 60

  ClientAliveCountMax 3 

測評項:

  c)當進行遠程管理時,應采取必要措施防止鑒別信息在網絡傳輸過程中被竊聽。

測評方法:

  應核查是否采用加密等安全方式對系統進行遠程管理,防止鑒別信息在網絡傳輸過程中被竊聽,詢問並驗證是否關閉了Telnet、FTP等服務,是否使用ssh加密協議進行遠程登錄和管理

  1.telnet,ftp服務:netstat -a | grep telnet,netstat -a | grep ftp輸出為空,表示沒有開啟該服務

  2.ps aux | grep telnet,ps aux | grep rlogin,ps aux | grep ftp查看是否開啟telnet、rlogin、ftp

  3.輸入:rpm -aq|grep ssh,rpm -aq|grep telnet,rpm -aq|grep vsftp查看是否安裝了ssh、telnet、ftp等相應的包

  4.輸入:netstat -an 或 lsof -i:21、lsof -i:22、lsof -i:23等命令查看21(FTP)、22(SSH)、23(Telnet)端口運行情況

測評項:

  d)應采用口令、密碼技術、生物技術等兩種或兩種以上組合的鑒別技術對用戶進行身份鑒別,且其中一種鑒別技術至少使用密碼技術來實現

測評方法:

  1.查看和詢問系統管理員在登錄操作系統的過程中使用了哪些身份鑒別方法,是否采用了兩種或兩種以上組合的鑒別技術,如口令、數字證書UKey、令牌、指紋等,是否有一種鑒別方法在鑒別過程中使用了密碼技術

  2.記錄系統管理員在登錄操作系統使用的身份鑒別方法,同事記錄使用密碼的鑒別方法。

二、訪問控制

測評項:

  a)應對登錄的用戶分配賬戶和權限;

測評方法:

  1.應核查是否為用戶分配了賬戶和權限及相關設置情況,查看cat /etc/group,檢查各用戶組內的用戶情況,確認root組內僅有root用戶

  2.應核查是否已禁用或限制匿名、默認賬戶的訪問權限;應禁止root直接遠程登錄ssh,查看cat /etc/ssh/sshd_config的PermitRootLogin no|yes設置為no

  3.應禁止root直接遠程登錄telnet,查看cat /etc/securetty文件中的pts0-pts3全部注釋

判定說明:

  1.未提供權限列表,但不同的用戶使用不同的賬戶登錄系統結果判定為符合

  2.多人僅設置一個root賬戶結果判定為不符合

擴展:

  1./etc/group中總共有4個字段,其含義分別為:用戶組名、用戶組密碼、用戶組GID、用戶組下包含的用戶名

  2./etc/securetty文件規定了root用戶可以從哪些tty設備登錄,登錄程序(通常是/bin/login)需要讀取/etc/securetty文件;列出來的tty設備都是允許的,注釋掉或是在這個文件中不存在的都是不允許root登錄的(只能以普通用戶登陸)

  3./etc/securetty值類型:①tty:終端 ②pts:偽終端 ③console:當前的控制台 ④vc:visual console虛擬控制台 ⑤vt:虛擬終端 ⑥hvc ⑦hvsi ⑧xvc等

測評項:

  b)應重命名或刪除默認賬戶,修改默認賬戶的默認口令;

測評方法:

  1.應核查是否已經重命名默認賬戶或默認賬戶已被刪除,檢查/etc/passwd文件,查看是否啟用默認賬戶,檢查/etc/passwd文件對不啟用的用戶是否nologin或以#號標注

  2.應檢查是否已修改默認賬戶的默認密碼,查看是否存在如:root/root,oracle/oracle等用戶

  3.是否存在空密碼或默認密碼賬戶,查看/etc/shadow文件,詢問相應賬戶是否為過期、多余賬戶,查看/etc/passwd文件各用戶第二字段是否不為空,/etc/shadow文件中密碼字段是否不為空

測評項:

  c)應及時刪除或停用多余的、過期的賬戶,避免共享賬戶的存在;

測評方法:

  1.應檢查是否不存在多余或過期的賬戶,管理員用戶與賬戶之間是否一一對應;

  2.應驗證多余或過期的賬戶是否被刪除或停用;

測評項:

  d)應授予管理用戶所需的最小權限,實現管理用戶的權限分離;

測評方法:

  1.應核查是否進行角色划分;

  2.應核查管理用戶的權限是否已進行分離;

  3.應核查管理用戶權限是否為其工作任務所需的最小權限;

  4.應訪談是否根據安全策略要求對特權用戶進行分離,如可分為系統管理員、安全管理員、安全審計員等,並檢查系統各用戶所屬的權限組。

  5.是否不存在除root外的特權用戶;

  6.檢查主機是否部署數據庫系統、數據庫賬戶和系統管理員賬戶的權限是否一致;

  7.查看cat /etc/passwd文件中各賬戶並詢問其用途、類別並核對查看用戶權限分配表;

  8.查看cat /etc/login.defs中,是否具備配置SU_WHEEL_ONLY yes,且wheel組中僅存在允許su的用戶。

測評項:

  e)應由授予主體配置訪問控制策略,訪問控制策略規定主體對客體的訪問規則;

測評方法:

  1.應核查是否由授權主體(如管理用戶)負責配置訪問控制策略;

  2.應檢查是否由主機安全策略說明文件;

  3.應核查授權主體是否依據安全策略配置了主體對客體的訪問規則;

  4.應測試驗證用戶是否有可越權訪問情形。

測評項:

  f)訪問控制的粒度應達到主體為用戶級或進程級,客體為文件、數據庫表級;

測評方法:

  1.應核查訪問控制策略的控制粒度是否達到主體為用戶級或進程級,客體為文件、數據庫表、記錄或字段級;

  2.系統umask應設置為:022,輸入umask查看;

  3.查看關鍵目錄/文件的權限,包括操作系統文件、數據庫配置文件、應用系統/中間件的配置文件/目錄:

  采用 ls -l 查看關鍵系統文件(具體目錄根據系統不同)權限:/etc/passwd; /etc/shadow; /etc/group; /etc/xinted.conf; /etc/sudoers; /etc/messages; httpd.conf; httpd-mpm.conf; /conf/tomcat-users.xml; /conf/web.xml; /conf/server.xml; /etc/my.cnf; /var/mysqllog/logbin.log; (oracle安裝目錄)/rdbms/admin/utlpwdmg.sql

  4.檢查ACL文件,采用getfacl查看文件訪問控制列表;

  5.查詢系統中開啟的服務。檢查netstat -ltunp(-t列出tcp數據,-u列出udp數據,-l列出正在監聽的網絡服務,-n用端口號來顯示服務,而不是用服務名,-p列出服務的進程ID(PID))

  6.應對不需要的服務等進行禁用:redhat使用chkconfig --list查看 或使用setup --> system services查看,建議關閉的服務:Finger,telnet,ftp,sendmail,tftp,rlogin等

  7.檢查/etc/inetd.d/(或/etc/xinetd.d/)目錄中的配置文件,禁用不必要的xinetd/inetd啟動服務,不需要使用時建議關閉的服務如下:telnet,tftp,rlogin等,查看其具體配置中disable屬性被設置為yes

測評項:

  g)應對重要主體和客體設置安全標記,並控制主體對有安全標記信息資源的訪問。

測評方法:

  1.應核查是否對主體、客體設置了安全標記;

  2.詢問主機管理員是否定義了敏感標記資源的訪問策略;

  3.查看有敏感標記的重要信息資源是否依據訪問策略設置了嚴格的訪問權限;

  4.應測試驗證是否依據主體、客體安全標記控制主體對客體訪問的強制訪問控制策略。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM