• 请不要在回答技术问题时复制粘贴 AI 生成的内容
userlol
V2EX  ›  程序员

服务器 80 端口天天被人扫,无奈,求指教

  •  
  •   userlol · May 18, 2018 · 6743 views
    This topic created in 2917 days ago, the information mentioned may be changed or developed.

    服务器躲在 CloudFlare 后面的,每天各种不正经请求都有:

    HEAD http://101.122.123.71/check_p*o*y
    GET /HNAP1/ HTTP/1.1
    \x43\x12\xa1\x0c
    GET /robots.txt

    等等等等,UserAgent 更是不计其数,国内外来自全世界的 IP 都有,处理这些东西真的累。

    fail2ban 这种亡羊补牢型不喜欢,有没有什么可以防患于未然型的解决方案呢,求推荐。

    用的是 nginx,现在想法是给 nginx 设置 UserAgent 白名单,不在白名单以外的 UA 以及非 HTTP 请求一律不相应,不知道有这种插件吗?

    另外求一下大家觉得好的 nginx 配置相关的实体书,谢谢

    Supplement 1  ·  May 18, 2018
    沉了吧这帖子,我知道 ssh dns 这些常用端口被扫是正常的,暴破也是可能的。需要直连这台机器,所以 iptables 白名单 CF IP 不可行,fail2ban 这种亡羊补牢的也不合适(后期需要处理 nginx 的 log)。目前看的两个方案:一个是 abuseipdb 的服务,但他们家没提供数据库下载,只有个 API 目前还不知道怎么整合到 nginx 中;第二个方案是类似 port knocking 的思路,因为访问的 client 的 User Agent 差不多是固定的,所以根据 UA 来控制可以,但是没有找到有合适的插件( UA 不对直接不响应,而不是返回 404/403 这种。)
    (服务器只开放给特定人群,所以并不在乎封锁所造成的体验问题,还是考虑安全第一,感谢提出以上建议的几位)
    40 replies    2018-05-22 17:45:14 +08:00
    zktz
        1
    zktz  
       May 18, 2018 via Android
    这个对你没什么影响吧
    745839
        2
    745839  
       May 18, 2018
    有什么可处理的?楼主刚接触网络吗?网络上 24 小时不间断的有肉鸡在扫描各个服务的端口,各服务的弱口令。
    whypool
        3
    whypool  
       May 18, 2018
    正常操作,没啥大惊小怪的
    miyuki
        4
    miyuki  
       May 18, 2018 via Android
    没啥大惊小怪的,爬虫和各种各样的爆破太多了
    userlol
        5
    userlol  
    OP
       May 18, 2018
    @745839 @whypool @zktz
    nginx 日志需要定期做处理(不是我来做),目前我只能把不正常请求里面规则的请求用程序过滤掉,其它极个别的请求手动删掉

    如果大家没有什么好的解决方案的话求 nginx 配置书籍推荐,谢谢大家
    skylancer
        6
    skylancer  
       May 18, 2018
    WAF
    zsdroid
        7
    zsdroid  
       May 18, 2018
    防患于未然型的解决方案??很简单啊,把服务器搭建在局域网就好了。
    Greenm
        8
    Greenm  
       May 18, 2018
    既然放在公网那就要做好被全世界访问的准备。

    就算你把奇怪的 useragent 全都过滤掉了,剩下的一样有机器扫描。
    Shirakawa
        9
    Shirakawa  
       May 18, 2018
    if ($http_user_agent ~* (curl|bot|Python|sql|php)) {
    return 403;
    }
    userlol
        10
    userlol  
    OP
       May 18, 2018
    @Shirakawa 感谢,看到过类似写法,能否让 nginx 不响应对方请求呢?
    hcymk2
        11
    hcymk2  
       May 18, 2018
    @userlol
    那你还是用 iptables 吧
    Shirakawa
        12
    Shirakawa  
       May 18, 2018
    把 403 改成 444 ?
    745839
        13
    745839  
       May 18, 2018
    等你看到扫描你的 22 或者 3389 你是不是又无奈了?
    等你看到盲注是不是又无奈了?
    等你看到 wget web.rar/wwwroot.rar/www.rar 是不是又无奈了?
    网络上充斥着各种各样的扫描爆破嗅探
    ifaii
        14
    ifaii  
       May 18, 2018 via iPhone
    正常操作 不要慌
    qf19910623
        15
    qf19910623  
       May 18, 2018   ❤️ 1
    你在街边造了一栋房子,你可以给门加锁不让人进来,但是你阻止不了路人跑来敲门
    giuem
        16
    giuem  
       May 18, 2018 via iPhone
    就不能设置只允许 CloudFlare 的 IP 访问
    Lanke0
        17
    Lanke0  
       May 18, 2018
    @qf19910623 搞个围墙
    Phariel
        18
    Phariel  
       May 18, 2018 via iPhone
    @Lanke0 围墙不就是 fail2ban 么 楼主并不想用。。。
    cjpjxjx
        19
    cjpjxjx  
       May 18, 2018 via Android
    就像你走在大街上,你是无法避免各种各种的人看你的,只要别人不打你不碰你,那就随他去看呗,想要不被人看,那就把自己锁在家里(关闭所有进出端口)
    TheKiller
        20
    TheKiller  
       May 18, 2018
    仅允许 CloudFlare 的 IP 段访问
    Phasma
        21
    Phasma  
       May 18, 2018
    关了 只开 443
    nicevar
        22
    nicevar  
       May 18, 2018
    80 端口你都不想给人扫那你开这个端口干啥?
    hangzhoupm
        23
    hangzhoupm  
       May 18, 2018
    屏蔽 80 端口
    affyun
        24
    affyun  
       May 18, 2018 via Android
    赶紧关机保平安
    Hopetree
        25
    Hopetree  
       May 18, 2018
    user-agent 伪装这么容易,你设置这个白名单根本没用,IP 也可以代理,但是如果你发现大量来自同一个 IP 的请求倒是可以先屏蔽 IP
    kennylam777
        26
    kennylam777  
       May 18, 2018   ❤️ 1
    Felldeadbird
        27
    Felldeadbird  
       May 18, 2018
    我觉得楼上说得的都不靠谱。
    楼主把 nginx 的 listen 80; 改成 listen 801; 。
    妥妥以后没人扫了!
    annielong
        28
    annielong  
       May 18, 2018
    以前用友弱密码刚开放公网访问不到 5 分钟,密码就被改了,还好数据没有被删
    15vnetwork
        29
    15vnetwork  
       May 18, 2018
    我的服务器 80 也是天天给人扫描, 不过你开放 80 端口就是给人访问的. 封 IP 也不是终极解决办法, 扫描我服务器的 IP 地址天天都在变, 而且封 IP 有可能会影响用户体验, 只要你的服务器没有什么漏洞, 就不要怕
    aiseo
        30
    aiseo  
       May 18, 2018   ❤️ 1
    <img src="https://i.loli.net/2018/05/18/5afe98c91517f.png" alt="QQ 截图 20180518181056.png" title="QQ 截图 20180518181056.png" />

    不知道适合楼主吗
    nullen
        31
    nullen  
       May 18, 2018
    @userlol return 444
    aiseo
        32
    aiseo  
       May 18, 2018
    afpro
        33
    afpro  
       May 18, 2018
    这个还守规矩的先取了你的 robots.txt 你还想怎样啊。。。。。。
    aiseo
        34
    aiseo  
       May 18, 2018
    歪个楼,v2 怎么贴图。。。。
    thynson
        35
    thynson  
       May 18, 2018
    这位同学怕是对 Web 服务有什么误解
    wly19960911
        36
    wly19960911  
       May 18, 2018 via Android   ❤️ 1
    @aiseo 用微博和 imgur 的图库,chrome 下载一个 V2EX 的扩展就可以很方便玩了
    HarrisonZ
        37
    HarrisonZ  
       May 18, 2018
    waf
    wezzard
        38
    wezzard  
       May 19, 2018
    你可以自己寫一個腳本讓服務器啓動的時候自動添加 CloudFlare 的 IP 地址進白名單。如果你是 FreeBSD + ipfw 的話我可以提供一個範例。
    matsuz
        39
    matsuz  
       May 19, 2018
    可以只对限定的 Host 提供服务,请求其他 Host 的一律让 NGINX 返回 444 断开连接,按理来说这样只要不是定向爬虫都可以过滤掉了
    realpg
        40
    realpg  
    PRO
       May 22, 2018
    @afpro #33
    很多 bot 取你 robots.txt 是为了看你都有啥目录 并不是为了遵守
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5512 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 03:45 · PVG 11:45 · LAX 20:45 · JFK 23:45
    ♥ Do have faith in what you're doing.