跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 服务器安全请教
未分類
7 9 月 2020

服务器安全请教

服务器安全请教

資深大佬 : ob 5

不懂就问,目前有一台服务器存放一些对我很重要的数据,涉及到资金安全。
所以在安全这方面请教个各位还有什么需要做的。
环境:
阿里云服务器
系统:CentOS Linux release 7.8.2003
装的服务:mysql, redis, node
目前做的措施:
root 只允许 ssh 连接,禁止密码登录
mysql 开了 3306 端口,禁止 root 远程访问,新建了一个用户名
redis 设置密码,bind 本地 IP,外部不能连接
目前阿里云防火墙允许的端口:22,3306,以及一个 web 服务端口
系统自带防火墙暂时没开
目前就做了这些简单的,上面几个服务的默认端口有必要改吗?
请教下还有没有什么地方需要注意的?
谢谢各位。
大佬有話說 (53)

  • 資深大佬 : realpg

    找一个高阶运维

  • 主 資深大佬 : ob

    @realpg 个人使用小机,请不起,而且也不能让运维接触到数据,哈哈

  • 資深大佬 : zro

    感觉 3306 端口还是易受攻击,考虑加多层 WireGuard 吗?这样 3306 也可以 bind 本地。。

  • 資深大佬 : samv2

    默认端口当然要改,全部改成高位端口。
    防止各种扫描,或者未来 redis 漏洞啥的默认端口一扫就进去了

  • 資深大佬 : ladypxy

    mysql 为什么要开端口?就一台机器为什么不用 socks 连接? redis 同理

  • 資深大佬 : HAWCat

    默认端口有必要要改,个人用的话可以阿里云设置 IP 白名单,只允许部分 IP 能访问

  • 資深大佬 : blackeeper

    1,ssh 把默认 22 端口换了,然后装一个 fail2ban
    2,mysql 的 3306 端口也可以换掉,连接加上 tls,mysql 最好跟 redis 一样绑定本地 IP,navicat 连 mysql 可以走 ssh 通道
    3,mysql 数据库一定要做好定时备份

  • 主 資深大佬 : ob

    @samv2
    收到,默认端口过后调整一下。
    @ladypxy
    因为需要本地远程连上去,方便查看和修改表数据。socks 连接没用过,不太懂了。
    @HAWCat
    一直有个疑问,IP 白名单针对的是我的外网 IP 吧,那家用路由,IP 以经常变动,不固定的这种,如果设置白名单?

  • 主 資深大佬 : ob

    @blackeeper 谢谢,学到了,1,2 两招可以用上,第 3 的话,还好,因为 mysql 里面的数据不重要,哈哈

  • 資深大佬 : nightwitch

    机器要暴露公网服务吗,如果只有自己连接的话,所有的端口都关闭,只留 ssh 的端口就可以了,其他的端口都走 ssh 端口转发。

  • 主 資深大佬 : ob

    @nightwitch 可以不暴露公网,目前就 22,3306,和一个外网服务,外网服务可以关掉,3306 到时也关了走 ssh 。
    ssh 端口转发得再学习一下了,还没尝试过。

  • 資深大佬 : HAWCat

    可以观察一下 IPv4 和 IPv6 的变化是不是有规律的,有规律的话可以设置带子网掩码的 IP 地址为白名单

  • 資深大佬 : shequ2046

    如果是真的需要安全的话,其实很简单。
    防火墙 deny all
    然后自动获取并放行自己电脑的 IP 地址,
    再放行一个 fail safe 用的固定 IP 的备用主机就行了。
    这样就无敌了,就算有 0day 也打不中你。

  • 資深大佬 : shequ2046

    @HAWCat level 太低了,直接写个脚本自动获取需要放行的主机的 IP 地址就行了。

  • 資深大佬 : black11black

    一般是没问题的,linux 本身层面上除了修改 ssh 登录方式外还要加一个 fail2ban,基本免疫一切针对系统账号本身的攻击。剩下的业务端口这么设置一般也没问题,唯一能打到的是 0day,改端口可以增加一定安全性。我觉得不是涉及大资金安全的话这样完全够了,毕竟设计层面上唯一问题是 0day,因为我个人没见过 mysql 和 redis 因为 0day 被打的,可能是我孤陋寡闻。大资金再搞更细致的防火墙、IP 绑定之类的

  • 資深大佬 : luodaoyi

    端口全关 通讯使用 vpn wireguard 或者是 sslvpn 都可以
    只开放 ssh 使用密钥登录 和 vpn 的端口 其他端口全关

  • 資深大佬 : ecs

    如果想更安全的话,从白名单删除 3306 和 22 端口。只允许使用阿里云 ECS Workbench 远程登录。

  • 資深大佬 : xderam

    1 做好登陆日志的监控
    2 禁止 root 登陆
    3 别一台服务器 做好所有的数据备份
    4 除了 80 什么都不开。用的时候再去阿里云开 22 的指定 IP 权限。

  • 資深大佬 : yjd

    最近刚好准备用 public key 验证,ssh 转发功能,这样就可以只开 22 端口。其他非 80,443 就可以走隧道。其实最大漏洞是 80,443 的入侵。
    当然 web 是自己用不对外开放就全走隧道了,完事。
    vpn 方案默认全局,还得搞路由表,或第三方软件实现局部走 vpn

  • 資深大佬 : anjing01

    不对外情况下,只开 ssh 端口,然后通过 ssh 代理访问 web/mysql ( xshell/secureCRT 都带这功能,或者 ssh -N -f -D
    ssh -N -f -R )
    另外可以添加两条(如果是物理设备,还可添加一条外设接入告警):
    1.登陆告警(从 /var/log/secure 里面去取登陆信息,发现登陆就触发邮件 /或者 WEBHOOK )
    2.链接告警( ss 获取创建链接情况,设置规则告警)

  • 資深大佬 : 594duck

    你克隆 一台服务器,然后把 IP 暴露出来,我们帮你看看不就知道了。

  • 主 資深大佬 : ob

    谢谢各位,上面提到的安全措施都很有帮助,这边会慢慢把该加防的加一下。

  • 資深大佬 : lychs1998

    我之前是用 docker 搭的环境,内部的所有容器,除了 nginx 对外开放端口,其它的数据库什么的全部是走的 docker 网络,并且限制本地连接。ssh 仅允许指定 IP 连接,端口也改了。

  • 資深大佬 : xuanbg

    阿里云安全组对非 80/443 端口的访问做 IP 白名单!!!

  • 資深大佬 : ETiV

    LS 们说的都是运行时环境的安全

    数据安全也不能忘,记得时常备份数据……
    随时准备好机器磁盘挂掉的应对方案

    再就是你自己阿里云账号密码的保管

  • 資深大佬 : nicevar

    ssh 除了限制用户和尝试次数这些,端口非常有必要换,为什么呢,因为虽然换端口对于懂入侵的人来说没什么用,但是可以躲避大量自动扫描程序不断的暴力尝试,这种程序在代码里面都是写死了的默认端口
    MySQL 的端口无论如何我都不建议开启外网访问,你进行再多的安全配置,一个未公开的漏洞就把你搞定了,而这种事在过去二十年里我遇到了好几次

  • 資深大佬 : ytmsdy

    22 端口换成 3389
    3306 端口换成 1433
    把 web 应用运行的权限调整成 user
    把重要文件文件夹的权限调整成只有 root 可以浏览,千万别把 web 的应用文件和重要文件放一起。
    你现在最大的问题是 web 应用的安全性,如果有人入侵了,丢一个 webshell 上去。这些防火墙的配置都白瞎!

  • 資深大佬 : hijoker

    ssh 不要 root 登录,不要使用密码登录,使用公钥, 任何软件不要使用默认端口,fail2ban 或者 denyhost 用起来,能不把端口暴露在公网就不要暴露

  • 資深大佬 : l4ever

    搞跳板机, ssh 只允许跳板机连接

  • 資深大佬 : l4ever

    ssh 还可以搞两步验证, 或者 port knocking

  • 資深大佬 : anUglyDog

    https://yifeishu.com/view/article/7pz

  • 資深大佬 : zarte

    ssh 端口改了就算用密码登录密码复杂点就 ok:这个就不信有人人进。
    mysql 这个没人硬破密码复杂点。
    web 这个危险,主要是自己写的代码漏洞可以自己扫扫看。

  • 資深大佬 : zhenjiangidc

    做了 8 年的,IDC,,, 朋友,,
    如果只要你的业务对外,就没有绝对的安全。
    最重要的 不要把重要的数据 只放一台设备上。

  • 資深大佬 : 8520ccc

    如果数据库不允许远程机器链接那大可把端口关掉~就算有需求你也可以用阿里云安全组开 IP 白名单~基本没啥问题了

  • 資深大佬 : jorneyr

    目前阿里云防火墙允许的端口:3306

  • 主 資深大佬 : ob

    @ytmsdy 你这个换端口的思路不错,哈哈,专门拿来误导。

  • 資深大佬 : zc1249274251

    鸡蛋不要放在一个篮子里 必啥都重要

  • 資深大佬 : light010

    ip 白名单

  • 資深大佬 : nicevar

    @ob 其实换端口没什么用,掩耳盗铃的意思,因为端口刺探的时候会返回信息,直接能判断了,你尝试 telnet 一下 MySQL 的端口就知道了

  • 資深大佬 : 519718366

    个人用的服务器,资金安全?服务器里存了自己的各种账号密码?

  • 資深大佬 : sdlzqjf

    建议把 22 和 3306 端口换掉

  • 資深大佬 : LokiSharp

    打开 SELinux 和自带的防火墙就足够了,换端口没意义,专业的扫端口工具都能判断端口特征

  • 資深大佬 : yc8332

    除了 web 服务端口,ssh,其他不应该开放。。mysql 可以通过 ssh 隧道访问就好了。。。其他就还好了,还是你自己的程序是否有注入啥的。

  • 資深大佬 : lyi4ng

    ssh 禁止 root 远程登录,服务用户整个 pam_radius 认证登录(pin+otp),整个 fail2ban,把端口改了,有能力的话修改一下 sshd 的 output 防止端口的服务识别
    mysql 把端口改了,禁止 root 远程访问,把外联用户对于 information_schema 的权限调整一下
    redis 别对外别空密码别弱密码
    把 shell 换一下,能的话别用 bash 这种自带网络连接 feature 的(/dev/tcp)
    阿里云盾的端口白名单开起来

    能的话别用阿里云,用腾讯云(此条 5 毛,括号内删掉)

  • 資深大佬 : parametrix

    给的信息有限啊,一些一般性的建议是:

    1. 禁止 root 远程登陆,禁止所有用户密码远程登陆。
    2. 用 Docker 部署服务,应用间隔离,特别是把 web 服务隔离开。
    3. 数据库没必要直接对外开放端口,每次用 ssh -L 拉回本地是更安全的做法。
    4. 有效的数据备份十分重要。

  • 資深大佬 : aaa5838769

    1 、修改 22 、3306 端口。
    2 、禁止 root 远程登陆,使用普通用户密钥登陆,切换到 root 上。
    3 、阿里云设置 IP 白名单。

  • 資深大佬 : YaakovZiv

    看上给了很多专业的回答,站在业余的角度,我推荐方案一( https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/index )和方案二( https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index )

  • 資深大佬 : NeroKamin

    真心提问,为什么大家都推荐改端口啊?

  • 資深大佬 : s0nnse

    root 只允许本地登陆(阿里云控制台),另建一个低权账户用来远程维护代码。web 应用用低权账户运行,mysql 关闭远程访问,看你站库一起的,使用 localhost 连接就可以了。web 应用找个免费的安全扫描工具扫一下。

  • 資深大佬 : no1xsyzy

    @NeroKamin 不改日常被扫。虽然加上禁密码登录、fail2ban 等以后被直接拿到手可能性比较少,但一方面日志会比较少比较好筛,能够比较清楚地看出登录情况。
    另一方面,不排除以后暴出 0day,高端口能提供更多的缓冲时间(更新系统、对服务进行关停)。不改端口就是 30 分钟缓冲时间(只会更低,我打赌如果 ssh 公开一个 0day,不到 30 分钟内 0.0.0.0-255.255.255.255 的 22 端口会被全部扫一遍),改端口大约在 24 小时到 72 小时。

  • 資深大佬 : no1xsyzy

    @NeroKamin 15000+ 的高位端口大约每 4 天被扫到一次
    每次被扫都是 ssh http/1.1 ( GET / HTTP/1.1 ) http/2 ( GET / HTTP/2 ) TLS (26030102 ) 和一个不太清楚是什么协议的 03

  • 資深大佬 : tianshiyeben

    试试上一套安全监控系统 很轻 www.wgstart.com

  • 資深大佬 : NeroKamin

    @no1xsyzy 受教了,以前一直认为尽管改了端口还是会被扫到就认为没有太多用处,欠考虑了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具