linux增加SSH日志及防止SSH暴力破解

linux增加SSH日志及防止SSH暴力破解,第1张

linux增加SSH日志及防止SSH暴力破解

参考

linux装SSH服务以及防止SSH暴力破解_keil_wang的博客-CSDN博客

ssh访问控制,多次失败登录即封掉IP,防止暴力破解_Alves的博客-CSDN博客

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.2021-1-27.bak

vi /etc/ssh/sshd_config

修改

LogLevel INFO

SyslogFacility AUTHPRIV  #日志级别

cp /etc/rsyslog.conf /etc/rsyslog.conf.2021-1-27.bak

vi /etc/rsyslog.conf

修改

auth,authpriv.* /var/log/secure

重启sshd服务

service sshd restart

查看日志

tail -f /var/log/secure

准备执行脚本ssh_pervent.sh ,必须在linux下编辑,windows下可能出现未知问题,不能运行

#! /bin/bash

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /home/black.txt

DEFINE="10"

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

do

IP=`echo $i |awk -F= '{print $1}'`

NUM=`echo $i|awk -F= '{print $2}'`

if [ $NUM -gt $DEFINE ];

then

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

if [ $? -gt 0 ];

then

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

fi

fi

done

文件放在/home目录下,

授予执行权限

chmod 755 ssh_pervent.sh

手动执行一次,没有报错,

cat black.txt

查看执行结果

cat /etc/hosts.deny

查看执行结果,大于10次的,被记在下边

加入linux定时任务,每10分钟执行一次脚本

执行

crontab -e

出现如下页面,把 */10 * * * * /home/ssh_pervent.sh 加进去,

隔一段时间后观察一下

cat /etc/hosts.deny

是否增加了很多IP

然后观察

tail -f /var/log/secure

如果都是这样证明没成功

hosts.deny配置无效,其他IP还是可以登陆成功。

解决方法如下:

hosts.allow和hosts.deny属于tcp_Wrappers防火墙的配置文件,而用tcp_Wrappers防火墙控制某一服务访问策略的前提是,该服务支持tcp_Wrappers防火墙,即该服务应用了libwrapped库文件。

查看某服务(如ssh)是否应用了libwrapped库文件的方法是:

# ldd /usr/sbin/sshd |grep libwrap.so.0

没有显示,表示此服务器上安装的SSH没有应用libwrapped库文件,也就不能用tcp_Wrappers防火墙控制访问策略。(一般情况下服务器默认安装的SSH都是支持libwrapped库文件,这台服务器不清楚为什么不支持)

最终解决方法是重新安装SSH。

# yum -y remove openssh

# yum -y install openssh

# yum -y install openssh-server

安装完成后再次查看是否应用了libwrapped库文件,显示支持。

# ldd /usr/sbin/sshd |grep libwrap.so.0

   libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f3fb7f09000)

再测试SSH登陆,配置生效

请务必保留此出处hosts.allow、hosts.deny配置不生效的解决方法_75clouds_51CTO博客

然后观察

tail -f /var/log/secure

如下表示最终成功

refused connect from 112.196.74.82 (112.196.74.82)

或者这个,(这个有时候不起作用)

1、在起效果机器下,执行如下命令:

[root@zt ~]# ldd /usr/sbin/sshd | grep libwrap.so

        libwrap.so.0 => /lib64/libwrap.so.0 (0x00002ba28edcc000)

2、在不起效果机器下,却找不到libwrap.so

3、在生效的机器上执行:

rpm -qf /lib64/libwrap.so.0  结果如下:

      tcp_wrappers-7.6-40.7.el5

4、在不生效的机器上

yum install -y tcp_wrappers

安装后,用ldd /usr/sbin/sshd | grep libwrap.so   还是没有内容

5、在不生效机器上,继续

yum list |grep openssh   结果:

openssh.x86_64                          5.3p2-24.el5           installed

openssh-clients.x86_64                   5.3p2-24.el5           installed

openssh-server.x86_64                    5.3p2-24.el5           installed

openssh.x86_64                           5.3p2-41.el5_5.1       updates

openssh-askpass.x86_64                   5.3p2-41.el5_5.1       updates

openssh-clients.x86_64                   5.3p2-41.el5_5.1       updates

openssh-server.x86_64                    5.3p2-41.el5_5.1       updates

于是,执行:

yum update -y openssh 

再次执行:

ldd /usr/sbin/sshd | grep libwrap.so

有结果显示了。

别的服务器链接该服务器,也会报下面的错误

ssh_exchange_identification: Connection closed by remote host

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4664716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存