其實本身Linux已經很安全了,但是如果密碼設定的不夠複雜,如果說小寫+數字共12位以下,你的SSH還用的預設端口,那強力一點的***用不上半小時,就能暴力破解你的密碼。是以,最好的方法就是修改掉SSH的端口。
一、修改端口
修改檔案:/etc/ssh/sshd_config
Port 22 #在第三行或第四行,如果前面有井号,請删除,修改為65534以下即可
可在遠端連接配接中用vi指令,或sftp下載下傳到本地修改,修改後使用以下指令重新開機ssh服務
/etc/init.d/sshd restart #centos系統,重新開機ssh服務指令
/etc/init.d/ssh restart #debian/ubuntu系統,重新開機ssh服務指令
二、禁止root直接登入
更加安全的設定,禁止ROOT登陸,采用小号登陸再切換ROOT(此方法不能用SFTP上傳檔案)
useradd vpsmm #建立一個小号
passwd vpsmm #給小号設定密碼,需要輸入完全相同的二次,注意提示
vi /etc/ssh/sshd_config #修改的檔案還是這個
PermitRootLogin yes #把yes,改成no,儲存退出,并重新開機SSH服務(上面有重新開機指令)
切記,如果沒有建立小号,或小号密碼設定錯誤,你又禁了ROOT,那你隻能重新開機系統或復原快照,再也登陸不了。
如果不是極度需要安全環境,并且,還需要使用SFTP管理檔案,那改掉端口就行了。
三、設定Linux使用者連續N次輸入錯誤密碼進行登陸時,自動鎖定X分鐘
執行 vim /etc/pam.d/login
在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
如果不限制root使用者,則可以寫成
auth required pam_tally2.so deny=3 unlock_time=5
注解:
even_deny_root 也限制root使用者;
deny 設定普通使用者和root使用者連續錯誤登陸的最大次數,超過最大次數,則鎖定該使用者;
unlock_time 設定普通使用者鎖定後,多少時間後解鎖,機關是秒;
root_unlock_time 設定root使用者鎖定後,多少時間後解鎖,機關是秒;
# 限制使用者從tty登入
在#%PAM-1.0的下面,即第二行,添加内容,一定要寫在前面,如果寫在後面,雖然使用者被鎖定,但是隻要使用者輸入正确的密碼,還是
可以登入的!
# vim /etc/pam.d/login
#%PAM-1.0
auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
# 檢視使用者登入失敗次數
# cd /etc/pam.d/
# pam_tally2 --user root
Login Failures Latest failure From
root 7 07/16/12 15:18:22 tty1