sshd服务搭建管理和防止暴力破解

一、sshd服务安装-ssh命令使用方法
SSH协议: 安全外壳协议。SSH为建立在应用层和传输层基础上的安全协议。
作用: 远程控制,传送文件。相比于telnet的明文传输方式,SSH的加密传输更安全。
服务安装: yum install openssh openssh-clients openssh-server -y
如何使用ssh来远程连接主机:
方法一、
ssh [远程主机用户名] @[远程服务器主机名或IP地址]
方法二、
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址]
二、sshd服务配置和管理
介绍下配置文件,以及需要安全调优的地方/etc/ssh/sshd_config配置文件
Port 22—>设置sshd监听端口号
#SSH 预设使用 22 这个port,也可以使用多个port,即重复使用 port 这个设定项目!
#例如想要开放sshd端口为 22和222,则多加一行内容为: Port 222 即可
#然后重新启动sshd这样就好了。 建议大家修改 port number 为其它端口。防止别人暴力破解。
修改之后的连接命令为指定设置好的端口号:
ssh -p [端口号] [远程服务器主机名或IP地址]
#选择的 SSH 协议版本,
#HostKey /etc/ssh/ssh_host_key
设置包含计算机私人密匙的文件
SyslogFacility AUTHPRIV
当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV。
sshd服务日志存放在: /var/log/secure

三、ssh服务安全调优重点:
ssh服务的配置文件修改如下:
1、LoginGraceTime 2m
#根据实际情况来修改时间,当等待登陆时间超过默认2分钟是SSH server就强迫断线。
2、 PermitRootLogin yes
#是否允许root账号登陆。
3、PasswordAuthentication yes
#是否需要密码验证登陆
4、 PermitEmptyPasswords no
#是否设置空密码登陆,默认不允许
5、PrintMotd yes
#登陆后回打印提示信息,打印的信息为读取/etc/motd文档内容。
6、PrintLastLog yes
#显示上次登陆的信息,默认为yes
7、UseDNS yes
#此项为判断登陆用户的DNS是否合法,会使用DNS去反查客户端的主机名,若为内网环境可设置为no节约登陆时间。
四、SSHD服务防止暴力破解
方法一:
1、设置密码足够复杂长度足够长。
2、修改ssh服务的默认端口号。
3、不允许root用户直接登陆,添加普通账号增加root权限。
4、不允许密码登陆,只能通过密钥认证登陆系统。

#通过密钥认证实现sshd认证
客户端生成密钥对,然后把公钥传输到服务端
#ssh-keygen
#生成密钥文件默认保存在/root/.ssh/id_rsa下
发布公钥到服务端:
#ssh-copy-id -i [远程服务器IP]
注意:如果服务器不是监听22端口,则需要这样传输密钥:
ssh-copy-id -i ~/.ssh/id_rsa.pub “-p 222 root@[远程服务器IP]”

方法二:手动配置防破解方法
1、通过shell脚本来防止暴力破解ssh
在这里插入图片描述
2、通过pam 模块来防止暴力破解ssh
#vim /etc/pam.d/sshd
在第一行下面添加一行:
auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=1200
说明:尝试登陆失败超过3次,普通用户600秒解锁,root用户1200秒解锁
手动解除锁定:
查看某一用户错误登陆次数:
pam_tally –-user
例如,查看work用户的错误登陆次数:
pam_tally –-user work
清空某一用户错误登陆次数:
pam_tally –-user –-reset
例如,清空 work 用户的错误登陆次数,
pam_tally –-user work –-reset
3、denyhosts 软件防护
当我们的服务器对外提供服务的时候,难免的会受到其他用户的扫描和试图登录的操作,以侵入服务器,这样不仅会浪费系统的资源,有可能还会被其他用户进行N多次尝试后登录系统,对系统造成破坏影响业务系统的正常运行。DenyHosts是一个使用python编写的脚本文件,通过运行这个脚本(可以通过命令行运行、计划任务或者是作为服务运行)可以有效的阻止对SSH服务器的攻击。DenyHosts具有如下特性:
1.对/var/log/secure日志文件进行分析,查找所有的登录尝试,并且过滤出失败和成功的尝试。
2.记录下所有失败的登录尝试的用户名和主机,如果超过阀值,则记录主机。
3.保持对每一个登录失败的用户(存在系统中或不存在系统中的用户)的跟踪
4.对每一个可疑的登录进行跟踪。(虽然登录成功,但是有很多次登录失败的记录)
5.将可疑地址的主机加入到/etc/hosts.deny文件中。

方法三:通过开源的防护软件来防护安全
fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是防火墙),而且可以发送e-mail通知系统管理员。
#ban 禁令
简单来说其功能就是防止暴力破解。工作的原理是通过分析一定时间内的相关服务日志,将满足动作的相关IP利用iptables加入到dorp列表一定时间。
注:重启iptables服务的话,所有DORP将重置。
下载软件包:
官方地址:
http://www.fail2ban.org
使用教程:https://blog.csdn.net/dark_gezi/article/details/59055374

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值