您的位置:首页 > 大数据 > 人工智能

ssh防止暴力破解之fail2ban

2018-09-19 23:01 1011 查看
1.利用sshd服务本身防止暴力破解2.sshd服务防止暴力破解和fail2ban使用方法先说说一般的防范措施:方法1:
1、密码足够复杂:
密码的长度要大于8位最好大于14位。密码的复杂度是密码要尽可能有数字大小写字母特殊符号混合组成。 3/4 0-9 a-z A-Z @!#%* 方法2:修改默认端口号 sshd 默认端口号: 22
[root@DaMoWang ~]# nmap 192.168.94.100 Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-21 13:41 CST Nmap scan report for localhost (192.168.94.100) Host is up (0.0000030s latency). Not shown: 997 closed ports PORT     STATE SERVICE 22/tcp   open  ssh  53/tcp   open  domain 3306/tcp open  mysql Nmap done: 1 IP address (1 host up) scanned in 0.17 seconds
#为了避免被扫描到22端口 修改配置文件的默认端口
[root@DaMoWang ~]# vim /etc//sshd_config  #修改 #Port  注释去掉并修改端口号 比如改成2222
[root@DaMoWang ~]# systemctl restart sshd
再次扫描端口
[root@DaMoWang ~]# nmap 192.168.94.100 Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-21 14:09 CST Nmap scan report for localhost (192.168.94.100) Host is up (0.0000050s latency). Not shown: 997 closed ports PORT     STATE SERVICE 53/tcp   open  domain 2222/tcp open  EtherNet/IP-1  #原本是22端口的ssh 变成了现在的2222端口 3306/tcp open  mysql Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
测试
[root@ceshi ~]#  root@. : connect to host . port : Connection refused [root@ceshi ~]#  root@. -p  root@. Last : Sat Jul  ::  from . .  [root@DaMoWang ~]# ip a  : lo: <LOOPBACK,UP,LOWER_UP> mtu  qdisc noqueue state UNKNOWN group default qlen      link/loopback ::::: brd :::::     inet ./ scope host lo        valid_lft forever preferred_lft forever     inet6 ::/ scope host         valid_lft forever preferred_lft forever : ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu  qdisc pfifo_fast state UP group default qlen      link/ether :0c::c8:e2:0d brd ff:ff:ff:ff:ff:ff     inet ./ brd . scope global noprefixroute dynamic ens33        valid_lft 15118sec preferred_lft 15118sec     inet6 fe80::::438c:7db4/ scope link noprefixroute         valid_lft forever preferred_lft forever     inet6 fe80::a1f6:1d30:fbb2:f090/ scope link tentative noprefixroute dadfailed         valid_lft forever preferred_lft forever [root@DaMoWang ~]# exit
登出
Connection to 192.168.94.100 closed.
# 改端口号的目的是为了,避免扫描
不使用root用户名登录,这样×××猜不到你的用户名。也就无从暴力破解不使用用户名为root的帐号登录系统,但是要获得root超级管理员权限怎么办?判断一个用户是不是超级管理员,看的是用户的ID是否为0创建一个普通帐号,然后变成超级管理权限
[root@DaMoWang ~]# useradd damowang [root@DaMoWang ~]# echo 475541270|passwd --stdin damowang 更改用户 damowang 的密码 。 passwd:所有的身份验证令×××已经成功更新。 [root@DaMoWang ~]# vim /etc/passwd root:x:0:0:root:/root:/bin/bash root:x:0:0:root:/sbin/nologin   #不让root登录系统 damowang:x:1011:1011::/home/damowang:/bin/bash damowang:x:0:0::/home/damowang:/bin/bash  #修改完UID后这个普通用户就有超级管理员的权限,即时生效
测试
[root@ceshi ~]# ssh damowang@192.168.94.100 -p 2222 damowang@192.168.94.100's password:  Last login: Sat Jul 21 14:16:22 2018 from 192.168.94.29 [root@DaMoWang ~]# id damowang uid=0(root) gid=0(root) 组=0(root) [root@DaMoWang ~]# whoami   #查看当前登录系统的用户名 root
总结:以下三种方法:1、密码足够复杂2、修改默认端口号3、不使用root用户名登录一般情况这个就可以解决了暴力破解的问题了 公司网站一直被别人暴力破解sshd服务密码。虽然没有成功,但会导致系统负载很高,原因是在暴力破解的时候,系统会不断地认证用户,从而增加了系统资源额外开销,导致访问公司网站速度很慢客户体验非常不好,对经济造成危害技术源于生活,你的银行卡 输错3次密码 , 结果会怎么样???卡会锁24个小时。。。我们使用fail2ban也可以实现锁IPfail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是防火墙),而且可以发送e-mail通知系统管理员!下载软件包:官方地址:[b]http://www.fail2ban.org[/b]



下载fail2ban [root@ceshi ~]# tar xf fail2ban-0.8.14.tar.gz -C /usr/src/
[root@ceshi ~]# cd /usr/src/fail2ban-0.8.14/
[root@ceshi fail2ban-0.8.14]# less README.md查看使用方法

[root@ceshi fail2ban-]# python -V Python . [root@ceshi fail2ban-]# python setup.py  [root@ceshi fail2ban-]#  $?
设置条件:ssh远程登录5分钟内3次密码验证失败,禁止用户IP访问主机1小时,1小时该限制自动解除,此IP可以重新登录下面是策略
[root@ceshi fail2ban-0.8.14]# vim /etc/fail2ban/jail.conf
# 修改或添加标记处内容

enabled = true #是否激活此项(true/false)修改成 truelogpath = /var/log/secure #检测的系统的登陆日志文件。这里要写sshd服务日志文件。#完成:5分钟内3次密码验证失败,禁止用户IP访问主机1小时。 配置如下findtime = 300 #在5分钟内内出现规定次数就开始工作,默认时间单位:秒maxretry = 3 #3次密码验证失败bantime = 3600 #禁止用户IP访问主机1小时
# 在安装路径下 启动服务 [root@ceshi fail2ban-0.8.14]# files/redhat-initd start [root@ceshi fail2ban-0.8.14]# files/redhat-initd start Starting fail2ban:                                         [  确定  ]
测试
#输入正确的密码可以正常登陆 [root@ceshi ~]# ssh root@192.168.94.29  root@192.168.94.29's password:  Last login: Sat Jul 21 14:58:07 2018 from 192.168.94.100 [root@DaMoWang ~]# #输入三次错误密码 [root@ceshi ~]# ssh root@192.168.94.29  root@192.168.94.29's password:  Permission denied, please try again. root@192.168.94.29's password:  Permission denied, please try again. root@192.168.94.29's password:  Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). [root@ceshi ~]# ssh root@192.168.94.29  ssh: connect to host 192.168.94.29 port 22: Connection refused
查看哪台机器在暴力破解你的服务器查看fail2ban服务运行状态:
[root@DaMoWang fail2ban-0.8.14]#  fail2ban-client status Status |- Number of jail:    1 `- Jail list:        ssh-iptables
具体看某一项的状态也可以看,如果显示被ban的ip和数目就表示成功了,如果都是0,说明没有成功
[root@DaMoWang fail2ban-0.8.14]# fail2ban-client status ssh-iptables Status for the jail: ssh-iptables |- filter |  |- File list:    /var/log/secure  |  |- Currently failed:    0 |  `- Total failed:    3 `- action    |- Currently banned:    1    |  `- IP list:    192.168.94.100   #拦截192.168.94.100成功    `- Total banned:    1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux ssh