今天刚买的阿里云 玩了一会 docker 开放了 22 端口和 docker 的默认端口 就报警说有挖矿程序 纯小白 请问改怎么做能尽量避免此类情况 求指点
1
me221 2022-11-07 17:55:42 +08:00
设置仅密钥登录, 限制 IP
但如果服务器不对外开放的话... 建议用 WireGuard |
2
GoRoad 2022-11-07 17:56:27 +08:00
22 端口一般是没事的 主要是 2379 端口 不开就行了
|
3
GoRoad 2022-11-07 17:57:06 +08:00
22 端口密码设置复杂一些问题不大的
|
4
opengps 2022-11-07 18:02:48 +08:00
几个基本点做到了足够应付 90%的问题:
1 ,公网一定不能密码 2 ,用不到的端口不开,用到的端口如果可以使用非默认端口最好,管理型用途端口配合白名单 ip 3 ,堵住自身系统漏洞,别 443 的网站发布一个随意上传文件之类的漏洞 4 ,经常检查,以便于识别出可疑文件,可疑进程,可疑资源占用等风险点 5 ,其他 |
5
masker 2022-11-07 18:05:31 +08:00 via Android
只开 sshd 。
用公钥进行 ssh 连接,关闭密码连接,关闭 root 用户连接 测试就搞个 tailscale ,想用啥端口用啥端口,不用过防火墙 |
6
cweijan 2022-11-07 18:55:35 +08:00
禁用密码登录, 改为私钥登录
|
7
wu67 2022-11-07 21:33:00 +08:00
上面几位已经说完了.
不用密码, 用 key 登录, 关掉 root 关掉所有端口, 只留自己用到的. 吐槽一下, 这两点 aws 就做得挺好, 就是劳资已经忘记了切到 root 用户的密码是啥.... |
8
yiXu 2022-11-07 21:53:18 +08:00
如果要开放端口,更改下默认的端口。
|
9
xratzh 2022-11-07 21:55:05 +08:00
改高位数的端口。密码倒是无所谓。
重要的是,系统得带有自动备份。不畏惧 |
10
wangyu17455 2022-11-07 22:02:25 +08:00
用 tailscale 组虚拟网,禁 ping 然后不开任何端口,服务器搞炸了就用 vnc 上去修,保证不出问题
|
11
yogogo 2022-11-07 22:04:29 +08:00
开启 SELinux
|
12
chaoschick 2022-11-07 22:10:52 +08:00 via Android
@cweijan 赞
|
13
whileFalse 2022-11-07 22:16:38 +08:00 via iPhone
@wu67 aws 直接用 session manager 啊
|
14
jiayouzl 2022-11-07 22:21:15 +08:00
密码复杂点,不需要私钥的.
|
15
wu67 2022-11-07 22:30:05 +08:00
@whileFalse 布吉岛. 我只是用来跑一下 v2 aria2 ftp, 别的就不管了, 反正现在能跑, 哪天炸了我直接重装算了
|
16
javerlei 2022-11-07 22:34:39 +08:00
ssh 跟换端口,使用秘钥登录,或者直接限制内网登录( wg 搭建内网),应用使用容器进行部署。
|
17
hingle 2022-11-07 22:43:09 +08:00 1
楼上居然没有人提到 docker ,这一看就是开放了 docker 端口造成的。
可以本地安装一个 docker cli ,配置一下,直接能操作远程的 docker 。 |
18
QN2107 2022-11-08 00:22:50 +08:00
同小白,希望路过的大佬给看下,我的问题是 我的服务器准备到期了,打算重新买一个轻量的( 1 核 2g 2 核 4g 带宽 5M ?),不知道哪有比较便宜的呢?背景是 我不是 aliyun 和腾讯云的新用户 学生认证的已经用过了。感谢
|
19
wizardyhnr 2022-11-08 01:08:04 +08:00
ssh+2FA+fail2ban ,这个配置改不改端口无所谓,因为 brutal attack 触发 fail2ban 的规则就永 ban 了。
安装用官方方法,不要用一键安装脚本之类的,有的时候后门是你自己请进去的。装的软件越多,可能的漏洞就越多,所以按需安装,不要装一堆有用没用的。 用 webui 管理配置的程序,可以用 nginx 反代,这样不用的时候就关掉反代。 |
20
caomingjun 2022-11-08 02:04:12 +08:00 via Android
我目前是防火墙只开 22 ,只允许密钥登陆;所有服务都用 docker 管理,docker 不映射任何端口( web 服务一律走 cloudflare tunnel )
|
21
houzhishi 2022-11-08 05:08:25 +08:00
大家思路都狭隘了,ssh 不一定是好的入口,只要不是弱口令,很难进来。主要还是服务器跑的程序,可能是未授权访问,也可能存在已知漏洞。ssh 用了半天配置来加固,结果应用写了个 SQL 注入,这就尴尬了。
几点建议吧: 1 、谨慎开启各类服务,如果需要开启请更新最新版,以及配置安全策略(因为很多组件默认不开启安全措施)。几个月前的那次私有云泄露,就是因为默认对象储存无鉴权。也有人说了,问题可能就是你开放的 docker 服务。 2 、避免口令复用,以及弱口令。 3 、及时更新软件、系统。 基本就差不多了,最后带一句,刚刚开始学习,别在意这些,大不了重新装系统呗,谁都是从小白过来的。 |
22
sommio 2022-11-08 05:52:22 +08:00
楼上都假设一定要用 SSH (
实际上完全可以把 SSH 关了,在控制台网页 VNC 连接,只要关掉就不用在乎这个“攻击面”了 |
23
yaott2020 2022-11-08 08:19:40 +08:00 via Android
别用 22 端口
|
24
RRyo 2022-11-08 08:50:54 +08:00
改端口没啥用,高位端口一样有人扫,我这边家里防火墙检测到连续 3 次敏感端口扫描 ban ip, 因为高位端口 ban 掉的一周能上百
0. 不要使用来路不明的什么一键 xxx 脚本,软件自己根据手册安装配置,别把 root 权限就这么莫名其妙的交了 1. 如无必要不开放端口 /服务 2. 关掉 ssh 的密码登录,只用密钥登录 3. 把 fail2ban 装上,规则配好,有扫描 /入侵行为直接 ban 4. 定时升级对外暴露服务和系统的安全补丁 5. 定期检查如 /etc/passwd /etc/passwd- /etc/shadow /etc/shadow- ~/.ssh/known_hosts 这些敏感文件有无异常 |
25
0001110001011 2022-11-08 08:54:18 +08:00
楼上们说的都对,
我感觉 楼主中了这个坑 @yw121141111 我记得 docker-compose 里面的端口要 127.0.0.1:xxx:xxx 来映射, 不要 xxx:xxx 来映射, 不然就会有风险,暴露所有端口出去. |
26
oneisall8955 2022-11-08 08:59:13 +08:00 via Android
@0001110001011 安全策略组会禁掉外网的,没在策略组开,相当于本地了吧?
|
27
LinYa 2022-11-08 09:01:28 +08:00
@0001110001011 请问大佬可以举个例子吗?我没看明白 `docker-compose 里面的端口要 127.0.0.1:xxx:xxx 来映射`这段话?
|
28
GGGG430 2022-11-08 09:07:24 +08:00
privileged: true 把这个关了就行
|
29
Suaxi 2022-11-08 09:08:30 +08:00
密钥登录,改高位端口,装个 fail2ban ,还有谨慎使用一键脚本
|
30
azev 2022-11-08 09:23:39 +08:00
@caomingjun
cloudflare tunnel 国内速度怎么样? |
31
jackmod 2022-11-08 09:40:26 +08:00
ssh 包装在了 v2 的后面,ufw 只留了 tcp443 和 wireguard ,443 外面套了 cf 。
|
32
yulgang 2022-11-08 09:56:11 +08:00 3
|
33
caomingjun 2022-11-08 09:56:52 +08:00 via Android
@azev 我去年 2 月做过一次测试:
https://blog.caomingjun.com/cloudflare-tunnel-speedtest/ 国内还是比较慢的。时间比较长,不一定准了。如果服务器在国内我还是不建议用,可以把防火墙限制到仅国内可以访问,攻击面小很多。 |
34
dongtingyue 2022-11-08 10:00:53 +08:00
|
35
wizardyhnr 2022-11-08 10:17:06 +08:00
楼上正好给了个一键脚本的案例,像这种脚本都是要 root 权限的,所以运行脚本之前最好都自己审查一遍脚本确保没问题。
|
36
weeei 2022-11-08 10:26:40 +08:00
使用 UFW 设置只允许服务需要的端口。
就不用担心 Docker 设置不当对外暴露端口的问题了。 SSH 设置为仅允许 Key 登录,不允许 root 登录。最好也更改的 22 端口为其他的 |
37
vone 2022-11-08 10:26:59 +08:00
ssh 密钥发一下,我帮你看看。
|
38
lujiaosama 2022-11-08 10:27:19 +08:00
@hingle 对的. docker 映射端口会直接暴露. 我纳闷了好久才发现.
|
39
tommyzhang 2022-11-08 11:15:04 +08:00
目前是官网网页登录 外部不可 ssh 其他的就是服务不要有漏洞
|
40
MMMMMMMMMMMMMMMM 2022-11-08 11:15:39 +08:00
自动化渗透脚本扫一下,metasploit 之类的
没有已经公开了的漏洞就算很安全了,能挖 0day 的也不会来专门黑你 |
41
jones2000 2022-11-08 13:30:02 +08:00
买杀毒软件装一个就行了。
|
42
Bijiabo 2022-11-08 13:39:55 +08:00
楼上都说得很好,我再补充一个关键点:不要用阿里云
|
43
TsukiMori 2022-11-08 13:48:06 +08:00
VPS 就是密钥登陆+尽量不开端口
NAS 就是路由器防火墙不开 web 之外的端口 |
44
cheng6563 2022-11-08 13:54:45 +08:00
只对公众暴露 80 和 443 端口。ssh 用的 22 端口改成高位端口,比如 49214 什么的,然后每次登录都去安全组把自己的 IP 加白名单。
用阿里云面板上的安全组功能控制,系统内的防火墙可以关掉。 |
45
ltkun 2022-11-08 14:10:33 +08:00
每次用好 ssh 关闭端口 这是公网服务器的基本原则哈
|
46
terencelau 2022-11-08 14:11:32 +08:00
看看是不是 docker 开了 2375 端口,容易被提权
|
47
onice 2022-11-08 14:42:27 +08:00
遵循最少服务原则,能不开的服务尽量不开。
所有服务采用普通用户权限运行。 软件包采用最新版本,定期升级。 确保服务的安全。比如开了 redis ,就不能空口令或弱口令。开了 web 站点,就要确保 web 站点没有 sql 注入,命令执行等漏洞。 |
48
gps949 2022-11-08 15:36:39 +08:00
1 、完全重做系统(保证系统用的是干净的官方版,最好阿里云的那些破 monitor 也别装)。
2 、防火墙(阿里云网络安全组)设置入方向全部关闭。 3 、使用阿里云登录(如 vnc ),在上面装个 tailscale 。可以开 tailscale ssh ,也可以单独开 ssh (但建议绑定 ssh 服务在 tailscale 的 100.x.x.x 接口上,如果修改 ssh 端口、使用公钥登录禁用密码登录就更好了)。 4 、后续都适用 tailscale 访问。 5 、使用 docker 的话,看楼上一堆说 2375 口的安全问题,但我记得默认是不开 2375 的,只是用 linux sock 访问的。如果需要使用 tcp 访问 docker api ,建议开启 docker api tcp 访问的双向 tls 加密。 6 、说句实在话,挖矿这东西大多数不是别人黑(登入)进你的设备给你装的,多半是你自己下载执行些程序搞的,尤其是玩 docker 的话,小心 docker 镜像被挂马或者挂挖矿脚本。 |
49
tonzeng 2022-11-08 17:29:24 +08:00
遠離 docker
|
50
abc0123xyz 2022-11-08 17:35:43 +08:00
网线拔了
|
51
webcape233 2022-11-08 17:39:02 +08:00 via iPhone
禁止 root 密码登陆
普通用户名和密码不要简单 比如 test test123 fail2ban 设置密码错误三次到五次就拉黑 1024000000 秒 防火墙除了必要的都不开 内核老的滚上新内核 装个 vpn 自己用、vpn 子网里面不做限制自己想开啥端口就开啥端口 |
52
radiocontroller 2022-11-08 17:44:08 +08:00
开 ssh ,我上去检查一下
|
53
zpfhbyx 2022-11-08 19:07:48 +08:00
加个 otp 基本可以解大部分了.
|
55
w3sun 2022-11-08 21:11:01 +08:00
改下 ssh 端口,ssh-keygen 创建密钥,修改 /etc/ssh/sshd_config 设置密钥登陆
|
56
dnsaq 2022-11-08 21:49:54 +08:00 via iPhone
主要考虑你跑的程序安全性就行了。系统默认就只有 sshd 端口而已,sshd 端口不要对外开放就是了。
|
57
Aixtuz 2022-11-08 23:02:28 +08:00 via iPhone
我是 vps 到手先这样:
1. ssh 新用户、用密钥、禁密码、禁 root ; 2. ufw 只开一部分要用的; 3. f2b 限制一下十分钟内的错误次数; 暂时没用别的,顺道请问一下路过的彦祖: 国外的 vps 用上面那些朋友说的 tailscale 方案,会不会因为过墙而被消灭?最近这段时间阵亡的比较严重… |
58
JohnBull 2022-11-08 23:25:04 +08:00
装一个 sshguard
|
59
MonoLogueChi 2022-11-08 23:35:58 +08:00 via Android
1 不用的端口不开
2 ssh 仅秘钥登录 3 不直接使用 root 账户,禁用 root 远程登录 4 最重要的一点,不明的程序不要运行,内部破坏是最容易的 |
60
Picmen 2022-11-09 15:34:54 +08:00
我服务器上面装的东西都没有对外开放的需求,就开了一个 WireGuard 端口,通过 WG 访问
|