目前是几个云服用 wireguard 组了内网,然后 ssh 只允许 wireguard 网段访问
如:
Allowusers [email protected].*
Allowusers [email protected].*
Allowusers lighthouse@*
Allowusers admin@*
lighthouse 与 admin 分别是腾讯云和阿里云网页端的远程用户名。
还有其他推荐的方法吗?
1
anonydmer 2022-01-04 11:42:05 +08:00
我们的方法:
|
2
anonydmer 2022-01-04 11:42:35 +08:00 1
1. 只允许跳板机登录
2. 跳板机要用 vpn 登录 |
3
huangmingyou 2022-01-04 11:45:01 +08:00
禁用密码登陆,通过跳板机控制好证书
|
4
mineralsalt 2022-01-04 11:49:11 +08:00 1
不要搞弱密码, SSH 非常安全, 不要庸人自扰, 随机一串大小写特殊字符的密码, 超级计算机出马都没用
|
5
RangerWolf 2022-01-04 11:49:27 +08:00
|
6
zlowly 2022-01-04 12:00:39 +08:00 1
同意 4 楼的。
openssh 的真正有危害性的严重漏洞好像就那几个,打好补丁的情况下,强密码配合 fail2ban 即可,只要密码不泄露,就无需过多其他忧虑。 另外个人认为其实大部分情况下做好管理的密码,比证书更安全。存放了证书的个人计算机,它的防护往往是更弱,漏洞更多的。 |
7
tubowen 2022-01-04 12:01:10 +08:00 via Android 1
改默认端口,用公私钥对登录
|
8
steptodream 2022-01-04 12:04:07 +08:00
@zlowly 证书也可以加密码啊, 莫非大家用证书都用的无密码模式。
|
9
yaoyao1128 2022-01-04 12:09:59 +08:00 via iPhone 1
禁止默认账户(云服务厂商的用户)
实在需要登陆的时候 vnc 登陆 善于使用安全组的话 关闭所有 ssh 的端口 需要的时候通过 api 或者页面再打开 @zlowly 部分同意 但是密钥都能泄漏的场景密码一般也能得到 但是密码能获取的场景密钥不一定能得到 因为刚接触服务器的时候开 22 被一堆地址同时扫过 ssh 所以个人感觉加密的密钥才是相对安全的 |
10
ragnaroks 2022-01-04 12:10:46 +08:00 1
禁止 root 远程登录,卸载 sudo ,需要提权时预先 su root 并使用定时更换的密码(我是 cron.daily 对当前日期取 sha1 设为密码)
|
12
Nazar1te OP @mineralsalt 主要是原来有一台计算云服被攻击用来挖矿了,当时那台机器开了公网 22 和 3306 ,密码也不算简单,所以想上 v2 来问下
|
13
gesse 2022-01-04 12:23:47 +08:00 1
修改默认端口+fail2ban+ssh 密钥对,难道还不够?
|
15
Nazar1te OP @yaoyao1128 谢谢指导,ssh 端口全禁,通过页面打开稍微麻烦了点,api 可以考虑一下。另外请教下怎么看自己的端口有没有被扫过
|
16
yaoyao1128 2022-01-04 12:42:51 +08:00 via iPhone
@Nazar1te 扫端口不太了解了 我是看 ssh 日志和 fail2ban 的列表出现一堆……阿里云不太了解轻量 普通的云服务器安全组可以用 app 控制 api 的话 key 一定要保存好
|
17
xuanbg 2022-01-04 13:02:25 +08:00
IP 白名单
|
18
iqoo 2022-01-04 14:03:48 +08:00 1
|
19
zlowly 2022-01-04 14:26:30 +08:00
@yaoyao1128
@steptodream 在我接触的环境里,空 passphrase 并不少见,弱 passphrase 暴力破解更是容易,当然这和各人安全防范意识相关。 而且常常为了使用方便,都用各种 agent 先 load 私钥,理论上就存在可被窃取的安全隐患。 安全木桶上短板越多越不安全啊。 当然安全风险还是要自己根据自己环境评估的,在不和互联网联通的内部网络我就是用私钥的。 |
20
yaoyao1128 2022-01-04 14:38:37 +08:00 via iPhone
@zlowly 主要是 key 的话 攻击手段只能是针对现有正在使用的设备进行攻击 即使有了 key 也不能无差别的攻击 而密码的话 攻击点可以是多个 无差别攻击的人只需要随便尝试 而 key 丢失场景我觉得基本上是你电脑已经中招了 如果是用 agent 的话能想到窃取 key 的人一定能想到窃取密码和服务器地址 而不是被 agent 得到的话一般得到文件也不一定能知道密码和地址( ps 个人觉得 ssh 的 knownhosts 很不安全)
|
21
adoal 2022-01-04 14:49:42 +08:00 3
0. 保护好自己干活用的桌面机是一切安全的根本。
1. 及时更新 /自动更新意义很大。 2. 改端口号意义不大,只是降低被扫到的概率,对于防范入侵本身而言没有影响。 3. 用公钥认证意义很大(其实不是证书,证书比这个复杂多了),另外公钥还可以另外加 pass pharse 再做到端的保护。 4. 在多台服务器之间人工交互操作穿梭或者拷文件时,不要服务器上生成私钥做信任,要用-A 或者-J 通过最初始的 agent 认证。 5. 高强度口令有一定意义(如果你不太能接受只允许公钥的话)。 6. PermitRootLogin 关了有一定意义。 7. 禁用 sudo 用 su 毫无意义而且可能适得其反,sudo 是可以配置很细的规则来限制访问的,而 su 就是一竿子到底。 8. fail2ban / sshguard 有一定意义,不过其实那些试口令的肉鸡不太可能突破只允许公钥认证的设置,就是图个清静。 不求全部认同,也不接受反驳。仅仅是自己的实践。 |
22
CoderLife 2022-01-04 14:52:47 +08:00
比较安全的, 后台做白名单
|
23
yaoyao1128 2022-01-04 14:54:36 +08:00 via iPhone
对了突然想起来以前用过后来觉得个人用意义不太大的一个功能 ssh 是可以进行 totp 二次认证的 安装一下谷歌验证器的 pam
www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-20-04 |
24
flexbug 2022-01-04 15:00:29 +08:00
用 fail2ban 拦截一下,在云防火墙那边给 22 端口设置白名单模式,只允许你们公司的 ip ,加上登录失败监控
|
25
dangyuluo 2022-01-04 15:06:04 +08:00
国内服务器和国外服务器的安全防护有区别么?
|
26
zlowly 2022-01-04 15:11:57 +08:00
@yaoyao1128
我是这样想象网络攻击的(没做过黑产,纯猜测): 如果我是攻击者,除非有内线有雇主目标明确之类,否则一般是全网撒网攻击。 通过自动化工具来扫描、木马、邮件之类俘获大批机器,而这些机器哪些是有价值深挖的,就通过进一步批量植入木马,进行磁盘文件扫描,浏览记录扫描等等,过滤出有价值机器。 而私钥文件太容易识别了,很容易被人针对。当攻击者知道自己掌握的的机器里有私钥文件,就有让他有进一步攻击的动机。因为个人机上的私钥,有可能管理着某个企业的大部分互联网资源,能榨取的价值显然比个人更高。 |
27
Nazar1te OP @yaoyao1128 谢谢,也是一种办法,正好手头有 canokey
|
28
yaoyao1128 2022-01-04 16:39:12 +08:00 via iPhone
@Nazar1te !那你可以直接用实体设备认证了 openssh 现在支持 u2f/fido 兼容的 key
|
29
zong400 2022-01-04 16:41:00 +08:00
ssh 按楼上老师的做法都很靠谱,服务器被攻破一般不是源于 ssh 而是其他不安全的端口漏洞被利用
|
30
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 |
31
xzysaber 2022-01-04 16:50:24 +08:00
PasswordAuthentication no,这个也可以设置下,只公钥登录。
|
32
ishalla 2022-01-04 16:50:30 +08:00
用 key 替代密码,感觉基本就够了
|
33
alect 2022-01-04 17:49:11 +08:00
改端口+密钥登录一点儿事儿没有。
|
34
morphyhu 2022-01-04 18:13:41 +08:00
我们多加了一层。VPN--》 WINDOWS RDP -->JumpServer
|
35
chiuan 2022-01-04 18:39:11 +08:00
只允许公司内网一台机子登录 跳板机 再登录
其他设备都通过登录公司内网那台机子。例如通过 frp 登录内网机子。 |
36
arischow 2022-01-04 19:55:28 +08:00 via iPhone 2
https://goteleport.com/ 社区版也不错
|
38
lovelylain 2022-01-04 21:37:39 +08:00 via Android
防火墙禁用 ssh 端口,需要时通过其他方式启动 frp 进行中转。
|
39
rastars 2022-01-04 21:46:03 +08:00
高段位端口+ed25519 密钥登陆,注意保管好密钥,基本上没问题
|
40
cwcc 2022-01-04 21:58:01 +08:00 1
其实国内还更安全一点,国外的服务器只要是个公网 IP ,基本上不换端口是 100 的扫描量,换了端口是 10 的扫描量(这里只做比较)。国内只要不是头铁,大厂上云服务器防止恶意登录措施还是挺齐全的,个人只要做好 SSH 强密码,证书登录,禁止 root 登录等常规措施就够了。
高级玩法可以搭建蜜罐,搞假的 SSH ,骗字典。 最佳实践方式和各大企业内网搭建方式一样,做到内外分离,规划网络拓扑,从根源、防火墙等层面对接入进行限制,做好关键薄弱环节的审计。 |
41
iphoneXr 2022-01-10 16:49:11 +08:00
服务器没有公网 IP 只有私网 IP 的情况下 一般都比较安全!
|
42
iphoneXr 2022-01-10 16:49:57 +08:00
目前我司的服务器基本都是 SLB 来做入口流量 SNAT 来做出口流量。
|