Recommended Services
› Amazon Web Services
› LeanCloud
› New Relic
› ClearDB
naoh1000
V2EX  ›  云计算

请问有没有能在有人登录时能立即通过 Telegram 机器人发送推送,并将操作记录实时上传到另一台服务器的开源服务器监控软件?

  •  
  •   naoh1000 · Dec 24, 2020 · 4871 views
    This topic created in 2149 days ago, the information mentioned may be changed or developed.
    最近总感觉有人动我服务器,但是日志没看出什么,感觉被清理过。请问有没有能在有人登录时能立即通过 Telegram 机器人发送推送,并将操作记录实时上传到另一台服务器的开源服务器监控软件?
    另外请问有没有好方法排查服务器是否被挂马?进程里没看出什么,个人小项目。
    28 replies  •  2020-12-25 17:47:46 +08:00
    naoh1000
    naoh1000
    OP
    Dec 24, 2020
    1
    服务器内存储了很多敏感信息,因此比较重视服务器安全。
    zhoucan007
    zhoucan007
    Dec 24, 2020
    2
    ServerCat ?? Telegram 自己开个 bot,然后写个 curl 就行了吧。
    naoh1000
    naoh1000
    OP
    Dec 24, 2020 via iPhone
    3
    前端程序员第一次写自己项目就是涉及用户敏感数据的,目前已经有了 8000 活跃用户。对运维没什么经验,因此很担心服务器安全。
    Tink
    Tink
    Dec 24, 2020 via Android
    4
    当然没问题啊
    cominghome
    cominghome
    Dec 24, 2020❤️2
    5
    在.bashrc 里加一个 curl
    Tink
    Tink
    Dec 24, 2020
    6
    ETiV
    ETiV
    Dec 24, 2020 via iPhone
    7
    1. 确定可能的登录方式,比如 ssh
    2. 监控 sshd 日志,发现成功登录就去 curl 发消息
    KasuganoSoras
    KasuganoSoras
    Dec 24, 2020 via Android
    8
    5 楼正解,不过我试过好像会导致 sftp 无法正常登录
    EscYezi
    EscYezi
    Dec 24, 2020 via iPhone
    9
    歪个楼,ssh 设置成仅证书登录就好了
    naoh1000
    naoh1000
    OP
    Dec 24, 2020 via iPhone
    10
    @EscYezi SSH 肯定是仅证书,怕的是私钥泄露,或是什么软件有漏洞。其它的管理端口改非常用高位端口并加 IP 段白名单,禁 ICMP,能想到的安全措施都上了。但是业务数据太敏感了,泄露不起。不适合个人做的业务(市面上没有一个做的好的,很想自己做)
    naoh1000
    naoh1000
    OP
    Dec 24, 2020 via iPhone
    11
    @zhoucan007 第一个需求简单,将操作记录实时上传到另一台服务器请问有好的思路吗?
    @Tink
    @ETiV
    @KasuganoSoras
    dorothyREN
    dorothyREN
    Dec 24, 2020
    12
    tg 通知好做,操作记录 可能需要审计软件吧
    Tink
    Tink
    Dec 24, 2020
    13
    @naoh1000 #11 接着上面的,发现有陌生登陆后,启动脚本。

    脚本的功能就是每秒读一次 history,然后把新增的内容推到 telegram 就行了
    KasuganoSoras
    KasuganoSoras
    Dec 24, 2020
    14
    @naoh1000 #11
    Server 1 (要监控的机器)
    #!/bin/sh
    while true
    do
    cat ~/.bash_history | nc -v 机器 2 的 IP 端口号
    sleep 5
    done

    Server 2 (要记录数据的机器)
    #!/bin/sh
    while true
    do
    nc -v -lp 端口号 > bash_history.txt
    done
    KasuganoSoras
    KasuganoSoras
    Dec 24, 2020
    15
    @KasuganoSoras #14 需要安装 nmap-ncat
    HAWCat
    HAWCat
    Dec 24, 2020 via Android
    16
    换个私钥,然后加上二次验证
    suotm
    suotm
    Dec 24, 2020
    17
    可以用 curl 触发 webhook,每次 ssh 有登录的时候就触发:
    ![2020-12-24_22_18_43.png]( https://i.loli.net/2020/12/24/SBK2IyNAP5qdTMh.png)
    yfwl
    yfwl
    Dec 25, 2020
    18
    监控 SSH 登录呗
    akira
    akira
    Dec 25, 2020
    19
    直接吧 message 日志实时同步出来应该就足够了
    ETiV
    ETiV
    Dec 25, 2020 via iPhone
    20
    操作记录试试 script,参数啥的、你看看 help
    可以输出成文件,然后用 rsyslog 什么的转发走
    ExplodingDragon
    ExplodingDragon
    Dec 25, 2020
    21
    或许可以参考下 fail2ban 的原理
    ruidoBlanco
    ruidoBlanco
    Dec 25, 2020
    22
    写.bashrc 的做法不能防止 bot 直接 ssh <host> <command> 跑命令,因为没有起 interactive shell,不会去读 bashrc 。

    如果要防,在 pam 设置里想办法。
    julyclyde
    julyclyde
    Dec 25, 2020
    23
    Linux 里绝大多数登录都会经过 PAM
    当然了如果你的机器已经被“特地设置过”那就不好说了
    KouShuiYu
    KouShuiYu
    Dec 25, 2020
    24
    监听 bash_history 文件变化?这个简单
    tianshiyeben
    tianshiyeben
    Dec 25, 2020
    25
    wgcloud,很轻的监控软件,里面有个日志文件监控模块,设置敏感字符,检测到就会发送告警信息(邮件钉钉微信)
    你试试 www.wgstart.com
    naoh1000
    naoh1000
    OP
    Dec 25, 2020 via iPhone
    26
    @KouShuiYu 对方可能不用 bash
    vken
    vken
    Dec 25, 2020
    27
    改端口,换证书,2 次动态验证,/etc/profile + curl + Bark(IOS)
    vken
    vken
    Dec 25, 2020
    28
    另外既然你已经不在信任自己的机器,就应该考虑迁移到另一台机上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 23:07 · PVG 07:07 · LAX 15:07 · JFK 18:07
    ♥ Do have faith in what you're doing.