參考文章:
https://www.cnblogs.com/dadonggg/p/7977099.html
https://linux.cn/article-2518-1.html
https://www.136.la/nginx/show-83625.html
1 密碼相關(guān)設(shè)置
1.1 密碼復(fù)雜度設(shè)置
密碼的復(fù)雜度越高,毋庸置疑,安全性肯定相對(duì)就越高。
編輯/etc/pam.d/system-auth
文件,找到同時(shí)具有“password”和“pam_cracklib.so”字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密碼必須至少包含一個(gè)大寫字母(ucredit),兩個(gè)小寫字母(lcredit),一個(gè)數(shù)字(dcredit)和一個(gè)標(biāo)點(diǎn)符號(hào)(ocredit)。
# 編輯之前可以把配置文件進(jìn)行備份
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
# 編輯配置文件,例如:
password requisite pam_pwquality.so retry=3 minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
- minlen=12 密碼最小長度為12個(gè)字符。
- lcredit=-1 密碼應(yīng)包含的小寫字母的至少一個(gè)
- ucredit=-1 密碼應(yīng)包含的大寫字母至少一個(gè)
- dcredit=-1 將密碼包含的數(shù)字至少為一個(gè)
- ocredit=-1 設(shè)置其他符號(hào)的最小數(shù)量,例如@,#、! $%等,至少要有一個(gè)
- enforce_for_root 確保即使是root用戶設(shè)置密碼,也應(yīng)強(qiáng)制執(zhí)行復(fù)雜性策略。
1.2 密碼復(fù)雜度檢查
檢查密碼長度和密碼是否使用多種字符類型
編輯/etc/security/pwquality.conf
,把minlen
(密碼最小長度)設(shè)置為8-32位,把minclass
(至少包含小寫字母、大寫字母、數(shù)字、特殊字符等4類字符中等3類或4類)設(shè)置為3或4。如:
minlen=10
minclass=3
1.3 密碼失效時(shí)間
設(shè)置密碼失效時(shí)間,定期修改密碼,減少密碼被泄漏和猜測(cè)風(fēng)險(xiǎn),使用非密碼登陸方式(如密鑰對(duì))請(qǐng)忽略此項(xiàng)。
在 /etc/login.defs
中將PASS_MAX_DAYS
參數(shù)設(shè)置為 60-180之間,如:
PASS_MAX_DAYS 90
/etc/login.defs 是設(shè)置用戶帳號(hào)限制的文件。該文件里的配置對(duì)root用戶無效。所以,需同時(shí)執(zhí)行命令設(shè)置root密碼失效時(shí)間:
chage --maxdays 90 root
1.4 密碼修改最小間隔時(shí)間
設(shè)置密碼修改最小間隔時(shí)間,限制密碼更改過于頻繁
在/etc/login.defs
中將PASS_MIN_DAYS
參數(shù)設(shè)置為7-14之間,建議為7:
PASS_MIN_DAYS 7
需同時(shí)執(zhí)行命令為root用戶設(shè)置:
chage --mindays 7 root
1.5 密碼重用限制
強(qiáng)制用戶不重用最近使用的密碼,降低密碼猜測(cè)攻擊風(fēng)險(xiǎn)
在/etc/pam.d/password-auth
和/etc/pam.d/system-auth
中password sufficient pam_unix.so 這行的末尾配置remember參數(shù)為5-24之間,原來的內(nèi)容不用更改,只用在末尾加remember=5即可。
2 登陸失敗設(shè)置
如果有人惡意嘗試破解你的服務(wù)器密碼,那么這個(gè)功能就能幫你起到一定的作用,當(dāng)嘗試密碼錯(cuò)誤超過設(shè)定的次數(shù)后,就會(huì)鎖定該賬戶多長時(shí)間(自行設(shè)定),時(shí)間過后即可自行解鎖,這樣可以增加攻擊者的成本。
具體設(shè)置如下:
備份要操作的兩個(gè)配置文件:
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
cp /etc/pam.d/login /etc/pam.d/login.bak
SSH遠(yuǎn)程連接登錄失敗處理功能策略設(shè)置,需要編輯系統(tǒng)/etc/pam.d/system-auth
文件,在 auth 字段所在的那一部分策略下面添加如下策略參數(shù):
auth required pam_tally2.so onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300
注意添加的位置,要寫在第一行,即#%PAM-1.0的下面。
以上策略表示:普通帳戶和 root 的帳戶登錄連續(xù) 3 次失敗,就統(tǒng)一鎖定 300 秒, 300 秒后可以解鎖。如果不想限制 root 帳戶,可以把 even_deny_root root_unlock_time這兩個(gè)參數(shù)去掉。
- onerr=fail:表示連續(xù)失敗
- deny=3:表示超過3次登錄失敗即鎖定
- unlock_time=300:鎖定 300 秒
- even_deny_root:root用戶同樣受到限制
- root_unlock_time:表示 root 帳戶的鎖定時(shí)間
注意:用戶鎖定期間,無論在輸入正確還是錯(cuò)誤的密碼,都將視為錯(cuò)誤密碼,并以最后一次登錄為鎖定起始時(shí)間,如果用戶解鎖后輸入密碼的第一次依然為錯(cuò)誤密碼,則再次重新鎖定。
服務(wù)器終端登錄失敗處理功能策略,要改的是/etc/pam.d/system-auth
這個(gè)文件,添加的內(nèi)容跟上面一樣!
- 其他相關(guān)常用命令:
# 查看root用戶的登錄失敗的次數(shù)
pam_tally2 --user root
# 重置計(jì)數(shù)器,即手動(dòng)解鎖
pam_tally2 --user root --reset
3 限制root權(quán)限用戶遠(yuǎn)程登錄
可以讓用戶先以普通權(quán)限用戶遠(yuǎn)程登錄后,再切換到超級(jí)管理員權(quán)限賬號(hào)后執(zhí)行相應(yīng)操作,可以提升系統(tǒng)安全性。
編輯/etc/ssh/sshd_config
,將PermitRootLogin
設(shè)置為no。
PermitRootLogin no
重啟sshd服務(wù):
service sshd restart
4 命令歷史記錄保存數(shù)量
歷史命令中通常也會(huì)包含一些服務(wù)相關(guān)信息,減小歷史命令保存數(shù)量,一定程度上也可提升安全性。
查看歷史命令保存數(shù)量值:
echo $HISTSIZE
修改/etc/profile
,將HISTSIZE
值改小,比如10。
HISTSIZE=10
使修改的配置生效:
source /etc/profile
5 登錄超時(shí)自動(dòng)登出設(shè)置
配置帳戶超時(shí)自動(dòng)登出,在用戶輸入空閑一段時(shí)間后自動(dòng)斷開??梢杂行П苊庖?yàn)樘厥馇闆r賬戶一直登錄避免別人誤操作。
方法有二,具體如下:
5.1 超時(shí)自動(dòng)登出配置
修改/etc/profile
,設(shè)置TMOUT,單位秒,沒有此行可直接添加進(jìn)去,此設(shè)置對(duì)所有用戶有效。比如15分鐘:
export TMOUT=900
使修改的配置生效:
source /etc/profile
5.2 SSH空閑超時(shí)退出時(shí)間
編輯/etc/ssh/sshd_config
,將ClientAliveInterval
設(shè)置為300到900,即5-15分鐘,將ClientAliveCountMax
設(shè)置為0-3之間,此設(shè)置對(duì)除root外所有用戶有效。例如:文章來源:http://www.zghlxwxcb.cn/news/detail-469973.html
ClientAliveInterval 600
ClientAliveCountMax 2
重啟sshd服務(wù):文章來源地址http://www.zghlxwxcb.cn/news/detail-469973.html
service sshd restart
到了這里,關(guān)于Linux服務(wù)器安全設(shè)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!