阿里云服务器小加防
1、前言
因为之前的软工实践结对作业二最后部署之后,发现服务器负载异常,查看服务器状态发现服务器被人注入程序,导致挖坑。
2、服务器工具介绍
推荐一个 宝塔面板,还有一个 FinalShell
宝塔面板需要预先安装,但是它是真的好用。
可以将Linux转换成这种 页面UI 的形式进行操作,而且 文件上传、数据库导入 什么的也比较简单。
FinalShell则是 通过SSH连接 ,在本地比较快速的进行连接服务器,并且也提供了类似Windows我的电脑里面的文件路径显示。
3、安全加固措施
a、修改端口
每一个服务器实例在初始化之后,都会使用 默认的端口,比如SSH连接默认端口为22,网络默认端口为80,数据库默认端口3306,Redis默认端口6379。这些都可以进行修改,避免被人暴力破解。
最好还是 在官方服务器页面进行端口的修改,虽然宝塔面板也可以开放端口,但是我之前测试的时候在宝塔面板开放端口却不能实现,而在官方服务器页面开放则可以,可能是因为宝塔面板的权限不足。
b、限制登录
有些时候并不需要超级管理员的账号进行操作,平时可能图方便,一直都是使用root账号登录,如果平时没有多个账号的话, 单账号被限制之后,可能你就一直无法连接到服务器了 ,这时候最坏的打算就是格式化服务器,但是这样你的数据什么都需要重新部署,非常麻烦。
如何新建一个账号,还是 自行百度 吧,有非常详细的教程, 权限的给予一定要合理。
c、安全排查
大部分的官方服务器都有 自动安全排查的工具 ,可以定期进入进行排查查看自己服务器当前的安全情况。
比如这张图
第一项提示 Mysql的端口并没有修改,使用默认端口号是有一定的风险存在的,所以必要的时候需要修改端口,不默认使用3306端口。
第二项提示 主要是对于登录账号的限制,比如SSH连接超时时间的设置,账户密码失效时长的设置,修改密码最小间隔时长的设置,虽然说这些可能不起眼,但是在一定程度上还是比较有用的。
第三项提示 Nginx服务设置的修改,主要会推荐一些加固Nginx服务的安全选项。
最后两项提示 登录密码的修改,这里不止会提示密码弱,而且可以修改密码规则,增加密码的复杂程度。
其中宝塔面板有 登录密码多次错误锁死 的功能,但是服务器事例账号登录好像是没有,应该是有存在这种机制的,但是个人不是很了解在哪里开启,猜测应该是多次登录失败过锁死IP,只能通过手机验证码解除锁死重置密码吧。
d、使用Nginx服务
比如这次作业我们提交的链接大多数都是暴露IP和端口号,印象中是可以 通过Nginx避免恶意解析 ,好像也可以通过 Nginx服务重写URL ,进一步确保自己的IP、端口不暴露。效果可能类似上学期Web实践中Apache的URL修饰吧。