服务器安全请教

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 服务端口
系统自带防火墙暂时没开
目前就做了这些简单的,上面几个服务的默认端口有必要改吗?
请教下还有没有什么地方需要注意的?
谢谢各位。
6598 次点击
所在节点    Linux
54 条回复
realpg
2020-09-09 20:53:36 +08:00
找一个高阶运维
ob
2020-09-09 20:59:53 +08:00
@realpg 个人使用小机,请不起,而且也不能让运维接触到数据,哈哈
zro
2020-09-09 21:03:09 +08:00
感觉 3306 端口还是易受攻击,考虑加多层 WireGuard 吗?这样 3306 也可以 bind 本地。。
samv2
2020-09-09 21:05:14 +08:00
默认端口当然要改,全部改成高位端口。
防止各种扫描,或者未来 redis 漏洞啥的默认端口一扫就进去了
ladypxy
2020-09-09 21:06:15 +08:00
mysql 为什么要开端口?就一台机器为什么不用 socks 连接? redis 同理
HAWCat
2020-09-09 21:07:05 +08:00
默认端口有必要要改,个人用的话可以阿里云设置 IP 白名单,只允许部分 IP 能访问
blackeeper
2020-09-09 21:10:46 +08:00
1,ssh 把默认 22 端口换了,然后装一个 fail2ban
2,mysql 的 3306 端口也可以换掉,连接加上 tls,mysql 最好跟 redis 一样绑定本地 IP,navicat 连 mysql 可以走 ssh 通道
3,mysql 数据库一定要做好定时备份
ob
2020-09-09 21:12:17 +08:00
@samv2
收到,默认端口过后调整一下。
@ladypxy
因为需要本地远程连上去,方便查看和修改表数据。socks 连接没用过,不太懂了。
@HAWCat
一直有个疑问,IP 白名单针对的是我的外网 IP 吧,那家用路由,IP 以经常变动,不固定的这种,如果设置白名单?
ob
2020-09-09 21:14:49 +08:00
@blackeeper 谢谢,学到了,1,2 两招可以用上,第 3 的话,还好,因为 mysql 里面的数据不重要,哈哈
nightwitch
2020-09-09 21:17:10 +08:00
机器要暴露公网服务吗,如果只有自己连接的话,所有的端口都关闭,只留 ssh 的端口就可以了,其他的端口都走 ssh 端口转发。
ob
2020-09-09 21:20:51 +08:00
@nightwitch 可以不暴露公网,目前就 22,3306,和一个外网服务,外网服务可以关掉,3306 到时也关了走 ssh 。
ssh 端口转发得再学习一下了,还没尝试过。
HAWCat
2020-09-09 21:25:42 +08:00
可以观察一下 IPv4 和 IPv6 的变化是不是有规律的,有规律的话可以设置带子网掩码的 IP 地址为白名单
shequ2046
2020-09-09 21:49:39 +08:00
如果是真的需要安全的话,其实很简单。
防火墙 deny all
然后自动获取并放行自己电脑的 IP 地址,
再放行一个 fail safe 用的固定 IP 的备用主机就行了。
这样就无敌了,就算有 0day 也打不中你。
shequ2046
2020-09-09 21:53:05 +08:00
@HAWCat level 太低了,直接写个脚本自动获取需要放行的主机的 IP 地址就行了。
black11black
2020-09-09 21:54:14 +08:00
一般是没问题的,linux 本身层面上除了修改 ssh 登录方式外还要加一个 fail2ban,基本免疫一切针对系统账号本身的攻击。剩下的业务端口这么设置一般也没问题,唯一能打到的是 0day,改端口可以增加一定安全性。我觉得不是涉及大资金安全的话这样完全够了,毕竟设计层面上唯一问题是 0day,因为我个人没见过 mysql 和 redis 因为 0day 被打的,可能是我孤陋寡闻。大资金再搞更细致的防火墙、IP 绑定之类的
asuraa
2020-09-09 21:57:49 +08:00
端口全关 通讯使用 vpn wireguard 或者是 sslvpn 都可以
只开放 ssh 使用密钥登录 和 vpn 的端口 其他端口全关
ecs
2020-09-10 00:36:49 +08:00
如果想更安全的话,从白名单删除 3306 和 22 端口。只允许使用阿里云 ECS Workbench 远程登录。
xderam
2020-09-10 01:36:19 +08:00
1 做好登陆日志的监控
2 禁止 root 登陆
3 别一台服务器 做好所有的数据备份
4 除了 80 什么都不开。用的时候再去阿里云开 22 的指定 IP 权限。
yjd
2020-09-10 07:46:33 +08:00
最近刚好准备用 public key 验证,ssh 转发功能,这样就可以只开 22 端口。其他非 80,443 就可以走隧道。其实最大漏洞是 80,443 的入侵。
当然 web 是自己用不对外开放就全走隧道了,完事。
vpn 方案默认全局,还得搞路由表,或第三方软件实现局部走 vpn
anjing01
2020-09-10 08:26:08 +08:00
不对外情况下,只开 ssh 端口,然后通过 ssh 代理访问 web/mysql ( xshell/secureCRT 都带这功能,或者 ssh -N -f -D
ssh -N -f -R )
另外可以添加两条(如果是物理设备,还可添加一条外设接入告警):
1.登陆告警(从 /var/log/secure 里面去取登陆信息,发现登陆就触发邮件 /或者 WEBHOOK )
2.链接告警( ss 获取创建链接情况,设置规则告警)

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

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

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

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

© 2021 V2EX