国内云服务器怎么做 ssh 安全防护

2022-01-04 11:31:09 +08:00
 Nazar1te

目前是几个云服用 wireguard 组了内网,然后 ssh 只允许 wireguard 网段访问

如:

Allowusers user1@10.0.0.*
Allowusers user2@10.0.0.*
Allowusers lighthouse@*
Allowusers admin@*

lighthouse 与 admin 分别是腾讯云和阿里云网页端的远程用户名。

还有其他推荐的方法吗?

6470 次点击
所在节点    Linux
42 条回复
adoal
2022-01-04 14:49:42 +08:00
0. 保护好自己干活用的桌面机是一切安全的根本。
1. 及时更新 /自动更新意义很大。
2. 改端口号意义不大,只是降低被扫到的概率,对于防范入侵本身而言没有影响。
3. 用公钥认证意义很大(其实不是证书,证书比这个复杂多了),另外公钥还可以另外加 pass pharse 再做到端的保护。
4. 在多台服务器之间人工交互操作穿梭或者拷文件时,不要服务器上生成私钥做信任,要用-A 或者-J 通过最初始的 agent 认证。
5. 高强度口令有一定意义(如果你不太能接受只允许公钥的话)。
6. PermitRootLogin 关了有一定意义。
7. 禁用 sudo 用 su 毫无意义而且可能适得其反,sudo 是可以配置很细的规则来限制访问的,而 su 就是一竿子到底。
8. fail2ban / sshguard 有一定意义,不过其实那些试口令的肉鸡不太可能突破只允许公钥认证的设置,就是图个清静。

不求全部认同,也不接受反驳。仅仅是自己的实践。
CoderLife
2022-01-04 14:52:47 +08:00
比较安全的, 后台做白名单
yaoyao1128
2022-01-04 14:54:36 +08:00
对了突然想起来以前用过后来觉得个人用意义不太大的一个功能 ssh 是可以进行 totp 二次认证的 安装一下谷歌验证器的 pam
www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-20-04
flexbug
2022-01-04 15:00:29 +08:00
用 fail2ban 拦截一下,在云防火墙那边给 22 端口设置白名单模式,只允许你们公司的 ip ,加上登录失败监控
dangyuluo
2022-01-04 15:06:04 +08:00
国内服务器和国外服务器的安全防护有区别么?
zlowly
2022-01-04 15:11:57 +08:00
@yaoyao1128
我是这样想象网络攻击的(没做过黑产,纯猜测):
如果我是攻击者,除非有内线有雇主目标明确之类,否则一般是全网撒网攻击。
通过自动化工具来扫描、木马、邮件之类俘获大批机器,而这些机器哪些是有价值深挖的,就通过进一步批量植入木马,进行磁盘文件扫描,浏览记录扫描等等,过滤出有价值机器。
而私钥文件太容易识别了,很容易被人针对。当攻击者知道自己掌握的的机器里有私钥文件,就有让他有进一步攻击的动机。因为个人机上的私钥,有可能管理着某个企业的大部分互联网资源,能榨取的价值显然比个人更高。
Nazar1te
2022-01-04 16:27:50 +08:00
@yaoyao1128 谢谢,也是一种办法,正好手头有 canokey
yaoyao1128
2022-01-04 16:39:12 +08:00
@Nazar1te !那你可以直接用实体设备认证了 openssh 现在支持 u2f/fido 兼容的 key
zong400
2022-01-04 16:41:00 +08:00
ssh 按楼上老师的做法都很靠谱,服务器被攻破一般不是源于 ssh 而是其他不安全的端口漏洞被利用
vicalloy
2022-01-04 16:47:31 +08:00
1. 改端口几乎没有用,端口一下就给你扫出来了。
2. private key 可以加 passphrase 做保护。用的时候加到 ssh-agent ,避免每次都要输入 passphrase 。注:mac 下将 passphrase 记到 key-chain ,然后 ssh-add -K 会自动 load private key
xzysaber
2022-01-04 16:50:24 +08:00
PasswordAuthentication no,这个也可以设置下,只公钥登录。
ishalla
2022-01-04 16:50:30 +08:00
用 key 替代密码,感觉基本就够了
alect
2022-01-04 17:49:11 +08:00
改端口+密钥登录一点儿事儿没有。
morphyhu
2022-01-04 18:13:41 +08:00
我们多加了一层。VPN--》 WINDOWS RDP -->JumpServer
chiuan
2022-01-04 18:39:11 +08:00
只允许公司内网一台机子登录 跳板机 再登录

其他设备都通过登录公司内网那台机子。例如通过 frp 登录内网机子。
arischow
2022-01-04 19:55:28 +08:00
https://goteleport.com/ 社区版也不错
YouKnowIt
2022-01-04 20:07:12 +08:00
@zlowly 一般不会针对你个人去搞你的个人计算机,用证书登录就行了。公网上的其实是一堆脚本小子瞎 jb 乱扫
lovelylain
2022-01-04 21:37:39 +08:00
防火墙禁用 ssh 端口,需要时通过其他方式启动 frp 进行中转。
rastars
2022-01-04 21:46:03 +08:00
高段位端口+ed25519 密钥登陆,注意保管好密钥,基本上没问题
cwcc
2022-01-04 21:58:01 +08:00
其实国内还更安全一点,国外的服务器只要是个公网 IP ,基本上不换端口是 100 的扫描量,换了端口是 10 的扫描量(这里只做比较)。国内只要不是头铁,大厂上云服务器防止恶意登录措施还是挺齐全的,个人只要做好 SSH 强密码,证书登录,禁止 root 登录等常规措施就够了。

高级玩法可以搭建蜜罐,搞假的 SSH ,骗字典。

最佳实践方式和各大企业内网搭建方式一样,做到内外分离,规划网络拓扑,从根源、防火墙等层面对接入进行限制,做好关键薄弱环节的审计。

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

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

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

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

© 2021 V2EX