在日志文件/var/log/secure 中可以看到涉及到安全方面的日志,可以查看是否有人尝试暴力破解及是否成功,对于肉鸡行为有一定帮助

思路基本上都是加强密码的复杂度,增加iptables配置黑名单的方法来防止肉鸡

方法一:

  建议各位用ECS或其他VPS的站长不要将密码长度设置低于12位,同时也要数字、大小写字母、符号,混合组成,保证安全性。

  优点:不需要操作服务器,可以直接在阿里云等VPS网页改,操作方便

  缺点:如果黑客锲而不舍,早晚都能试出来。

方法二:

  启用防火墙iptables,限制22端口只能由 指定IP 连接,其他都舍弃

方法三:

  修改默认22端口为1024以上的端口,并启用防火墙,动态添加黑名单

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

上面iptables的语句中第一句是说,对于外来数据,如果是 TCP 协议,目标端口号是 22,网络接口是 eth0,状态是新连接,那么把它加到最近列表中。 第二句是说,对于这样的连接,如果在最近列表中,并且在 60 秒内达到或者超过四次,那么丢弃该数据。其中的-m是模块的意思。 也就是说,如果有人从一个 IP 一分钟内连接尝试四次 ssh 登录的话,那么它就会被加入黑名单,后续连接将会被丢弃。

iptables -nxvL

grep fail /var/log/audit/audit.*|cut -d' ' -f11|cut -d'=' -f2|sort |uniq -c|sort -n -k1  -r

方法四:

基本思路是设置ssh的登录权限,统计secure中ssh认证失败的ip设置黑名单

#!/bin/bash
LIMIT=30 #这边可以自定义限制次数
LOGFILE="/var/log/block_ssh.log" #日志路径
TIME=$(date '+%b %e %H') #example: Apr 11 11
BLOCK_IP=$(grep "$TIME" /var/log/secure|grep Failed|awk '{print $(NF-3)}'|sort|uniq -c|awk '$1>"$LIMIT"{print $1":"$2}') #将1小时内ssh认证失败超过30次的ip抓出来
for i in $BLOCK_IP
do
IP=$(echo $i|awk -F: '{print $2}')
iptables-save|grep INPUT|grep DROP|grep $IP>/dev/null #先判断下是否已经被屏蔽
if [ $? -gt 0 ];then
iptables -A INPUT -s $IP -p tcp --dport 22 -j DROP #屏蔽ip
NOW=$(date '+%Y-%m-%d %H:%M')
echo -e "$NOW : $IP">>${LOGFILE}
fi
done

基本思路是统计出1小时ssh认证失败超过30次的IP,如果没屏蔽过的就将其加入iptables屏蔽。
这里就不设置白名单了,正常ip在一个小时内不会有那么多的Failed认证。

给予脚本执行权限:

chmod 755 /root/block_ssh.sh

最后加入到crontab定时任务,10分钟运行一次:

echo "*/10 * * * * root /root/block_ssh.sh" >>/etc/crontab

脚本运行一段时间后的日志:

[root@vps ~]# more /var/log/block_ssh_ip.log
2012-04-13 02:10 : 210.75.241.20
2012-04-13 02:10 : 59.60.7.102
2012-04-13 11:30 : 189.47.32.19
2012-04-13 13:30 : 184.107.119.213
2012-04-13 18:30 : 222.122.20.145
2012-04-14 05:10 : 188.127.226.66
2012-04-14 09:00 : 69.163.33.98
2012-04-14 10:10 : 184.106.165.164
2012-04-14 22:10 : 65.117.150.99
2012-04-15 06:00 : 124.205.252.158

提高ssh安全性的方法:

原文转自:http://www.cszhi.com/20120413/block-abuse-ssh-ip.html

对于在服务器上安装了多个网卡或配置多个IP地址的情况,设定sshd只在其中一个指定的接口地址监听,这样可以减少sshd的入口,降低入侵的可能性。
ListenAddress 192.168.0.1

如果允许用户使用root用户登录,那么黑客们可以针对root用户尝试暴力破解密码,给系统安全带来风险。
PermitRootLogin no

允许使用空密码系统就像不设防的堡垒,任何安全措施都是一句空话。
PermitEmptyPasswords no

只允许指定的某些用户通过ssh访问服务器,将ssh使用权限限定在最小的范围内。
AllowUsers sshuser1 sshuser2

同上面的AllowUsers类似,限定指定的用户组通过ssh访问服务器,二者对于限定访问服务器有相同的效果。
AllowGroups sshgroup

禁止使用版本1协议,因为其存在设计缺陷,很容易使密码被黑掉。
Protocol 2

关闭X11Forwarding,防止会话被劫持。
X11Forwarding no

sshd服务运行时每一个连接都要使用一大块可观的内存,这也是ssh存在拒绝服务攻击的原因。一台服务器除非存在许多管理员同时管理服务器,否则上面这 个连接数设置是够用了。
MaxStartups 5

注意:以上参数设置仅仅是一个示例,用户具体使用时应根据各自的环境做相应的更改。

2. 修改sshd服务器的配置文件/etc/ssh/sshd_config的读写权限,对所有非root用户设置只读权限,防止非授权用户修改sshd 服务的安全设置。
chmod 644 /etc/ssh/sshd_config

3. 设置TCP Wrappers。服务器默认接受所有的请求连接,这是非常危险的。使用TCP Wrappers可以阻止或允许应用服务仅对某些主机开放,给系统在增加一道安全屏障。这部分设置共涉计到两个文件:hosts.allow和 hosts.deny。

将那些明确允许的请求添加到/etc/hosts.allow中。如系统仅允许IP地址为192.168.0.15和10.0.0.11的主机使用 sshd服务,则添加如下内容:
sshd:192.168.0.15 10.0.0.11

将需要禁止使用的信息添加到/etc/hosts.deny中。如对除了在hosts.allow列表中明确允许使用sshd的用户外,所有其他用户都禁 止使用sshd服务,则添加如下内容到hosts.deny文件中:
sshd:All

注意:系统对上述两个文件的判断顺序是先检查hosts.allow文件再查看hosts.deny文件,因此一个用户在hosts.allow允许使用
网络资源,而同时在hosts.deny中禁止使用该网络资源,在这种情况下系统优先选择使用hosts.allow配置,允许用户使用该网络资源。

4.
尽量关闭一些系统不需要的启动服务。系统默认情况下启动了许多与网络相关的服务,因此相对应的开放了许多端口进行LISTENING(监听)。我们知
道,开放的端口越多,系统从外部被入侵的可能也就越大,所以我们要尽量关闭一些不需要的启动服务,从而尽可能的关闭端口,提供系统的安全性。

通过以上步骤基本上将sshd服务设置上可能出现的漏洞堵上了,不需要投资,只要我们稍微花点时间调整一下配置,就可极大提高系统的安全环境,何乐而不为呢?

【Linux系统】防暴力破解的更多相关文章

  1. centos7防暴力破解五种方法

    什么是暴力破解,简单来说就是对一个服务器进行无数次尝试登陆,并用不同的密码进行登陆直到可以登陆成功.暴力破解的基本步骤可以分为以下几步: 1. 找到对应的linux服务器    Ip地址 2.扫描端口 ...

  2. fail2ban的使用以及防暴力破解与邮件预警

    fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是防火墙),而且可以发送e-mail通知系统管理员! fail2ban运行机制:简单来说其功能就 ...

  3. fail2ban 防暴力破解总结

    公司服务器安全问题一直是个令人头疼的问题,许多运维的小伙伴一直在用脚本来监控服务器登录状态,然而脚本编写比较麻烦,今天就给大家推荐一款小而精致的防暴力破解工具 fail2ban ,他可以监控系统日志, ...

  4. openssh安装、设置指定端口号、免密码登录、变量传递、防暴力破解

    首先确保机器挂在好光盘镜像,然后查看软件包信息 [root@xuegod63 ~]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev ...

  5. WordPress防暴力破解:安全插件和用.htpasswd保护WordPress控制面板

    正在用Wordpress的博主们一定知道最近全球兴起的一波黑客锁定Wordpress暴力破解控制面板密码的风波了,据CloudFlare执行长Matthew Prince所说,所谓的暴力密码攻击是输入 ...

  6. [典型漏洞分享]YS的防暴力破解设计存在缺陷

    YS使用的防暴力破解机制存在缺陷,该缺陷可被用于暴力破解其它用户密码[高] 问题描述: YS在用户登录页面设置了验证码机制,当用户输入密码错误次数达到3次时,再次登录需要验证码以防止攻击者进行暴力破解 ...

  7. Centos6.4 安装fail2ban防暴力破解

    Centos6.4 安装fail2ban防暴力破解 一. 安装 curl -O https://codeload.github.com/fail2ban/fail2ban/tar.gz/0.9.0 m ...

  8. Odoo14 防暴力破解登录密码

    1 # Odoo14 防暴力破解登录密码 2 # 主要工具:redis 3 # 实现思路:限制每个用户24小时内登录失败次数.连续超过5次失败后,需要等待一定时间后才能再次尝试登录 4 # 配置:在你 ...

  9. Linux 密码的暴力破解

    Linux 的密码的介绍 两个文件 1 . /etc/passwd 2 . /etc/shadow ## 关于/etc/shadow 文件的介绍 1 . 第一个字段是用户名 2 . 第二字字段是加密的 ...

随机推荐

  1. YTU 2972: C语言习题5.24--文件操作1

    2972: C语言习题5.24--文件操作1 时间限制: 1 Sec  内存限制: 128 MB 提交: 248  解决: 94 题目描述 文本文件score.dic 中存储了n名学生的信息(班级编号 ...

  2. HDU(3790),最短路二级标准

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    ...

  3. CentOS安装solr 4.10.3

    Solr是什么? Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索 ...

  4. linux 强大的编辑器之vi

    vi编辑器是一个处理ASCII数据的文本工具.大多数linux发行版都已经默认安装了vi编辑器.vi是visual interface的缩写vim是 visual interface improved ...

  5. JLINK仿真器与ST-LINK仿真器的安装与配置.pdf

    JLINK仿真器与ST-LINK仿真器的安装与配置.pdf 工欲善其事,......stm32的开发环境搭建 观看地址  说到仿真器,首先要了解一下JTAG. JTAG协议 JTAG(Joint Te ...

  6. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  7. Win7\xp添加虚拟网Microsoft Loopback Adapter

    安装Microsoft Loopback Adapter 1 依次找到 打开“开始菜单”---“控制面板”---“添加硬件”的菜单选项如下图所示. 步骤阅读 2 如果没有“添加硬件”当然你也可以直接, ...

  8. 模板页显示Excel数据Gridview增删改查

    <%@ Page Title="主页" Language="C#" MasterPageFile="~/Site.master" Au ...

  9. linux unzip命令

      zip文件是一种常用的压缩文件格式,WinZip.WinRar等压缩软件都支持zip文件格式,就连java的jar包也是zip格式的,Firefox插件xpi文件也是zip格式的.Linux在zi ...

  10. Creating HTML table with vertically oriented text as table header 表头文字方向

    AS an old question, this is more like info or reminder about vertical margin or padding in % that ta ...