
目前是几个云服用 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. 只允许跳板机登录 2. 跳板机要用 vpn 登录 |
3 huangmingyou 2022-01-04 11:45:01 +08:00 禁用密码登陆,通过跳板机控制好证书 |
4 mineralsalt 2022-01-04 11:49:11 +08:00 不要搞弱密码, SSH 非常安全, 不要庸人自扰, 随机一串大小写特殊字符的密码, 超级计算机出马都没用 |
5 RangerWolf 2022-01-04 11:49:27 +08:00 |
6 zlowly 2022-01-04 12:00:39 +08:00 同意 4 楼的。 openssh 的真正有危害性的严重漏洞好像就那几个,打好补丁的情况下,强密码配合 fail2ban 即可,只要密码不泄露,就无需过多其他忧虑。 另外个人认为其实大部分情况下做好管理的密码,比证书更安全。存放了证书的个人计算机,它的防护往往是更弱,漏洞更多的。 |
7 tubowen 2022-01-04 12:01:10 +08:00 via Android 改默认端口,用公私钥对登录 |
8 steptodream 2022-01-04 12:04:07 +08:00 @zlowly 证书也可以加密码啊, 莫非大家用证书都用的无密码模式。 |
9 yaoyaomoe 2022-01-04 12:09:59 +08:00 via iPhone 禁止默认账户(云服务厂商的用户) 实在需要登陆的时候 vnc 登陆 善于使用安全组的话 关闭所有 ssh 的端口 需要的时候通过 api 或者页面再打开 @zlowly 部分同意 但是密钥都能泄漏的场景密码一般也能得到 但是密码能获取的场景密钥不一定能得到 因为刚接触服务器的时候开 22 被一堆地址同时扫过 ssh 所以个人感觉加密的密钥才是相对安全的 |
10 ragnaroks 2022-01-04 12:10:46 +08:00 禁止 root 远程登录,卸载 sudo ,需要提权时预先 su root 并使用定时更换的密码(我是 cron.daily 对当前日期取 sha1 设为密码) |
12 Nazar1te OP @mineralsalt 主要是原来有一台计算云服被攻击用来挖矿了,当时那台机器开了公网 22 和 3306 ,密码也不算简单,所以想上 v2 来问下 |
13 strong>gesse 2022-01-04 12:23:47 +08:00 修改默认端口+fail2ban+ssh 密钥对,难道还不够? |
15 Nazar1te OP @yaoyao1128 谢谢指导,ssh 端口全禁,通过页面打开稍微麻烦了点,api 可以考虑一下。另外请教下怎么看自己的端口有没有被扫过 |
16 yaoyaomoe 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 |
19 zlowly 2022-01-04 14:26:30 +08:00 @yaoyao1128 @steptodream 在我接触的环境里,空 passphrase 并不少见,弱 passphrase 暴力破解更是容易,当然这和各人安全防范意识相关。 而且常常为了使用方便,都用各种 agent 先 load 私钥,理论上就存在可被窃取的安全隐患。 安全木桶上短板越多越不安全啊。 当然安全风险还是要自己根据自己环境评估的,在不和互联网联通的内部网络我就是用私钥的。 |
20 yaoyaomoe 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 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 yaoyaomoe 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 yaoyaomoe 2022-01-04 16:39:12 +08:00 via iPhone @Nazar1te !那你可以直接用实体设备认证了 openssh 现在支持 u2f/fido 兼容的 key |
29 ethsol 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 https://goteleport.com/ 社区版也不错 |
37 Jf35jxN3fwBXyeLh 2022-01-04 20:07:12 +08:00 @zlowly 一般不会针对你个人去搞你的个人计算机,用证书登录就行了。公网上的其实是一堆脚本小子瞎 jb 乱扫 |
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 其实国内还更安全一点,国外的服务器只要是个公网 IP ,基本上不换端口是 100 的扫描量,换了端口是 10 的扫描量(这里只做比较)。国内只要不是头铁,大厂上云服务器防止恶意登录措施还是挺齐全的,个人只要做好 SSH 强密码,证书登录,禁止 root 登录等常规措施就够了。 高级玩法可以搭建蜜罐,搞假的 SSH ,骗字典。 最佳实践方式和各大企业内网搭建方式一样,做到内外分离,规划网络拓扑,从根源、防火墙等层面对接入进行限制,做好关键薄弱环节的审计。 |
41 iphoneXr 2022-01-10 16:4911 +08:00 服务器没有公网 IP 只有私网 IP 的情况下 一般都比较安全! |
42 iphoneXr 2022-01-10 16:49:57 +08:00 目前我司的服务器基本都是 SLB 来做入口流量 SNAT 来做出口流量。 |