linux装SSH服务以及防止SSH暴力破解

需要安装的包:

openssh-clients-6.6.1p1-22.el7.x86_64

openssh-server-6.6.1p1-22.el7.x86_64

配置文件中常用参数的介绍:

vim  /etc/ssh/sshd_conf

Port  22 

ListenAddress 0.0.0.0   #监听所有ipv4地址

Protocol  2  #版本2

SyslogFacility AUTHPRIV  #日志级别

查看ssh日志存放位置:vim /etc/rsyslog.conf

/authprive.*        查看这个级别的日志的存放路径,/var/log/secure

LoginGraceTime 2m    #ssh后,连接过程中等待的时间,超过这个时间将断开,默认是秒

PermitRootLogin yes   #允许root用户登录

PasswordAuthentication yes   #允许密码认证

PermitEmptyPasswords no     #不允许空密码登录

PrintMotd yes    #是否在登录后弹出特定的信息,在/etc/motd中定义信息

vim  /etc/motd   

     警告!从现在开始,你所有的操作将被记录

PrintLastLog yes   #登录后,显示上次登录本机的时间

UsePrivilegeSeparation sandbox  #这个参数是yes时, 如果远程以student登录,那ssh进程的用户就是student,如果是no,则是root用户

UseDNS yes    #是否进行域名解析,在内网中,可以设为no,登录较快

GSSAPIAuthentication no   #与UseDNS no同时设置

PidFile /var/run/sshd.pid    #进程pid文件路径

注意:配置文件中,选项前面以"#"开头的,选项值为默认值。

通过密钥认证登录:

客户端:

ssh-keygen  一路回车

ls  /root/.ssh

该目录下的id_rsa 是私钥  id_rsa.pub 是公钥

将公钥拷贝到要远程登录的服务端上

ssh-copy-id  -i  /root/.ssh/id_rsa.pub   192.168.142.161  回车输入.161的root密码

若要用student无密码登录.161

ssh-copy-id  -i  /root/.ssh/id_rsa.pub   student@192.168.142.161  回车输入student的密码

在服务机上就会生成一个文件 /root/.ssh/authorized_keys,可以通过删除这个文件来解除无密码登录

----防止ssh暴力破解

通过lastb命令可以查看谁登录过本台主机,如果输出的结果较多,或发现不明登录记录,就该提高警惕了,可能正在被暴力破解,不断的认证用户,虽然没有成功,但会导致系统负载很高,公司网站访问速度下降

日志文件/var/log/btmp ,是登录失败的记录,所以也可以查看这个文件的大小,太大了就说明有问题

对应方法:

1、密码尽量复杂

给root账户设置24位随机密码:

rootpass=`date +%s | sha256sum | base64 | head -c 24` && echo root:$rootpass  | chpasswd && echo $rootpass

2、修改默认端口号

登录:ssh  -p 220  192.168.142.161  # -p 指定端口号

3、使用普通用户登录,不使用root登录

服务机上

vim  /etc/passwd

root:x:0:0:root:/root:/sbin/nologin  

student:x:0:0:student:/home/student:/bin/bash    #判断用户是否是超级管理员,看的是UID是否为0

这样student就是此台机器的超级管理员,我们平时用student来登录就好了,依然是root权限,而且黑客破解的时候,需要先猜出student用户,再猜出密码才能破解

4、禁用掉登录失败的用户

fail2ban  监视系统日志,匹配错误信息并执行相应的屏蔽动作,(一般通过防火墙),而且可以发送邮件给系统管理员

原理:通过分析一定时间内的相关服务日志,将满足条件的IP利用iptables加入到dorp列表中

fail2ban安装:

-------------------------------

1)、源码包安装

官网:http://www.fail2ban.org

解压,进入目录

查看readme文件,可以看怎么安装

python setup.py install

安装完成后, 拷贝启动脚本,怎么查看是哪一个脚本呢

在这个目录下过滤chkconfig

grep  chkconfig  ./* -R     #其他服务也可以这样查看

./files/redhat-initd: # chkconfig: - 92 08

可以看到是redhat-initd文件

cp files/redhat-initd /etc/init.d/fail2ban   #fail2ban 是自定义的服务名称

启动服务

 /etc/rc.d/init.d/fail2ban   

chkconfig --add fail2ban  #设置开机自启

----------------------------------

2)、也可以用yum安装

系统自带的源中没有fail2ban的包,先更新yum源

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

如果报错,可能是又更新了最新的版本,浏览器打开http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e

查看最新版本,重新更新就好了

yum instll -y  fail2ban

配置文件说明:

/etc/fail2ban/action.d            #动作文件夹,内含默认文件。iptables以及mail等动作配置

/etc/fail2ban/fail2ban.conf        #定义了fai2ban日志级别、日志位置及sock文件位置

/etc/fail2ban/filter.d            #条件文件夹,内含默认文件。过滤日志关键内容设置

/etc/fail2ban/jail.conf            #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值

配置:

vim /etc/fail2ban/jail.conf

[DEFAULT]       #全局设置

ignoreip = 127.0.0.1/8   #忽略的IP列表

bantime = 600  #屏蔽时间,即多长时间内不能登录

findtime = 600   #这个时间内超过规定次数后,会被ban掉

maxretry = 3  #最大尝试次数

[sshd]      #局部配置,优先级大于全局配置

enabled = true   #是否开启

filter = sshd    #过滤规则filter的名字,对应filter.d目录下的sshd.conf

action = iptables[name=ssh,port=ssh,protocol=tcp]  #动作相关的参数,对应action.d/iptables.conf文件

logpath = /var/log/secure   检测的依据,日志文件的路径

bantime = 3000

findtime = 300

maxretry = 3

[sshd]这部分的含义:ssh登录,在300s内连续出错3次,将被禁止登录3000s

启动fail2ban

systemctl start fail2ban

查看fail2ban已启用的项

fail2ban-client status

详细查看某一项:fail2ban-client status  sshd

测试:

用160登录161,故意输错密码3次,再次登录时会被拒绝

查看被禁用的主机

cat  /var/log/fail2ban.log

如何解除对这个IP的限制:

fail2ban-client set sshd unbanip 192.168.142.160  场景:自己忘记了密码,登陆时输错了3次后,被ban掉了

如有错误,敬请指正~~

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值