个人博客刚部署,隔壁开发还没开始馋,就有人来撬门(上)

本文涉及的产品
云防火墙,500元 1000GB
简介: 本文专门用于记录服务器运行过程中遇到的 安全问题及应对之法。

0x1、SSH 暴力破解攻击


描述


攻击者通过 密码字典随机组合密码 的方式尝试登陆服务器。 一般不会有明确攻击目标,针对的是全网机器,通过 扫描软件直接扫描整个广播域或网段


问了位安全大佬,回复如下:


不用过分担心,设置一个 复杂密码 完事,被搞的基本是用 弱口令(简单数字和字母) 的。


em,设置个复杂密码就好,如果你对谁来撬门感兴趣的话,可以键入下述命令:


grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr | more


输出结果


网络异常,图片无法展示
|


1503次,百度查下ip


网络异常,图片无法展示
|


国外的,基本上就是代理IP了,接着说下几种常见的应对之法:


① 更换ssh端口(推荐)


把ssh端口换成一个不容易被猜解的端口号(最大不能超过65535),一般默认是 22端口,也可以键入下述命令查看:


netstat  -anp|grep ssh


输出结果


网络异常,图片无法展示
|


然后键入下述命令修改sshd配置文件:


vim /etc/ssh/sshd_config


找到Port 22所在的那一行,去掉前面的 #,然后回车输入 Port 自定义端口号,比如:


网络异常,图片无法展示
|


这里保留22端口是为了避免配置失败,还能使用22端口进行ssh登录,等配置成功后再来删它!


接着 防火墙放行下设置的端口


firewall-cmd --zone=public --add-port=1024/tcp --permanent
firewall-cmd --reload
# 如果出现:FirewallD is not running 说明防火墙还没开启,使用下述命令开启:
systemctl start firewalld
# 通过下述命令确认防火墙状态,显示 active(running) 代表运行中
systemctl status firewalld
# 附:关闭防火墙命令
systemctl stop firewalld
# 附:移除端口
firewall-cmd --zone=public --remove-port=1024/tcp --permanent


再接着 向SELinux添加和修改ssh端口号semanage是SELinux的管理工具,输入sem然后按下 Tab看下有没有自动补全,没有的话需要自行安装一波:


yum install policycoreutils-python
yum provides semanage


安装完,通过下述命令向SELinux添加自定义的SSH端口:


semanage port -a -t ssh_port_t -p tcp 1024
# 附:删除端口
emanage port -d -t ssh_port_t -p tcp 端口号


然后,通过下述命令查看是否添加成功


semanage port -l | grep ssh


网络异常,图片无法展示
|


可以,重启下ssh服务


systemctl restart sshd.service


接着,ssh新端口试试看能否登陆:


ssh root@xxx.xxx.xxx.xxx -p 1024


如果能连上,可以把 /etc/ssh/sshd_config 中的22端口号删掉了,然后重启下ssh服务。此时再使用22端口访问:


网络异常,图片无法展示
|


完美,更改端口无法在根本上抵御 端口扫描,但总比没有好~


② 禁止root账号直接登录(推荐)


Linux默认管理员名为 root,只需知道root密码即可直接登录SSH,我们这样:


新建一个用户 → 禁用root用户登录 → 使用新账户登录 → su root → 输入root密码切换到root权限


知道流程,然后走一波设置命令:


# 新建用来登录的账户,比如这里的julia
useradd julia
# 设置密码,回车后输入两次密码
passwd julia
# 修改SSHD配置,禁用root登录
vim /etc/ssh/sshd_config


找到 PermitRootLogin yes,把 yes 改为 no,然后保存:


网络异常,图片无法展示
|


继续:


# 重启SSHD服务
service sshd restart


此时使用root账户尝试登录,即使密码正确也会提示权限被拒绝~


网络异常,图片无法展示
|


此时用前面建的账号登录:


ssh julia@xxx.xxx.xxx.xxx -p 1024
# 输入密码正常登录后,键入下述命令,回车后输入原先root账号
# 的密码即可获取root权限
su root


相关文章
|
8月前
|
人工智能 自然语言处理 安全
新年愿望清单:搭建官网选哪家?
而今立足「SaaS系统」面向中小企业的各种低成本建站产品让人眼花缭乱,小云对比了几大厂牌,梳理出一些【阿里云精选建站】的功能亮点,篇幅有限,各位看官可酌情参考——
186 0
|
8月前
|
存储 运维 安全
年终总结:官网搭建知多少
官网搭建的核心工作可以分为以下5个部分,找到每一步的最佳解决方案,专属企业官网就近在眼前啦!
146 1
|
前端开发 JavaScript Java
基于Javaweb 开发的个人博客系统心灵小阁
基于Javaweb 开发的个人博客系统心灵小阁
296 0
基于Javaweb 开发的个人博客系统心灵小阁
|
缓存 JavaScript 前端开发
手把手教你从0开始搭建个人博客,东半球最详细的保姆级博客搭建部署教程 | 程序员人手必备个人博客网站
手把手教你从0开始搭建个人博客,东半球最详细的保姆级博客搭建部署教程 | 程序员人手必备个人博客网站
手把手教你从0开始搭建个人博客,东半球最详细的保姆级博客搭建部署教程 | 程序员人手必备个人博客网站
|
8月前
大咖与小白的日常:不会开发,如何快速搭建公司网站?
开发哥哥需求多到排不过来,产品经理又要加。有没有不需要开发代码搭建网站的办法,让小白也能上手?
110 0
|
应用服务中间件 Linux 数据安全/隐私保护
大四学生的第一次服务器使用心得
本文主要介绍本人第一次使用阿里云服务器部署web项目的简单过程。最后介绍
大四学生的第一次服务器使用心得
|
域名解析 运维
阿粉带你从零搭建一个属于自己的个人网站(上)
很多小伙伴私信我,问我怎么弄一个个人博客系统,之前其实也聊过,不过没关系,今天我们再来详细的说一说。 对于已经上线的项目,我们知道后期的迭代主要集中在线上发布这个环节,那么对于一个从零开发完的项目,到上线要经过哪些流程呢?
阿粉带你从零搭建一个属于自己的个人网站(上)
|
Linux Shell 网络安全
个人博客刚部署,隔壁开发还没开始馋,就有人来撬门(下)
本文专门用于记录服务器运行过程中遇到的 安全问题及应对之法。
205 0
|
存储 缓存 JavaScript
【简历加分】hexo框架搭建个人博客站点,手把手教学。
作为应届毕业生或者1-3年工作经验的程序员拥有自己的个人博客站点,绝对是简历的加分项,然而学习的成本确实非常的低,只要几十分钟就能搭建好自己的个人博客。闲话不多说,下面我们就开始动手来搭...
266 0
|
Java 应用服务中间件 Linux
阿粉带你从零搭建一个属于自己的个人网站(下)
很多小伙伴私信我,问我怎么弄一个个人博客系统,之前其实也聊过,不过没关系,今天我们再来详细的说一说。 对于已经上线的项目,我们知道后期的迭代主要集中在线上发布这个环节,那么对于一个从零开发完的项目,到上线要经过哪些流程呢?
阿粉带你从零搭建一个属于自己的个人网站(下)