今天檢視了一下系統的失敗登陸記錄 lastb 我擦,幾分鐘都沒有顯示完畢,不是吧,世界上總是有那麼多的閒得蛋疼的人呢?你怎麼不去死呢?
使用grep -o '[0-9]\\.[0-9]\\.[0-9]\\.[0-9]\' /var/log/secure.1 | sort | uniq -c
統計裡一下,哎,居然嘗試n次!看來世界需要清靜了!使用手工解決已經無法適應別人的暴力掃瞄了,我們也人工智慧一下哈哈,使用denyhosts軟體保護你的ssh吧
開始安裝 centos 5.5, denyhosts 2.5
cd /usr/local/src
wget
tar -zxvf denyhosts-2.5.tar.gz
cd denyhosts-2.5
python setup.py install
預設安裝到/usr/share/denyhosts/目錄
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
vi denyhosts.cfg
根據自己需要進行相應的配置
配置檔案說明
secure_log = /var/log/secure
#ssh 日誌檔案,它是根據這個檔案來判斷的。
hosts_deny = /etc/hosts.deny
#控制使用者登陸的檔案
purge_deny = 5m
#過多久後清除已經禁止的
block_service = sshd
#禁止的服務名
deny_threshold_invalid = 1
#允許無效使用者失敗的次數
deny_threshold_valid = 10
#允許普通使用者登陸失敗的次數
deny_threshold_root = 5
#允許root登陸失敗的次數
hostname_lookup=no
#是否做網域名稱反解
admin_email = [email protected]
#管理員郵件位址,它會給管理員發郵件
daemon_log = /var/log/denyhosts
#自己的日誌檔案
cp daemon-control-dist daemon-control
vi daemon-control
參考:denyhosts_bin = "/usr/bin/denyhosts.py"
denyhosts_lock = "/var/lock/subsys/denyhosts" //啟動的pid檔案
denyhosts_cfg = "/usr/share/denyhosts/denyhosts.cfg" //配置檔案
啟動chmod 700 daemon-control
./daemon-control start
設定自動啟動
設定自啟動:
vi /etc/rc.local
加入/usr/share/denyhosts/daemon-control start
我使用了
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig denyhosts --add
那麼可以使用chkconfig denyhosts on 來設定啟動啦。
denyhosts.cfg配置檔案說明:(從網上找的,參考下)
secure_log = /var/log/secure #sshd日誌檔案,它是根據這個檔案來判斷的,不同的作業系統,檔名
稍有不同。
hosts_deny = /etc/hosts.deny #控制使用者登陸的檔案,被禁止的ip會被寫進裡面
purge_deny = 5m #過多久後清除已經禁止的
# 'm' = minutes
# 'h' = hours
# 'd' = days
# 'w' = weeks
# 'y' = years
block_service = sshd #禁止的服務名,同樣也可以是ftp,smtp等等
deny_threshold_invalid = 5 #允許無效使用者失敗的次數
deny_threshold_valid = 10 #允許普通使用者登陸失敗的次數
deny_threshold_root = 5 #允許root登陸失敗的次數
deny_threshold_restricted = 1
work_dir = /usr/share/denyhosts/data
hostname_lookup=no #是否做網域名稱反解
lock_file = /var/lock/subsys/denyhosts
admin_email = #管理員郵件位址
daemon_log = /var/log/denyhosts #denyhosts的日誌檔案
daemon_purge = 1m #預設清除
啟動時出現了錯誤,可以使用下面方式解決
./daemon-control start
starting denyhosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
can't read: /private/var/log/system.log
[errno 2] no such file or directory: '/private/var/log/system.log'
error deleting denyhosts lock file: /var/lock/subsys/denyhosts
[errno 2] no such file or directory: '/var/lock/subsys/denyhosts'
使用:
mkdir -p /private/var/log/
mkdir -p /var/lock/subsys/
./daemon-control start
starting denyhosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
can't read: /private/var/log/system.log
[errno 2] no such file or directory: '/private/var/log/system.log'
error deleting denyhosts lock file: /var/lock/subsys/denyhosts
[errno 2] no such file or directory: '/var/lock/subsys/denyhosts'
使用:
touch /private/var/log/system.log
touch /var/lock/subsys/denyhosts
./daemon-control start
出現:starting denyhosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
denyhosts could not obtain lock (pid: )
[errno 17] file exists: '/var/lock/subsys/denyhosts'
使用:rm -f /var/lock/subsys/denyhosts
./daemon-control start
starting denyhosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
ok!啟動完成啦。
你可以使用
service denyhosts status
來檢視執行狀態
denyhosts is running with pid = 25874 表示已經啟動起來了。
接下來就可以使用
cat /etc/hosts.deny
來檢視記錄了 然後順便詛咒一下他mjj 哈哈。
centos 防ssh暴力破解
說明 本篇實現shell統計訪問失敗的ip和次數,從而根據這些再通過防火牆規則來限制這些ip再次暴破,指令碼如下 實現 1.編寫shell指令碼 cat root ssh failed.sh 內容如下 bin sh scanip grep failed var log secure awk sort...
Centos7 如何防止SSH暴力
3 ssh暴力破解檢視 4 驗證多次錯誤被禁止ssh 5 注意點 6 參考資料 ssh 為 secure shell 的縮寫,由 ietf 的網路小組 network working group 所制定 ssh 為建立在應用層基礎上的安全協議。ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供...
Centos下防止ssh暴力破解指令碼
1.修改 ssh 預設埠 注 修改之前,記得先把對應埠在防火牆新增規則 1.1 修改ssh埠為 2968 這個埠建議使用 1024 以上的 sed i s port 22 port 2968 g etc ssh sshd config1.2 重啟ssh systemctl restart sshd1...