1
realpg 2020-09-09 20:53:36 +08:00
找一个高阶运维
|
3
zro 2020-09-09 21:03:09 +08:00 1
感觉 3306 端口还是易受攻击,考虑加多层 WireGuard 吗?这样 3306 也可以 bind 本地。。
|
4
samv2 2020-09-09 21:05:14 +08:00 1
默认端口当然要改,全部改成高位端口。
防止各种扫描,或者未来 redis 漏洞啥的默认端口一扫就进去了 |
5
ladypxy 2020-09-09 21:06:15 +08:00 1
mysql 为什么要开端口?就一台机器为什么不用 socks 连接? redis 同理
|
6
HAWCat 2020-09-09 21:07:05 +08:00 via Android 1
默认端口有必要要改,个人用的话可以阿里云设置 IP 白名单,只允许部分 IP 能访问
|
7
blackeeper 2020-09-09 21:10:46 +08:00 1
1,ssh 把默认 22 端口换了,然后装一个 fail2ban
2,mysql 的 3306 端口也可以换掉,连接加上 tls,mysql 最好跟 redis 一样绑定本地 IP,navicat 连 mysql 可以走 ssh 通道 3,mysql 数据库一定要做好定时备份 |
8
ob OP |
9
ob OP @blackeeper 谢谢,学到了,1,2 两招可以用上,第 3 的话,还好,因为 mysql 里面的数据不重要,哈哈
|
10
nightwitch 2020-09-09 21:17:10 +08:00 1
机器要暴露公网服务吗,如果只有自己连接的话,所有的端口都关闭,只留 ssh 的端口就可以了,其他的端口都走 ssh 端口转发。
|
11
ob OP @nightwitch 可以不暴露公网,目前就 22,3306,和一个外网服务,外网服务可以关掉,3306 到时也关了走 ssh 。
ssh 端口转发得再学习一下了,还没尝试过。 |
12
HAWCat 2020-09-09 21:25:42 +08:00 via Android
可以观察一下 IPv4 和 IPv6 的变化是不是有规律的,有规律的话可以设置带子网掩码的 IP 地址为白名单
|
13
shequ2046 2020-09-09 21:49:39 +08:00 1
如果是真的需要安全的话,其实很简单。
防火墙 deny all 然后自动获取并放行自己电脑的 IP 地址, 再放行一个 fail safe 用的固定 IP 的备用主机就行了。 这样就无敌了,就算有 0day 也打不中你。 |
15
black11black 2020-09-09 21:54:14 +08:00 1
一般是没问题的,linux 本身层面上除了修改 ssh 登录方式外还要加一个 fail2ban,基本免疫一切针对系统账号本身的攻击。剩下的业务端口这么设置一般也没问题,唯一能打到的是 0day,改端口可以增加一定安全性。我觉得不是涉及大资金安全的话这样完全够了,毕竟设计层面上唯一问题是 0day,因为我个人没见过 mysql 和 redis 因为 0day 被打的,可能是我孤陋寡闻。大资金再搞更细致的防火墙、IP 绑定之类的
|
16
asuraa 2020-09-09 21:57:49 +08:00 1
端口全关 通讯使用 vpn wireguard 或者是 sslvpn 都可以
只开放 ssh 使用密钥登录 和 vpn 的端口 其他端口全关 |
17
ecs 2020-09-10 00:36:49 +08:00
如果想更安全的话,从白名单删除 3306 和 22 端口。只允许使用阿里云 ECS Workbench 远程登录。
|
18
xderam 2020-09-10 01:36:19 +08:00 1
1 做好登陆日志的监控
2 禁止 root 登陆 3 别一台服务器 做好所有的数据备份 4 除了 80 什么都不开。用的时候再去阿里云开 22 的指定 IP 权限。 |
19
yjd 2020-09-10 07:46:33 +08:00 via Android
最近刚好准备用 public key 验证,ssh 转发功能,这样就可以只开 22 端口。其他非 80,443 就可以走隧道。其实最大漏洞是 80,443 的入侵。
当然 web 是自己用不对外开放就全走隧道了,完事。 vpn 方案默认全局,还得搞路由表,或第三方软件实现局部走 vpn |
20
anjing01 2020-09-10 08:26:08 +08:00 1
不对外情况下,只开 ssh 端口,然后通过 ssh 代理访问 web/mysql ( xshell/secureCRT 都带这功能,或者 ssh -N -f -D
ssh -N -f -R ) 另外可以添加两条(如果是物理设备,还可添加一条外设接入告警): 1.登陆告警(从 /var/log/secure 里面去取登陆信息,发现登陆就触发邮件 /或者 WEBHOOK ) 2.链接告警( ss 获取创建链接情况,设置规则告警) |
21
594duck 2020-09-10 08:26:52 +08:00
你克隆 一台服务器,然后把 IP 暴露出来,我们帮你看看不就知道了。
|
22
ob OP 谢谢各位,上面提到的安全措施都很有帮助,这边会慢慢把该加防的加一下。
|
23
clf 2020-09-10 08:44:17 +08:00
我之前是用 docker 搭的环境,内部的所有容器,除了 nginx 对外开放端口,其它的数据库什么的全部是走的 docker 网络,并且限制本地连接。ssh 仅允许指定 IP 连接,端口也改了。
|
24
xuanbg 2020-09-10 08:45:43 +08:00
阿里云安全组对非 80/443 端口的访问做 IP 白名单!!!
|
25
ETiV 2020-09-10 08:50:28 +08:00 via iPhone
LS 们说的都是运行时环境的安全
数据安全也不能忘,记得时常备份数据…… 随时准备好机器磁盘挂掉的应对方案 再就是你自己阿里云账号密码的保管 |
26
nicevar 2020-09-10 09:01:47 +08:00 1
ssh 除了限制用户和尝试次数这些,端口非常有必要换,为什么呢,因为虽然换端口对于懂入侵的人来说没什么用,但是可以躲避大量自动扫描程序不断的暴力尝试,这种程序在代码里面都是写死了的默认端口
MySQL 的端口无论如何我都不建议开启外网访问,你进行再多的安全配置,一个未公开的漏洞就把你搞定了,而这种事在过去二十年里我遇到了好几次 |
27
ytmsdy 2020-09-10 09:16:51 +08:00 via iPhone 1
22 端口换成 3389
3306 端口换成 1433 把 web 应用运行的权限调整成 user 把重要文件文件夹的权限调整成只有 root 可以浏览,千万别把 web 的应用文件和重要文件放一起。 你现在最大的问题是 web 应用的安全性,如果有人入侵了,丢一个 webshell 上去。这些防火墙的配置都白瞎! |
28
hijoker 2020-09-10 09:27:42 +08:00
ssh 不要 root 登录,不要使用密码登录,使用公钥, 任何软件不要使用默认端口,fail2ban 或者 denyhost 用起来,能不把端口暴露在公网就不要暴露
|
29
l4ever 2020-09-10 09:32:05 +08:00 1
搞跳板机, ssh 只允许跳板机连接
|
30
l4ever 2020-09-10 09:32:41 +08:00
ssh 还可以搞两步验证, 或者 port knocking
|
31
anUglyDog 2020-09-10 09:41:33 +08:00
|
32
zarte 2020-09-10 09:44:42 +08:00
ssh 端口改了就算用密码登录密码复杂点就 ok:这个就不信有人人进。
mysql 这个没人硬破密码复杂点。 web 这个危险,主要是自己写的代码漏洞可以自己扫扫看。 |
33
zhenjiangidc 2020-09-10 09:54:09 +08:00
做了 8 年的,IDC,,, 朋友,,
如果只要你的业务对外,就没有绝对的安全。 最重要的 不要把重要的数据 只放一台设备上。 |
34
8520ccc 2020-09-10 11:41:50 +08:00
如果数据库不允许远程机器链接那大可把端口关掉~就算有需求你也可以用阿里云安全组开 IP 白名单~基本没啥问题了
|
35
jorneyr 2020-09-10 11:43:04 +08:00
目前阿里云防火墙允许的端口:3306
|
37
zc1249274251 2020-09-10 13:31:32 +08:00
鸡蛋不要放在一个篮子里 必啥都重要
|
38
light010 2020-09-10 13:31:46 +08:00
ip 白名单
|
39
nicevar 2020-09-10 13:32:58 +08:00
@ob 其实换端口没什么用,掩耳盗铃的意思,因为端口刺探的时候会返回信息,直接能判断了,你尝试 telnet 一下 MySQL 的端口就知道了
|
40
519718366 2020-09-10 13:59:49 +08:00 via iPhone
个人用的服务器,资金安全?服务器里存了自己的各种账号密码?🤔
|
41
sdlzqjf 2020-09-10 14:00:37 +08:00
建议把 22 和 3306 端口换掉
|
42
LokiSharp 2020-09-10 14:05:01 +08:00
打开 SELinux 和自带的防火墙就足够了,换端口没意义,专业的扫端口工具都能判断端口特征
|
43
yc8332 2020-09-10 16:01:26 +08:00
除了 web 服务端口,ssh,其他不应该开放。。mysql 可以通过 ssh 隧道访问就好了。。。其他就还好了,还是你自己的程序是否有注入啥的。
|
44
lyi4ng 2020-09-10 16:21:06 +08:00 1
ssh 禁止 root 远程登录,服务用户整个 pam_radius 认证登录(pin+otp),整个 fail2ban,把端口改了,有能力的话修改一下 sshd 的 output 防止端口的服务识别
mysql 把端口改了,禁止 root 远程访问,把外联用户对于 information_schema 的权限调整一下 redis 别对外别空密码别弱密码 把 shell 换一下,能的话别用 bash 这种自带网络连接 feature 的(/dev/tcp) 阿里云盾的端口白名单开起来 能的话别用阿里云,用腾讯云(此条 5 毛,括号内删掉) |
45
parametrix 2020-09-10 19:06:08 +08:00 1
给的信息有限啊,一些一般性的建议是:
1. 禁止 root 远程登陆,禁止所有用户密码远程登陆。 2. 用 Docker 部署服务,应用间隔离,特别是把 web 服务隔离开。 3. 数据库没必要直接对外开放端口,每次用 ssh -L 拉回本地是更安全的做法。 4. 有效的数据备份十分重要。 |
46
aaa5838769 2020-09-10 19:34:26 +08:00
1 、修改 22 、3306 端口。
2 、禁止 root 远程登陆,使用普通用户密钥登陆,切换到 root 上。 3 、阿里云设置 IP 白名单。 |
47
YaakovZiv 2020-09-10 20:31:30 +08:00 2
|
48
NeroKamin 2020-09-10 22:27:53 +08:00
真心提问,为什么大家都推荐改端口啊?
|
49
s0nnse 2020-09-11 11:10:39 +08:00 1
root 只允许本地登陆(阿里云控制台),另建一个低权账户用来远程维护代码。web 应用用低权账户运行,mysql 关闭远程访问,看你站库一起的,使用 localhost 连接就可以了。web 应用找个免费的安全扫描工具扫一下。
|
50
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 小时。 |
51
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 |
52
tianshiyeben 2020-09-11 16:25:17 +08:00
试试上一套安全监控系统 很轻 www.wgstart.com
|
54
libook 2020-09-14 12:31:13 +08:00 2
默认端口能改就改,包括 SSH 的,避免定向扫描。
防火墙打开,打底规则所有端口的外网进出流量全部禁止,然后只开放必要的几个端口。 建议卸载 sudo,或者为了兼容一些管理脚本可以仅让 root 能用 sudo,普通用户切换 root 只能用 su 指令输入 root 的密码才能切过去。 SSH 登录 root 用户仅支持秘钥对,且给秘钥再配置密码,防止秘钥泄露。 建议 mysql 、redis 、web 服务(不仅限这几个)都不要对公网开放端口,走 VPN 或者 SSH 隧道让自己的客户端处于服务器的内网环境再经由内网访问这些服务的端口。 所有服务,能不跑在 root 用户上的都尽量不要跑在 root 用户上,各自的用户要把权限最小化配置。 系统频率至少每周都升级更新,特别是安全更新,补丁都要打好。 既然存的是重要的数据,当然也要有备份,而且是异地实时备份,异地的标准建议是两机器地理距离 30 公里以上(为了避免极端的天灾人祸)。为了避免引入脏备份,可以加入快照功能。 |