DenyHosts 防止SSH爆破

2021-07-11 06:53:24 字數 3897 閱讀 7079

denyhosts

官方**為:

一、檢查安裝條件

# ldd /usr/sbin/sshd

libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)

2、判斷預設安裝的python版本

[root@localhost 03]# python -v

python 2.4.3

centos5.5預設已安裝了python 2.4.3

二、已安裝python2.3以上版本的情況

1、安裝denyhosts

# cd /usr/local/src

# wget

# tar zxf denyhosts-2.6.tar.gz

# cd denyhosts-2.6

# python setup.py install

程式指令碼自動安裝到/usr/share/denyhosts

庫檔案自動安裝到/usr/lib/python2.3/site-packages/denyhosts

denyhosts.py自動安裝到/usr/bin 

2、設定啟動指令碼

# cd /usr/share/denyhosts/

# cp daemon-control-dist daemon-control

# chown root daemon-control

# chmod 700 daemon-control

# grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg

# vi denyhosts.cfg

根據自己需要進行相應的修改

----------------denyhosts.cfg------------------------

secure_log = /var/log/secure

#redhat/fedora core分析該日誌檔案

#其它版本linux根據denyhosts.cfg-dist內提示選擇。

purge_deny = 30m

#過多久後清除

deny_threshold_invalid = 1

#允許無效使用者(/etc/passwd未列出)登入失敗的次數

deny_threshold_valid = 5

#允許有效(普通)使用者登入失敗的次數

deny_threshold_root = 3

#允許root登入失敗的次數

hostname_lookup=no

#是否做網域名稱反解

----------------denyhosts.cfg------------------------

如果需要denyhosts隨系統重啟而自動啟動,還需做如下設定:

# vi /etc/rc.local
加入下面這條命令

/usr/share/denyhosts/daemon-control start
3、啟動

# /usr/share/denyhosts/daemon-control start
如果要使denyhosts每次重起後自動啟動還需做如下設定:

# cd /etc/init.d

# ln -s /usr/share/denyhosts/daemon-control denyhosts

# chkconfig --add denyhosts

# chkconfig --level 345 denyhosts on

然後就可以啟動了:

service denyhosts start

denyhosts配置檔案:

vi /etc/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#是否做網域名稱反解

daemon_log = /var/log/denyhosts#自己的日誌檔案

admin_email = [email protected]#管理員郵件位址,它會給管理員發郵件

本install_denyhosts.sh指令碼如下:

#!/bin/bash

cd /usr/local/src

wget

tar zxf denyhosts-2.6.tar.gz

cd denyhosts-2.6

python setup.py install

cd /usr/share/denyhosts/

cp daemon-control-dist daemon-control

chown root daemon-control

chmod 700 daemon-control

grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg

echo "/usr/share/denyhosts/daemon-control start" >>/etc/rc.local

cd /etc/init.d

ln -s /usr/share/denyhosts/daemon-control denyhosts

chkconfig --add denyhosts

chkconfig --level 345 denyhosts on

service denyhosts start

下面是hostsdeny的示例:

connection to 192.168.0.154 closed.

[root@autolemp ~]# ssh 192.168.0.154

[email protected]'s password:

permission denied, please try again.

[email protected]'s password:

permission denied, please try again.

[email protected]'s password:

permission denied (publickey,gssapi-with-mic,password)出現這行表示生效

vim /root/ssh_deny.sh

#! /bin/bash

cat /var/log/secure|awk '/failed/'|sort|uniq -c|awk ''  >/root/black.txt

define="10"

for i in `cat  /root/black.txt`

doip=`echo $i |awk -f= ''`

num=`echo $i|awk -f= ''`

if [ $num -gt $define ];

then

grep $ip /etc/hosts.deny > /dev/null

if [ $? -gt 0 ];

then

echo "sshd:$ip" >> /etc/hosts.deny

fifi

done

vim /etc/crontab

* */1 * * * root sh /root/ssh_deny.sh

linux使用denyhosts防ssh暴力破解

文章出處 說明 1.安裝denyhosts 2.6.tar.gz wget tar zxvf denyhosts 2.6.tar.gz cd denyhosts 2.6 yum install python y yum安裝python,系統基本都有 python setup.py install 2...

防止暴力破解 DenyHosts應用

當你的linux伺服器暴露在網際網路之中,該伺服器將會遭到網際網路上的掃瞄軟體進行掃瞄,並試圖猜測ssh登入口令。你會發現,每天會有多條ssh登入失敗紀錄。那些掃瞄工具將對你的伺服器構成威脅,你必須設定複雜登入口令,並將嘗試多次登入失敗的ip給阻止掉,讓其在一段時間內不能訪問該伺服器。用denyho...

DenyHosts 阻止SSH暴力攻擊

當你的 linux 伺服器暴露在網際網路之中,該伺服器將會遭到網際網路上的掃瞄軟體進行掃瞄,並試圖猜測ssh登入口令。你會發現,每天會有多條ssh登入失敗紀錄。那些掃瞄工具將對你的伺服器構成威脅,你必須設定複雜登入口令,並將嘗試多次登入失敗的ip給阻止掉,讓其在一段時間內不能訪問該伺服器。用deny...