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

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

  •  
  •   userlol · May 18, 2018 · 7209 views
    This topic created in 3094 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
    zktz
    May 18, 2018 via Android
    1
    这个对你没什么影响吧
    745839
    745839
    May 18, 2018
    2
    有什么可处理的?楼主刚接触网络吗?网络上 24 小时不间断的有肉鸡在扫描各个服务的端口,各服务的弱口令。
    whypool
    whypool
    May 18, 2018
    3
    正常操作,没啥大惊小怪的
    miyuki
    miyuki
    May 18, 2018 via Android
    4
    没啥大惊小怪的,爬虫和各种各样的爆破太多了
    userlol
    userlol
    OP
    May 18, 2018
    5
    @745839 @whypool @zktz
    nginx 日志需要定期做处理(不是我来做),目前我只能把不正常请求里面规则的请求用程序过滤掉,其它极个别的请求手动删掉

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

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

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