美文网首页linux整理
linux:防暴力破解

linux:防暴力破解

作者: 随风化作雨 | 来源:发表于2017-11-21 12:19 被阅读65次
一.配置SSH双机信任
1.开启ssh服务

第一次远程登陆时,系统会提示是否将对方服务器信息保存在本地,键入'yes'后,输入密码进入对方系统。



这时可以看到本地目录/root/.ssh/中生成文件known_hosts来保存对方服务器信息,会把你每个你访问过计算机的公钥(public key)都记录在此。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。


# vim /root/.ssh/known_hosts


可以看到IP为10.2.8.195~/.ssh/known_hosts。
不过known_hosts的内容一些只是以纯文本方式存放。如果你的帐号被人成功入侵,他可以由known_hosts直接得知你到访过的计算机列表。为减低出现类似情况的机会。OpenSSH在4.0p1引入了 Hash Known Hosts功能,在known_hosts中把访问过的计算机名称或IP地址以hash方式存放,令入侵都不能直接知道你到访过那些计算机。这项新项功能缺省是关闭的,要你手动地在ssh_config加上"HashKnownHosts yes"才会被开启。不过Debian Testing就缺省开启了个功能。

2.生成RSA密钥对

# ssh-keygen -t rsa

3.添加密钥到授权密钥文件中
# cat /root/.ssh/id_rsa >> authorized_keys
# scp authorized_keys

[root@10.2.8.196IP](mailto:root@10.2.8.196IP):/root/.ssh/
4.测试
二.修改SSH服务端口
1.服务器端修改配置文件

# vim /etc/ssh/config_sshd

2.客户端修改配置文件

# vim /etc/ssh/config_ssh

3.测试
三.限制root账户登录
1.修改服务器端配置文件

# vim /etc/ssh/config_sshd

2.客户端测试

# ssh root[@10.2.8.195](mailto:root@10.2.8.195)


访问被拒绝,证明设置生效
# ssh

[sshd@10.2.8.195](mailto:sshd@10.2.8.195)

其他用户登陆成功

四.配置Deny-Host开源软件
1.获得DenyHosts

软件免费,可直接从官方网站获得。
不过下载版本时要注意一下:
DenyHosts安装和运行要依赖python,如果机器安装了python,那需要检查一下python的版本

2.安装和启动DenyHosts
#tar xzvf DenyHosts-2.6.tar.gz
将安装包解压到任意位置

#cd DenyHosts-2.6
进入解压目录

#python setup.py install
执行安装程序,将DenyHosts安装到默认位置

如图所示:



DenyHosts默认安装到/usr/share/denyhosts目录
需要修改一下DenyHosts的配置文件才能正常启动程序,继续~

#cd /usr/share/denyhosts
进入denyhosts的主配置目录

#cp denyhosts.cfg-dist denyhosts.cfg
#cp daemon-control-dist daemon-control
复制出默认配置文件和程序执行文件

#chmod 770 daemon-control
修改一下程序执行文件的操作权限

#./daemon-control start
启动denyhosts

如图所示denyhosts已正常启动



如果想让denyhosts每次随系统自动启动,可以执行以下操作~

#cd /etc/init.d

#ln -s /usr/share/denyhosts/daemon-control denyhosts
在/etc/init.d/目录新建一个链接符号到daemon-control的启动执行文件,链接名随便起

#chkconfig --add denyhosts
#chkconfig --level 2345 denyhosts on
3.配置DenyHosts

denyhosts.cfg就是denyhosts的配置文件!
下面介绍一些常用的配置项

SECURE_LOG = /var/log/secure //sshd日志文件,denyhosts正是通过分析这个文件来屏蔽ip的,不同系统sshd的日志文件和位置有些差别,配置文件里都给列出来了,可以按实际情况修改

HOSTS_DENY = /etc/hosts.deny //控制用户登录文件,被屏蔽的ip都会写入这个文件

PURGE_DENY = 20m //这里可以设置经过多长时间解除已经屏蔽的ip的限制,单位是分钟,偶这里是留空的,表示不解禁~嘿嘿!

PURGE_DENY参数还有以下单位可参考

# 'm' = minutes
# 'h' = hours
# 'd' = days
# 'w' = weeks
# 'y' = years

BLOCK_SERVICE = sshd //禁止的服务名,除了sshd,denyhosts还可以用于其他服务,如smtp等

DENY_THRESHOLD_INVALID = 5 //允许无效用户的登录失败次数,超过设置的一律cut~~

DENY_THRESHOLD_VALID = 3 //允许普通用户的登录失败次数,超过设置的一律cut~~

DENY_THRESHOLD_ROOT = 1 //允许root用户的登录失败次数,超过设置的一律cut~~

DENY_THRESHOLD_RESTRICTED = 1 //允许受限用户的登录失败次数,超过设置的一律cut~~

HOSTNAME_LOOKUP=YES //是否做域名反解析,留空表示不做

DAEMON_LOG = /var/log/denyhosts //denyhosts日志文件位置

其他设置一般默认即可~

4.确认DenyHosts运作正常

确认denyhosts是否在运作非常简单,看看hosts.deny文件是否有写入被屏蔽的ip地址即可。

#vi /etc/hosts.deny

另附一个shell防暴力破解的脚本:

#!/bin/bash

#find failed

HEAD=$(lastb|grep ssh|head -n 100|tail -n 1|awk '{print $5" "$6" "$7}')
echo $HEAD
TIME=$(($(date +%s)-$(date +%s -d "$HEAD")))
echo $TIME
if [ $TIME -gt 3600 ]; then
    exit
fi

#input last 100 
echo "get ip config......"
lastb|grep ssh|head -n 100| \
awk '{ip[$3]++}END{ for(key in ip){ if(ip[key]>5){print key}}}'>antiip.txt

touch antiip_n.txt
#write host.deny
cat antiip.txt|while read line
do
    DENY_ALREADY=$(echo $line|awk '{print $2}')
  if [ "$DENY_ALREADY" != "writed" ];then
     echo "sshd:"$line>>/etc/hosts.deny
     echo $line>>antiip_n.txt
  else
      echo $line"  writed">>antiip_n.txt
  fi
done

service sshd restart /etc/init.d/sshd restart
mv antiip_n.txt antiip.txt

相关文章

  • Kali Linux 暴力破解 Excel密码

    [toc] Kali Linux 暴力破解 Excel密码 目标 使用 Kali Linux 自带的工具破解 Mi...

  • Kali Linux 暴力破解 Excel密码 - 草稿

    [toc] Kali Linux 暴力破解 Excel密码 目标 使用 Kali Linux 自带的工具破解 Mi...

  • 暴力破解LINUX密码

    为了把百度文档的内容弄下来,就弄了一下这个 基本环境 操作系统:win7 64位系统 python版本:3.7 2...

  • linux:防暴力破解

    一.配置SSH双机信任 1.开启ssh服务 第一次远程登陆时,系统会提示是否将对方服务器信息保存在本地,键入'ye...

  • 二 暴力破解

    暴力破解&暴力破解漏洞概述 暴力破解连续性尝试 + 字典 + 自动化 字典 一个有效的字典,可以大大的提高暴力破解...

  • hydra暴力破解SSH密码

    在linux环境下,使用hydra,借助跑字典的方式,暴力破解ssh密码。(建议在虚拟机中自行搭建被暴力目标) 安...

  • 暴力破解Linux密码程序

    原文链接这里介绍一下怎么用程序包里破解linux加密的 就写一个程序来实现如何暴力破解它。当然,这个程序的前提是...

  • Linux 防止SSH暴力破解

    使用的日本的vpn 每次登陆都显示 看着好不爽,查看日志/var/log/secure一直被尝试登陆,估计是跑字典...

  • 暴力破解linux系统密码

    一工具准备 随便一台装linux系统的物理机或者虚拟机,本次试验主要以装有centos7.4的虚拟机来演示如...

  • Linux 上Fail2ban阻止SSH暴力攻击 保护你的服务器

    Linux 上Fail2ban阻止SSH暴力攻击 保护你的服务器不被暴力破解 查看尝试登录的IP和次数: 结果如下...

网友评论

    本文标题:linux:防暴力破解

    本文链接:https://www.haomeiwen.com/subject/ofnivxtx.html