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