服务器安全请教

2020-09-09 20:47:40 +08:00
 ob
不懂就问,目前有一台服务器存放一些对我很重要的数据,涉及到资金安全。
所以在安全这方面请教个各位还有什么需要做的。
环境:
阿里云服务器
系统:CentOS Linux release 7.8.2003
装的服务:mysql, redis, node
目前做的措施:
root 只允许 ssh 连接,禁止密码登录
mysql 开了 3306 端口,禁止 root 远程访问,新建了一个用户名
redis 设置密码,bind 本地 IP,外部不能连接
目前阿里云防火墙允许的端口:22,3306,以及一个 web 服务端口
系统自带防火墙暂时没开
目前就做了这些简单的,上面几个服务的默认端口有必要改吗?
请教下还有没有什么地方需要注意的?
谢谢各位。
6634 次点击
所在节点    Linux
54 条回复
sdlzqjf
2020-09-10 14:00:37 +08:00
建议把 22 和 3306 端口换掉
LokiSharp
2020-09-10 14:05:01 +08:00
打开 SELinux 和自带的防火墙就足够了,换端口没意义,专业的扫端口工具都能判断端口特征
yc8332
2020-09-10 16:01:26 +08:00
除了 web 服务端口,ssh,其他不应该开放。。mysql 可以通过 ssh 隧道访问就好了。。。其他就还好了,还是你自己的程序是否有注入啥的。
lyi4ng
2020-09-10 16:21:06 +08:00
ssh 禁止 root 远程登录,服务用户整个 pam_radius 认证登录(pin+otp),整个 fail2ban,把端口改了,有能力的话修改一下 sshd 的 output 防止端口的服务识别
mysql 把端口改了,禁止 root 远程访问,把外联用户对于 information_schema 的权限调整一下
redis 别对外别空密码别弱密码
把 shell 换一下,能的话别用 bash 这种自带网络连接 feature 的(/dev/tcp)
阿里云盾的端口白名单开起来

能的话别用阿里云,用腾讯云(此条 5 毛,括号内删掉)
parametrix
2020-09-10 19:06:08 +08:00
给的信息有限啊,一些一般性的建议是:

1. 禁止 root 远程登陆,禁止所有用户密码远程登陆。
2. 用 Docker 部署服务,应用间隔离,特别是把 web 服务隔离开。
3. 数据库没必要直接对外开放端口,每次用 ssh -L 拉回本地是更安全的做法。
4. 有效的数据备份十分重要。
aaa5838769
2020-09-10 19:34:26 +08:00
1 、修改 22 、3306 端口。
2 、禁止 root 远程登陆,使用普通用户密钥登陆,切换到 root 上。
3 、阿里云设置 IP 白名单。
YaakovZiv
2020-09-10 20:31:30 +08:00
NeroKamin
2020-09-10 22:27:53 +08:00
真心提问,为什么大家都推荐改端口啊?
s0nnse
2020-09-11 11:10:39 +08:00
root 只允许本地登陆(阿里云控制台),另建一个低权账户用来远程维护代码。web 应用用低权账户运行,mysql 关闭远程访问,看你站库一起的,使用 localhost 连接就可以了。web 应用找个免费的安全扫描工具扫一下。
no1xsyzy
2020-09-11 11:23:53 +08:00
@NeroKamin 不改日常被扫。虽然加上禁密码登录、fail2ban 等以后被直接拿到手可能性比较少,但一方面日志会比较少比较好筛,能够比较清楚地看出登录情况。
另一方面,不排除以后暴出 0day,高端口能提供更多的缓冲时间(更新系统、对服务进行关停)。不改端口就是 30 分钟缓冲时间(只会更低,我打赌如果 ssh 公开一个 0day,不到 30 分钟内 0.0.0.0-255.255.255.255 的 22 端口会被全部扫一遍),改端口大约在 24 小时到 72 小时。
no1xsyzy
2020-09-11 11:27:21 +08:00
@NeroKamin 15000+ 的高位端口大约每 4 天被扫到一次
每次被扫都是 ssh http/1.1 ( GET / HTTP/1.1 ) http/2 ( GET / HTTP/2 ) TLS (\026\003\001\002 ) 和一个不太清楚是什么协议的 \003
tianshiyeben
2020-09-11 16:25:17 +08:00
试试上一套安全监控系统 很轻 www.wgstart.com
NeroKamin
2020-09-11 21:14:06 +08:00
@no1xsyzy 受教了,以前一直认为尽管改了端口还是会被扫到就认为没有太多用处,欠考虑了
libook
2020-09-14 12:31:13 +08:00
默认端口能改就改,包括 SSH 的,避免定向扫描。
防火墙打开,打底规则所有端口的外网进出流量全部禁止,然后只开放必要的几个端口。
建议卸载 sudo,或者为了兼容一些管理脚本可以仅让 root 能用 sudo,普通用户切换 root 只能用 su 指令输入 root 的密码才能切过去。
SSH 登录 root 用户仅支持秘钥对,且给秘钥再配置密码,防止秘钥泄露。
建议 mysql 、redis 、web 服务(不仅限这几个)都不要对公网开放端口,走 VPN 或者 SSH 隧道让自己的客户端处于服务器的内网环境再经由内网访问这些服务的端口。
所有服务,能不跑在 root 用户上的都尽量不要跑在 root 用户上,各自的用户要把权限最小化配置。
系统频率至少每周都升级更新,特别是安全更新,补丁都要打好。

既然存的是重要的数据,当然也要有备份,而且是异地实时备份,异地的标准建议是两机器地理距离 30 公里以上(为了避免极端的天灾人祸)。为了避免引入脏备份,可以加入快照功能。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX