V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ioioioioioioi
V2EX  ›  程序员

关于网站安全的一点心得,和大家分享下

  •  
  •   ioioioioioioi · 2019-04-25 14:43:27 +08:00 · 5320 次点击
    这是一个创建于 2025 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 网站要备份,异地备份。 不想花钱的方法是 在本地 linux 电脑上定时运行 rsync
    2. 用 Acunetix 软件扫描网站
    3. 服务器取消 ssh 密码登录
    4. MySQL 不用 root
    5. 内部服务设置 IP 限制

    欢迎补充交流。

    ---
    这是我之前发的帖子: https://www.v2ex.com/t/548308#reply17

    后续就是黑客要比特币付款,不敢露出真面目。感觉上黑客来自土耳其。再后来我们一个数据库被删掉,我们也就断了和黑客交易的想法。

    然后就是内部查阅所有代码,修复了所有 SQL Injection 漏洞,各种 IP 限制等,目前还算平稳。

    对于在那个帖子说给点钱报答人家的,我也不骂你,祝你好运。
    34 条回复    2019-04-27 23:07:46 +08:00
    akira
        1
    akira  
       2019-04-25 14:55:49 +08:00
    3. 默认 22 端口修改掉,并使用密钥登陆 ,已经可以挡掉 99%的扫描了
    4. 3306 端口永远只对内网开放. 或者说,对外的端口 应该只有 ssh/ web,其他端口不应该对外.
    xabc
        2
    xabc  
       2019-04-25 14:57:27 +08:00
    楼主说句真心的,你这样的总结没有多少实际意义;
    我把网站安全做一个解决方案出来 xabcloud.com 欢迎批评
    xabc
        3
    xabc  
       2019-04-25 14:59:26 +08:00   ❤️ 1
    @akira 使用密钥登录了,何必多此一举更改大家公认的 22 标准端口,导致每来一个新员工,都要沟通一次国际公认的端口问题,个人觉得不应该破坏国际公认的标准,这种方案属于掩耳盗铃
    ebingtel
        4
    ebingtel  
       2019-04-25 15:00:09 +08:00
    @xabc 6 啊……收藏
    CallMeReznov
        5
    CallMeReznov  
       2019-04-25 15:03:52 +08:00
    1.改端口
    2.上 fail2ban
    3.禁密码用密钥


    99.99999%的问题会被隔绝.再出问题基本上那就是你本身业务的问题那就没办法了,其他都是人为的,最有问题的也是人.
    勒索病毒我也中过(/t/536495).
    我安全什么的都做好了,结果没想到病毒竟然是从运维人员自己的机器上传播的,你还说什么呢?
    Raymon111111
        6
    Raymon111111  
       2019-04-25 15:03:53 +08:00
    所有后端服务机器 vpn 才能登录是比较好的
    WordTian
        7
    WordTian  
       2019-04-25 15:18:00 +08:00 via Android
    web 网站安全是个大方向,现在不断的有新漏洞被曝出来,楼主说的只是其中比较基础的防御手段。
    个人站想要把安全做到位还是挺难的,毕竟术业有专攻,一般大点的公司都有信息安全部门专门负责这个事情。
    尤其是这两年网络安全法和等级保护制度一出,直接促进了整个信息安全行业的发展。
    感觉之后随着各项基础设施对网络的依赖逐渐增强,网络安全这方面的问题会愈演愈烈
    mytsing520
        8
    mytsing520  
       2019-04-25 15:21:59 +08:00
    再坚固的堡垒也有从内部被攻破的一天。。

    但我个人同意更换 SSH 端口,不认为这是没必要的
    iorilu
        9
    iorilu  
       2019-04-25 15:31:29 +08:00 via iPhone
    不错,关注下
    swat199538
        10
    swat199538  
       2019-04-25 16:41:03 +08:00
    @xabc 大佬你的那个文档是什么开源项目呀?挺漂亮的。
    dishonest
        11
    dishonest  
       2019-04-25 16:51:31 +08:00
    "修复了所有 SQL Injection 漏洞"
    这个难度可能比较大 =。=b
    xabc
        12
    xabc  
       2019-04-25 16:53:29 +08:00 via iPhone
    dsg001
        13
    dsg001  
       2019-04-25 18:31:40 +08:00
    ssh 改到高位,很少被扫描
    oIMOo
        14
    oIMOo  
       2019-04-25 21:43:29 +08:00
    好奇问一下:
    是不是很难发现有恶意代码潜伏?

    更详细的描述就是:有一天发现服务器被黑了,你恢复了备份,然而这个备份里可能已经有攻击代码了,只不过没发作。
    这种情况是不是很难发现?
    honglongmen
        15
    honglongmen  
       2019-04-25 22:00:41 +08:00
    @xabc 你这个站不错, 请问用什么写的?用来做知识管理系统挺好的
    rogwan
        16
    rogwan  
       2019-04-25 22:06:11 +08:00 via Android
    @honglongmen 那个站看起来像 docsify 自动生成的
    hanguofu
        17
    hanguofu  
       2019-04-25 22:19:36 +08:00
    谢谢楼上各位的建议,收藏了。
    totland
        18
    totland  
       2019-04-25 22:45:47 +08:00
    有没有扫 Oracle 的工具?
    过几天甲方要拿绿盟扫我们的 Oracle,我想用别的工具自己先扫一遍。
    tuding
        19
    tuding  
       2019-04-25 23:01:45 +08:00
    改 22 端口
    禁止 root 账号远程登录
    强口令
    只开放业务端口和 ssh
    业务用专门的账号启动并且 nologin

    以上能解决 90%的攻击,除非有人定向攻击你
    Cloutain
        20
    Cloutain  
       2019-04-26 09:07:00 +08:00
    加个 D 盾行不行ε=ε=ε=┏(゜ロ゜;)┛
    ioioioioioioi
        21
    ioioioioioioi  
    OP
       2019-04-26 09:14:33 +08:00
    @oIMOo 我们网站项目代码有 git, 通过 git status 发现有文件被篡改了
    Myprincess
        22
    Myprincess  
       2019-04-26 10:22:25 +08:00
    域名被劫持怎么弄呀。我的 8 个域名被劫持了。全部转到奥们 X 场。
    NjcyNzMzNDQ3
        23
    NjcyNzMzNDQ3  
       2019-04-26 10:47:12 +08:00
    @ioioioioioioi 同有 git,今天立马禁止了,不禁止后果太严重了
    NjcyNzMzNDQ3
        24
    NjcyNzMzNDQ3  
       2019-04-26 10:50:31 +08:00   ❤️ 1
    @Myprincess 如果 dns 解析正确的话,试试禁用 js 看跳转不,如果还跳转那就是服务器代码的问题
    Myprincess
        25
    Myprincess  
       2019-04-26 10:54:01 +08:00
    @NjcyNzMzNDQ3 就是用的是 WP,后台全部 被改,然后输入域名全部跳转到别人的网站上去.服务器上没有问题,怀疑是网站 被注入木马.很多次了.腾讯老是打电话过来说我的网站 有问题.
    ioioioioioioi
        26
    ioioioioioioi  
    OP
       2019-04-26 11:06:24 +08:00
    @NjcyNzMzNDQ3 可否详细解释下,不禁 git 有什么后果?
    NjcyNzMzNDQ3
        27
    NjcyNzMzNDQ3  
       2019-04-26 11:12:10 +08:00
    @ioioioioioioi git 源地址、明文账号密码、服务器项目目录结构
    NjcyNzMzNDQ3
        28
    NjcyNzMzNDQ3  
       2019-04-26 11:13:53 +08:00
    @Myprincess 哦,wp 的话你可以看看 wp_option 表里的 siteurl 是不是被改了,你要找不到我可以帮你
    alert1
        29
    alert1  
       2019-04-26 11:17:32 +08:00
    修改默认密码,不要把任何服务开放到外网,除了 mysql,还有 redis,mongodb 这种。做安服见过太多 redis 写 ssh key 与 mongo 直接勒索加密。
    ioioioioioioi
        30
    ioioioioioioi  
    OP
       2019-04-26 14:32:27 +08:00
    @NjcyNzMzNDQ3 密码不进 git 的,git 目录 web 也是无法访问的
    KigKrazy
        31
    KigKrazy  
       2019-04-26 15:20:32 +08:00
    * 外网统一使用 niginx 做一层隔离和过滤
    * 数据备份推荐使用 borg + borgmatic,(本地两份,云端一份。)
    Myprincess
        32
    Myprincess  
       2019-04-26 15:46:00 +08:00
    @NjcyNzMzNDQ3 TVlQUklOQ0VTU0NO
    defunct9
        33
    defunct9  
       2019-04-26 15:59:15 +08:00
    裸奔
    jetpy
        34
    jetpy  
       2019-04-27 23:07:46 +08:00
    建议备份工作要做好, 自己构建异地备份可以某种程度上降低风险, 最稳妥的还是使用阿里云的混合云备份, 强烈建议, 价格不高, 本地要搭建起同样安全级别的备份策略花费会更高!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2626 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:22 · PVG 11:22 · LAX 19:22 · JFK 22:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.