在做服務(wù)器運(yùn)維時(shí),需要對(duì)系統(tǒng)進(jìn)行一些安全方面的加固彬檀,使系統(tǒng)更安全更穩(wěn)定巴帮。
一溯泣、設(shè)置密碼輸錯(cuò)三次虐秋,用戶將被鎖定
1.在服務(wù)器端進(jìn)行設(shè)置
? ? ? 如果有用戶遠(yuǎn)程登錄服務(wù)器,不知道密碼的話會(huì)多次嘗試用不同的密碼來登錄垃沦,所以我們可以在服務(wù)器端進(jìn)行密碼設(shè)置(服務(wù)器地址:192.168.252.128)客给,使用戶在輸錯(cuò)三次密碼之后將當(dāng)前用戶進(jìn)行鎖定,必須在本地服務(wù)器進(jìn)行解鎖才可以再次使用此用戶名登錄栏尚。
vim /etc/pam.d/system-auth? //修改系統(tǒng)認(rèn)證文件,增加兩行內(nèi)容
? ??? auth? required? pam_tallyso? deny=3? unlock_times=180 //當(dāng)用戶連續(xù)認(rèn)證失敗3次只恨,將賬號(hào)鎖定180秒??
? ? ? account? ?required? pam_tally2.so
2.在客戶端進(jìn)行驗(yàn)證(客戶端地址:192.168.252.131)
ssh testuser@192.168.252.128? //遠(yuǎn)程登錄服務(wù)器
故意輸錯(cuò)三次密碼后译仗,被踢出登錄界面,此時(shí)輸入正確密碼也不能登錄官觅,因?yàn)閠estuser用戶已被鎖定纵菌。
登錄root用戶還是可以的,只是鎖定了testuser用戶休涤,而不是鎖定了服務(wù)器咱圆。
3.在服務(wù)器端可以查詢到testuser用戶被鎖定,登錄ip是192.168.252.131.
同時(shí)功氨,如果本地輸錯(cuò)密碼三次序苏,也會(huì)被鎖定,可以看到嘗試登錄的是pts/0
4.解除賬戶鎖定
pam_tally2 --reset -u testuser
二捷凄、設(shè)置賬戶密碼的規(guī)則(包括長(zhǎng)度忱详、登陸次數(shù),字符類型跺涤,-1表示最少一個(gè))
vim /etc/psm.d/password-auth
assword requisite pam_cracklib.so try_first_pass retry=3 type=
增加內(nèi)容password requisite pam_cracklib.so try_first_pass retry=3 type= difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1
其中type=:用來修改默認(rèn)的密碼提示文本
difok=:用來定義新密碼中必須有幾個(gè)字符要與舊密碼不同
minlen=:用來設(shè)置新密碼的最小長(zhǎng)度
ucredit=:用來設(shè)定新密碼中可以包含的大寫字母的最大數(shù)目匈睁,-1表示最少一個(gè)
lcredit=:用來設(shè)定新密碼中可以包含的小寫字母的最大數(shù)目
dcredit=:用來設(shè)定新密碼中可以包含的數(shù)字的最大數(shù)目
所以上面設(shè)置密碼規(guī)則為:普通用戶為自己修改密碼必須要保證密碼長(zhǎng)度為8位以上,有大小寫字母和數(shù)字
普通用戶修改自己的密碼時(shí)需要符合密碼規(guī)則(此規(guī)則不適用于root)
三桶错、禁止遠(yuǎn)程登錄服務(wù)器端的root
1.root權(quán)限太大航唆,怕被危險(xiǎn)操作,所以設(shè)置不允許被遠(yuǎn)程登錄院刁。
vim /etc/ssh/sshd_config? //修改ssh軟件的配置文件
????添加一行糯钙,PermitRootLogin no。
在客戶端嘗試登錄退腥,即使密碼輸入正確超营,也登不進(jìn)去
2.屏蔽ssh的banner信息,確保banner信息為no阅虫,避免泄露系統(tǒng)信息
3.設(shè)置登錄時(shí)長(zhǎng)演闭,超過登錄時(shí)長(zhǎng)會(huì)自動(dòng)注銷,同時(shí)修改能保存的歷史命令條數(shù)
vim /etc/profile
? ? HISTSIZE=100? //將歷史命令條數(shù)從1000改為100
? ? TMOUT=600? //設(shè)置登錄超過600秒就被注銷
四颓帝、設(shè)定新建立用戶的密碼有效期為三個(gè)月
vim /etc/logins.defs //修改登錄文件
????將初始密碼有效期9999改為90天
tail -l /etc/shadow? //查看密碼管理文件最后幾行
五米碰、鎖定系統(tǒng)的重要文件進(jìn)行保護(hù)
對(duì)系統(tǒng)的重要文件進(jìn)行加鎖窝革,避免誤操作。詳見chattr權(quán)限
去掉-i屬性(具體內(nèi)容看)
六吕座、建立日志服務(wù)器(ip:192.168.252.128)
1.在服務(wù)器端配置日志接收信息
vim /etc/rsyslog.conf? ?//修改日志服務(wù)器配置文件
將$ModLoad imtcp和$InputTCPServerRun 514前面的注釋符去掉
vim /etc/rsyslog.d/client.conf? //建立接受哪些主機(jī)的日志信息的文件
????:fromhost-tp,isequal,"192.168.252.131" /var/log/client.log? //接收的日志信息存在/var/log/client.log文件中
????:fromhost-ip,isequal,"192.168.252.128" -
/etc/init.d/rsyslog restart? //重啟日志服務(wù)
netstat -antpl |grep 514? //查看日志服務(wù)是否開啟
2.在客戶端服務(wù)器配置日志接收端的ip
vim /etc/rsyslog.conf ?//添加行ip加端口
????*.* @@192.168.252.128:514
????配置客戶端日志服務(wù)器將其日志信息發(fā)送到服務(wù)端
????.表示任何服務(wù)的任何級(jí)別日志信息
????@表示采用TCP方式
????指定日志服務(wù)器的ip和端口
/etc/init.d/rsyslog restart? //重啟日志服務(wù)
logger "a test log message"? //導(dǎo)入一條日志信息
3.在服務(wù)器端查詢?nèi)罩居涗?/p>
tail -l /var/log/client.log? //查看來自客戶端的新加的日志信息
七虐译、查詢suid和guid
find / -xdev -type f -perm /6000? ?//查看系統(tǒng)中具有的suid和guid權(quán)限的文件??
八、關(guān)閉服務(wù)器的路由轉(zhuǎn)發(fā)功能
一吴趴、臨時(shí)關(guān)閉
[root@www etc]# echo 0 > /proc/sys/net/ipv4/ip_forward
二漆诽、永久關(guān)閉
vim /etc/sysctl.conf
?net.ipv4.ip_forward = 0? //將路由轉(zhuǎn)發(fā)設(shè)為0 ??
九、
根據(jù)實(shí)驗(yàn)吧實(shí)驗(yàn)編寫:服務(wù)器安全加固