我的伺服器每天都會有無數的ssh失敗嘗試記錄,有些無聊的人一直不停的掃瞄,這些人真夠無聊的,沒事吃飽了撐著,老找些軟體在那裡窮舉掃瞄,所以大家第一要記的設定乙個好的夠複雜的密碼。
怎麼樣防,如果要一條一條將這些ip阻止顯然治標不治本,還好有denyhosts軟體來代替我們手搞定他。
denyhosts是python語言寫的乙個程式,它會分析sshd的日誌檔案,當發現重複的攻擊時就會記錄ip到/etc/hosts.deny檔案,從而達到自動屏ip的功能。
以下是安裝記錄(以centos 4.3, denyhosts 2.5 為例)
安裝
預設是安裝到/usr/share/denyhosts目錄的。
配置
# cd /usr/share/denyhosts/# cp denyhosts.cfg-dist denyhosts.cfg
# vi denyhosts.cfg
根據自己需要進行相應的配置(解釋見下檔案的配置檔案)
設定啟動指令碼
# cp daemon-control-dist daemon-control# chown root daemon-control
# chmod 700 daemon-control
完了之後執行daemon-contron start就可以了。
# ./daemon-control start
如果要使denyhosts每次重起後自動啟動還需做如下設定:
# cd /etc/init.d# ln -s /usr/share/denyhosts/daemon-control denyhosts
# chkconfig –add denyhosts
# chkconfig –level 2345 denyhosts on
或者修改/etc/rc.local檔案:
# vi /etc/rc.local
加入下面這條命令
/usr/share/denyhosts/daemon-control start
denyhosts配置檔案:
vi /etc/denyhosts.cfgsecure_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
#自己的日誌檔案
然後就可以啟動了:
service denyhost start
可以看看/etc/hosts.deny內是否有禁止的ip,有的話說明已經成功了。
denyhost防止SSH暴力破解
參考 denyhost 官網 以下是安裝記錄 以centos 6.5,denyhosts 2.6 為例 預設是安裝到 usr share denyhosts目錄的。2.配置 cd usr share denyhosts cp denyhosts.cfg dist denyhosts.cfg vi d...
Linux CentOS 防止SSH暴力破解
昨晚苦逼加班完後,今早上班繼續幹活時,ssh連線伺服器發現異常的提示,仔細看了一下嚇一小跳,昨晚9點鐘到現在,一夜之間被人嘗試連線200 慌 root zwlbsweb cd var log root zwlbsweb log ll h 省略部分資訊 rw 1 root root 4.9m jul ...
通過iptables防止暴力破解ssh
防 ssh 暴力破解 一直以來,面對 vim 顯示的 auth.log 裡滿屏的紅色 ssh 登入失敗記錄,要麼容忍,要麼換埠號,要麼是fail2ban。換埠號顯然會造成很多不便,尤其是使用者比較多的時候。fail2ban以前也用得挺好的,但是需要手工編輯配置檔案,閱讀其中長長的注釋並且小心翼翼地修...