linux系統安全設置策略


1.檢查是否設置口令長度至少8位,並包括數字,小寫字符、大寫字符和特殊符號4類中至少2類。

在文件/etc/login.defs中設置 PASS_MIN_LEN 不小於標准值
修改/etc/pam.d/system-auth文件, 在ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 選3種,追加到password requisite pam_cracklib.so后面,添加到配置文件中。 
例如:password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1 
注:ucredit:大寫字母個數;lcredit:小寫字母個數;dcredit:數字個數;ocredit:特殊字符個數

 2.檢查是否設置賬戶口令的生存期不長於90天。

修改/etc/login.def
PASS_MAX_DAYS 90 --99999
PASS_MIN_DAYS 10  --0
PASS_MIN_LEN 8    --5
PASS_WARN_AGE 5   --7

 3.檢查是否設置用戶不能重復使用最近5次(含5次)內已使用的口令。

修改文件 # vi /etc/pam.d/system-auth
在 password sufficient pam_unix.so use_authtok md5 shadow remember=10

 4.檢查是否設置當用戶連續認證失敗次數超過5次,鎖定該用戶使用的賬戶。

# vim /etc/pam.d/login
auth  required  pam_tally2.so  deny=5  unlock_time=300 even_deny_root root_unlock_time=10

 5.檢查默認賬號,是否刪除或鎖定與設備運行、維護等工作無關的賬號。查看多余賬號# cat /etc/passwd

[root@localhost ~]# userdel username
[root@localhost ~]# groupdel groupname
刪除的用戶,如adm,lp,sync,shutdown,halt,news,uucp,operator,
games,gopher等。
刪除的組,如adm,lp,news,uucp,games,dip,pppusers,popusers,
slipusers等。

 6.檢查遠程登錄限制,是否限制具備超級管理員權限的用戶遠程登錄。

限制具備超級管理員權限的用戶遠程登錄。遠程執行管理員權限操作,應先以普通權限用戶遠程登錄后,再切換到超級管理員權限賬號后執行相應操作。
Root從遠程使用Telnet登錄;
普通用戶從遠程使用Telnet登錄;
Root從遠程使用ssh登錄;
普通用戶從遠程使用ssh登錄;

 7.檢查用戶缺省訪問權限,是否配置用戶缺省訪問權限,屏蔽掉新建文件和目錄不該有的訪問允許權限。

查看新建的文件或目錄的權限,操作舉例如下:
#ls -l dir; #查看目錄dir的權限 
#cat /etc/default/login  /etc/default/login不存在
(查看是否有umask027內容)

 8.檢查服務開啟,是否最小化,關閉不必要的服務。

/etc/rc.d/init.d或# rpm -qi $(rpm -qf /etc/rc.d/init.d/sshd)
chkconfig –level 2345 服務名稱 off

 9.檢查補丁安全,是否在確保業務不受影響的情況下及時更新操作系統補丁。

查看補丁安裝情況:
# rpm –qa | grep patch
/etc/sysconfig/yum-cron 
CHECK_ONLY=yes
更新的補丁在:  http://itrc.hp.com/service/patch/releaseIndexPage.do

 10.檢查日志審計功能設置,是否配置日志審計功能

查看日志服務是否開啟#service -–status-all | grep syslog
在root權限下,使用命令more、cat或vi查看
/var/log/message 系統啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一 
/var/log/secure 與安全相關的日志信息 
/var/log/maillog 與郵件相關的日志信息 
/var/log/cron 與定時任務相關的日志信息 
/var/log/spooler 與UUCP和news設備相關的日志信息 
/var/log/boot.log 守護進程啟動和停止相關的日志消息

 11.檢查遠程管理加密協議,是否配置使用SSH等加密協議進行遠程管理,禁止使用Telnet等明文傳輸協議。

查看SSH服務狀態:#ps –elf|grep ssh
查看Telnet服務狀態:#ps –elf|grep telnet
(是否有SSH進程存在:#ps –elf|grep ssh)

 12.檢查登錄超時時間設置,是否設置登錄賬號的登錄超時為30分鍾。

cat /etc/profile|grep TMOUT -n
查看超時時間參數TMOUT
在/etc/profile 后面添加
export TMOUT=1800
readonly TMOUT

 13.ssh安全設置策略(/etc/ssh/sshd_config)

Port 22 #ssh服務端口號,我們可以改成高端口,一般端口掃描工具不會掃描高端口的。
AddressFamily any #ssh服務的協議族,可以用ipv4 ipv6或者直接使用any。
Protocol 2 #ssh服務協議版本,默認為1,建議使用2,1有漏洞。
KeyRegenerationInterval 3600 # 在SSH-1協議下,短命的服務器密鑰將以此指令設置的時間為周期(秒),不斷重新生成。這個機制可以盡量減小密鑰丟失或者黑客攻擊造成的損失。
ServerKeyBits 2048 #  指定臨時服務器密鑰的長度。1024存在認證漏洞,安全最低2048位。
LogLevel ERROR #日志級別,可以使用 QUIET, FATAL, ERROR, INFO(默認), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3。
LoginGraceTime 30 #限制用戶必須在指定的時限內認證成功,建議設置低,增加暴力破解難度,單位為秒。
MaxAuthTries 3 #最多登錄嘗試次數,建議設置低一些,加大暴力破解難度。
RSAAuthentication yes #使用純 RSA公鑰認證。
PubkeyAuthentication yes #使用公鑰認證,推薦使用安全高效!
AuthorizedKeysFile      .ssh/authorized_keys #用戶公鑰文件保存路徑,默認為用戶的home目錄下.ssh隱藏文件夾中的authorized_keys,建議更換到其他目錄,防止丟失或者被惡意登陸者在默認的這個路徑中找到篡改。
PermitEmptyPasswords no #不允許空密碼登錄,這個太危險啦。
GSSAPIAuthentication no #不基於 GSSAPI 的用戶認證,關閉,優化性能。
UsePAM no #使用PAM認證,如果不用LDAP之類的登陸,建議關閉,優化性能。
X11Forwarding no #如果沒有使用x11轉發最好關閉掉,優化性能。
PrintMotd no #登錄打印公告信息,可以修改或者關閉,修改/etc/motd來震懾惡意登陸者,默認會顯示一些系統信息,關閉掉,減少惡意登陸者獲取的信息量,防止被惡意利用。
PrintLastLog no #不打印最后登陸信息,減少惡意登陸者獲取的信息量,防止被惡意利用。
TCPKeepAlive yes #保持長連接,加快連接速度,優化性能。
PidFile /var/run/sshd.pid #ssh服務的pid文件。
Banner none #不顯示系統banner信息,如果開啟會在每次登陸時顯示系統信息,減少惡意登陸者獲取的信息量,防止被惡意利用。
PermitRootLogin no #禁止root用戶登陸,降低遠程登陸的用戶權限。
PasswordAuthentication no #允許用戶名密碼登陸,no,禁止使用用戶名和密碼登陸,使用公鑰登陸,防止針對用戶名和密碼的暴力破解。

 


免責聲明!

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



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