1,變更默認的ssh服務端口,禁止root用戶遠程連接
[root@ljohn ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak [root@ljohn ~]# vim /etc/ssh/sshd_config Port 10022 #ssh連接默認的端口 PermitRootLogin no #root用戶***都知道,禁止它遠程登錄 [root@ljohn ~]# /etc/init.d/sshd reload #從新加載配置 [root@ljohn ~]# netstat -lnt #查看端口信息 [root@ljohn ~]# lsof -i tcp:10022
或者直接修改用如下命令:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sed -i "s/#PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config sed -i "s/#Port 22/Port 10022/" /etc/ssh/sshd_config
注:這樣做的目的是防止root用戶暴力破解,22端口爲ssh默認的端口,建議使用其他端口
/etc/init.d/sshd reload
service sshd restart && history -c #重啓sshd服務
演示:
# ssh [email protected] 10022 這樣就顯示服務器拒絕了root用戶登錄。
2,添加普通用戶並進行sudo授權管理
[root@ljohn ~]# useradd cljj [root@ljohn ~]# echo "123456" | passwd --stdin cljj && history –c ##這條命令歷史記錄要清除 [root@ljohn ~]# visudo 在root ALL=(ALL) ALL此行下,添加如下內容 cljj ALL=(ALL) ALL
演示:
[cljj@ljohn home]$ sudo cat -n /etc/issue [sudo] password for cljj: #這裏輸入當前用戶的密碼,臨時授予root用戶權限 cljj is not in the sudoers file. This incident will be reported. [cljj@ljohn home]$ sudo cat -n /etc/issue [sudo] password for cljj: 1CentOS release 6.8 (Final) 2Kernel \r on an \m 3
注:此方式可以限制用於的權限,防止篡改系統配置文件導致系統癱瘓
3,當普通用戶登錄時,密碼輸入錯誤三次,系統馬上把該用戶鎖定10分鐘,root用戶鎖定20分鐘
編輯/etc/pam.d/sshd (ssh登錄)
/etc/pam.d/login (終端)
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak #在文件末添加如下行: auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=1200
各參數解釋:
even_deny_root 也限制root用戶;
deny 設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶
unlock_time 設定普通用戶鎖定後,多少時間後解鎖,單位是秒;
root_unlock_time 設定root用戶鎖定後,多少時間後解鎖,單位是秒;
查看登陸次數:
查看某一用戶錯誤登陸次數:
pam_tally –-user 用戶
例如,查看cljj 用戶的錯誤登陸次數:
pam_tally –-user cljj
清空某一用戶錯誤登陸次數:
pam_tally –-user 用戶 –-reset
例如,清空 cljj 用戶的錯誤登陸次數,
pam_tally –-user cljj –-reset
注:此方式也可以防禦暴力破解用戶賬號
4,鎖定關鍵文件系統
[root@ljohn ~]# chattr +i /etc/passwd [root@ljohn ~]# chattr +i /etc/inittab [root@ljohn ~]# chattr +i /etc/group [root@ljohn ~]# chattr +i /etc/shadow [root@ljohn ~]# chattr +i /etc/gshadow
使用chattr命令後,爲了安全我們需要將其改名
[root@ljohn ~]# /bin/mv /usr/bin/chattr /usr/bin/任意名稱
注:將有關用戶賬號密碼的配置文件限制權限,也也可以有效的防止惡意篡改。
5,登出時間限制600登出時間,及HISTSIZE =10000
cp /etc/profile /etc/profile.bak echo export TMOUT=600 >> /etc/profile #增加10分鐘超時退出 echo export HISTTIMEFORMAT=\'%F %T `whoami` \' >> /etc/profile #記錄操作歷史記錄的時間 echo export HISTFILESIZE=10000 >> /etc/profile echo export HISTSIZE=10000 >> /etc/profile source /etc/profile
注:history命令歷史可以有效的將用戶的行爲記錄下來,一方面可以方便查找,也可以查看用戶在什麼時間做了哪些操作。