|  |      1realpg PRO 找一个高阶运维 | 
|  |      3zro      2020-09-09 21:03:09 +08:00  1 感觉 3306 端口还是易受攻击,考虑加多层 WireGuard 吗?这样 3306 也可以 bind 本地。。 | 
|      4samv2      2020-09-09 21:05:14 +08:00  1 默认端口当然要改,全部改成高位端口。 防止各种扫描,或者未来 redis 漏洞啥的默认端口一扫就进去了 | 
|      5Dragonish3600      2020-09-09 21:06:15 +08:00  1 mysql 为什么要开端口?就一台机器为什么不用 socks 连接? redis 同理 | 
|  |      6HAWCat      2020-09-09 21:07:05 +08:00 via Android  1 默认端口有必要要改,个人用的话可以阿里云设置 IP 白名单,只允许部分 IP 能访问 | 
|  |      7blackeeper      2020-09-09 21:10:46 +08:00  1 1,ssh 把默认 22 端口换了,然后装一个 fail2ban 2,mysql 的 3306 端口也可以换掉,连接加上 tls,mysql 最好跟 redis 一样绑定本地 IP,navicat 连 mysql 可以走 ssh 通道 3,mysql 数据库一定要做好定时备份 | 
|  |      8ob OP | 
|  |      9ob OP @blackeeper 谢谢,学到了,1,2 两招可以用上,第 3 的话,还好,因为 mysql 里面的数据不重要,哈哈 | 
|      10nightwitch      2020-09-09 21:17:10 +08:00  1 机器要暴露公网服务吗,如果只有自己连接的话,所有的端口都关闭,只留 ssh 的端口就可以了,其他的端口都走 ssh 端口转发。 | 
|  |      11ob OP @nightwitch 可以不暴露公网,目前就 22,3306,和一个外网服务,外网服务可以关掉,3306 到时也关了走 ssh 。 ssh 端口转发得再学习一下了,还没尝试过。 | 
|  |      12HAWCat      2020-09-09 21:25:42 +08:00 via Android 可以观察一下 IPv4 和 IPv6 的变化是不是有规律的,有规律的话可以设置带子网掩码的 IP 地址为白名单 | 
|  |      13shequ2046      2020-09-09 21:49:39 +08:00  1 如果是真的需要安全的话,其实很简单。 防火墙 deny all 然后自动获取并放行自己电脑的 IP 地址, 再放行一个 fail safe 用的固定 IP 的备用主机就行了。 这样就无敌了,就算有 0day 也打不中你。 | 
|  |      15black11black      2020-09-09 21:54:14 +08:00  1 一般是没问题的,linux 本身层面上除了修改 ssh 登录方式外还要加一个 fail2ban,基本免疫一切针对系统账号本身的攻击。剩下的业务端口这么设置一般也没问题,唯一能打到的是 0day,改端口可以增加一定安全性。我觉得不是涉及大资金安全的话这样完全够了,毕竟设计层面上唯一问题是 0day,因为我个人没见过 mysql 和 redis 因为 0day 被打的,可能是我孤陋寡闻。大资金再搞更细致的防火墙、IP 绑定之类的 | 
|      16asuraa      2020-09-09 21:57:49 +08:00  1 端口全关 通讯使用 vpn  wireguard 或者是 sslvpn 都可以 只开放 ssh 使用密钥登录 和 vpn 的端口 其他端口全关 | 
|  |      17ecs      2020-09-10 00:36:49 +08:00 如果想更安全的话,从白名单删除 3306 和 22 端口。只允许使用阿里云 ECS Workbench 远程登录。 | 
|  |      18xderam      2020-09-10 01:36:19 +08:00  1 1 做好登陆日志的监控 2 禁止 root 登陆 3 别一台服务器 做好所有的数据备份 4 除了 80 什么都不开。用的时候再去阿里云开 22 的指定 IP 权限。 | 
|  |      19yjd      2020-09-10 07:46:33 +08:00 via Android 最近刚好准备用 public key 验证,ssh 转发功能,这样就可以只开 22 端口。其他非 80,443 就可以走隧道。其实最大漏洞是 80,443 的入侵。 当然 web 是自己用不对外开放就全走隧道了,完事。 vpn 方案默认全局,还得搞路由表,或第三方软件实现局部走 vpn | 
|      20anjing01      2020-09-10 08:26:08 +08:00  1 不对外情况下,只开 ssh 端口,然后通过 ssh 代理访问 web/mysql ( xshell/secureCRT 都带这功能,或者 ssh -N -f -D  ssh -N -f -R ) 另外可以添加两条(如果是物理设备,还可添加一条外设接入告警): 1.登陆告警(从 /var/log/secure 里面去取登陆信息,发现登陆就触发邮件 /或者 WEBHOOK ) 2.链接告警( ss 获取创建链接情况,设置规则告警) | 
|  |      21594duck      2020-09-10 08:26:52 +08:00 你克隆 一台服务器,然后把 IP 暴露出来,我们帮你看看不就知道了。 | 
|  |      22ob OP 谢谢各位,上面提到的安全措施都很有帮助,这边会慢慢把该加防的加一下。 | 
|  |      23clf      2020-09-10 08:44:17 +08:00 我之前是用 docker 搭的环境,内部的所有容器,除了 nginx 对外开放端口,其它的数据库什么的全部是走的 docker 网络,并且限制本地连接。ssh 仅允许指定 IP 连接,端口也改了。 | 
|  |      24xuanbg      2020-09-10 08:45:43 +08:00 阿里云安全组对非 80/443 端口的访问做 IP 白名单!!! | 
|  |      25ETiV      2020-09-10 08:50:28 +08:00 via iPhone LS 们说的都是运行时环境的安全 数据安全也不能忘,记得时常备份数据…… 随时准备好机器磁盘挂掉的应对方案 再就是你自己阿里云账号密码的保管 | 
|      26nicevar      2020-09-10 09:01:47 +08:00  1 ssh 除了限制用户和尝试次数这些,端口非常有必要换,为什么呢,因为虽然换端口对于懂入侵的人来说没什么用,但是可以躲避大量自动扫描程序不断的暴力尝试,这种程序在代码里面都是写死了的默认端口 MySQL 的端口无论如何我都不建议开启外网访问,你进行再多的安全配置,一个未公开的漏洞就把你搞定了,而这种事在过去二十年里我遇到了好几次 | 
|  |      27ytmsdy      2020-09-10 09:16:51 +08:00 via iPhone  1 22 端口换成 3389 3306 端口换成 1433 把 web 应用运行的权限调整成 user 把重要文件文件夹的权限调整成只有 root 可以浏览,千万别把 web 的应用文件和重要文件放一起。 你现在最大的问题是 web 应用的安全性,如果有人入侵了,丢一个 webshell 上去。这些防火墙的配置都白瞎! | 
|  |      28hijoker      2020-09-10 09:27:42 +08:00 ssh 不要 root 登录,不要使用密码登录,使用公钥, 任何软件不要使用默认端口,fail2ban 或者 denyhost 用起来,能不把端口暴露在公网就不要暴露 | 
|      29luckyc      2020-09-10 09:32:05 +08:00  1 搞跳板机, ssh 只允许跳板机连接 | 
|      30luckyc      2020-09-10 09:32:41 +08:00 ssh 还可以搞两步验证, 或者 port knocking | 
|  |      31anUglyDog      2020-09-10 09:41:33 +08:00 | 
|      32zarte      2020-09-10 09:44:42 +08:00 ssh 端口改了就算用密码登录密码复杂点就 ok:这个就不信有人人进。 mysql 这个没人硬破密码复杂点。 web 这个危险,主要是自己写的代码漏洞可以自己扫扫看。 | 
|      33zhenjiangidc      2020-09-10 09:54:09 +08:00 做了 8 年的,IDC,,,   朋友,, 如果只要你的业务对外,就没有绝对的安全。 最重要的 不要把重要的数据 只放一台设备上。 | 
|      348520ccc      2020-09-10 11:41:50 +08:00 如果数据库不允许远程机器链接那大可把端口关掉~就算有需求你也可以用阿里云安全组开 IP 白名单~基本没啥问题了 | 
|      35jorneyr      2020-09-10 11:43:04 +08:00 目前阿里云防火墙允许的端口:3306 | 
|      37zc1249274251      2020-09-10 13:31:32 +08:00 鸡蛋不要放在一个篮子里 必啥都重要 | 
|      38light010      2020-09-10 13:31:46 +08:00 ip 白名单 | 
|      39nicevar      2020-09-10 13:32:58 +08:00 @ob 其实换端口没什么用,掩耳盗铃的意思,因为端口刺探的时候会返回信息,直接能判断了,你尝试 telnet 一下 MySQL 的端口就知道了 | 
|  |      40519718366      2020-09-10 13:59:49 +08:00 via iPhone 个人用的服务器,资金安全?服务器里存了自己的各种账号密码?🤔 | 
|      41sdlzqjf      2020-09-10 14:00:37 +08:00 建议把 22 和 3306 端口换掉 | 
|  |      42LokiSharp      2020-09-10 14:05:01 +08:00 打开 SELinux 和自带的防火墙就足够了,换端口没意义,专业的扫端口工具都能判断端口特征 | 
|      43yc8332      2020-09-10 16:01:26 +08:00 除了 web 服务端口,ssh,其他不应该开放。。mysql 可以通过 ssh 隧道访问就好了。。。其他就还好了,还是你自己的程序是否有注入啥的。 | 
|  |      44lyi4ng      2020-09-10 16:21:06 +08:00  1 ssh 禁止 root 远程登录,服务用户整个 pam_radius 认证登录(pin+otp),整个 fail2ban,把端口改了,有能力的话修改一下 sshd 的 output 防止端口的服务识别 mysql 把端口改了,禁止 root 远程访问,把外联用户对于 information_schema 的权限调整一下 redis 别对外别空密码别弱密码 把 shell 换一下,能的话别用 bash 这种自带网络连接 feature 的(/dev/tcp) 阿里云盾的端口白名单开起来 能的话别用阿里云,用腾讯云(此条 5 毛,括号内删掉) | 
|  |      45parametrix      2020-09-10 19:06:08 +08:00  1 给的信息有限啊,一些一般性的建议是: 1. 禁止 root 远程登陆,禁止所有用户密码远程登陆。 2. 用 Docker 部署服务,应用间隔离,特别是把 web 服务隔离开。 3. 数据库没必要直接对外开放端口,每次用 ssh -L 拉回本地是更安全的做法。 4. 有效的数据备份十分重要。 | 
|  |      46aaa5838769      2020-09-10 19:34:26 +08:00 1 、修改 22 、3306 端口。 2 、禁止 root 远程登陆,使用普通用户密钥登陆,切换到 root 上。 3 、阿里云设置 IP 白名单。 | 
|  |      47YaakovZiv      2020-09-10 20:31:30 +08:00  2 | 
|      48NeroKamin      2020-09-10 22:27:53 +08:00 真心提问,为什么大家都推荐改端口啊? | 
|      49s0nnse      2020-09-11 11:10:39 +08:00  1 root 只允许本地登陆(阿里云控制台),另建一个低权账户用来远程维护代码。web 应用用低权账户运行,mysql 关闭远程访问,看你站库一起的,使用 localhost 连接就可以了。web 应用找个免费的安全扫描工具扫一下。 | 
|  |      50no1xsyzy      2020-09-11 11:23:53 +08:00 @NeroKamin 不改日常被扫。虽然加上禁密码登录、fail2ban 等以后被直接拿到手可能性比较少,但一方面日志会比较少比较好筛,能够比较清楚地看出登录情况。 另一方面,不排除以后暴出 0day,高端口能提供更多的缓冲时间(更新系统、对服务进行关停)。不改端口就是 30 分钟缓冲时间(只会更低,我打赌如果 ssh 公开一个 0day,不到 30 分钟内 0.0.0.0-255.255.255.255 的 22 端口会被全部扫一遍),改端口大约在 24 小时到 72 小时。 | 
|  |      51no1xsyzy      2020-09-11 11:27:21 +08:00 @NeroKamin 15000+ 的高位端口大约每 4 天被扫到一次 每次被扫都是 ssh http/1.1 ( GET / HTTP/1.1 ) http/2 ( GET / HTTP/2 ) TLS (\026\003\001\002 ) 和一个不太清楚是什么协议的 \003 | 
|  |      52tianshiyeben      2020-09-11 16:25:17 +08:00 试试上一套安全监控系统 很轻 www.wgstart.com | 
|  |      54libook      2020-09-14 12:31:13 +08:00  2 默认端口能改就改,包括 SSH 的,避免定向扫描。 防火墙打开,打底规则所有端口的外网进出流量全部禁止,然后只开放必要的几个端口。 建议卸载 sudo,或者为了兼容一些管理脚本可以仅让 root 能用 sudo,普通用户切换 root 只能用 su 指令输入 root 的密码才能切过去。 SSH 登录 root 用户仅支持秘钥对,且给秘钥再配置密码,防止秘钥泄露。 建议 mysql 、redis 、web 服务(不仅限这几个)都不要对公网开放端口,走 VPN 或者 SSH 隧道让自己的客户端处于服务器的内网环境再经由内网访问这些服务的端口。 所有服务,能不跑在 root 用户上的都尽量不要跑在 root 用户上,各自的用户要把权限最小化配置。 系统频率至少每周都升级更新,特别是安全更新,补丁都要打好。 既然存的是重要的数据,当然也要有备份,而且是异地实时备份,异地的标准建议是两机器地理距离 30 公里以上(为了避免极端的天灾人祸)。为了避免引入脏备份,可以加入快照功能。 |