美文网首页
处理IP恶意的访问

处理IP恶意的访问

作者: 技术咸鱼 | 来源:发表于2021-05-28 16:37 被阅读0次

    原文链接
    技术咸鱼

    下文的操作均在ubuntu上进行.

    背景

    最近刚把腾讯云服务器搭建好,就发现访问时间异常的长,觉得不应该呀,意识到可能是服务器遭受到攻击.

    于是登录服务器打开/var/log/auth.log下的访问日志,果然有大量的非法ip访问

    • ...
    • May 25 13:57:49 localhost sshd[27673]: Invalid user test9 from 128.199.30.172 port 51386
    • May 25 13:57:49 localhost sshd[27673]: pam_unix(sshd:auth): check pass; user unknown
    • May 25 13:57:49 localhost sshd[27673]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=128.199.30.172
    • May 25 13:57:51 localhost sshd[27673]: Failed password for invalid user test9 from 128.199.30.172 port 51386 ssh2
    • May 25 13:57:51 localhost sshd[27673]: Received disconnect from 128.199.30.172 port 51386:11: Bye Bye [preauth]
    • May 25 13:57:51 localhost sshd[27673]: Disconnected from invalid user test9 128.199.30.172 port 51386 [preauth]
    • May 25 13:58:01 localhost CRON[27700]: pam_unix(cron:session): session opened for user root by (uid=0)
    • May 25 13:58:01 localhost CRON[27700]: pam_unix(cron:session): session closed for user root
    • May 25 13:58:06 localhost sshd[27651]: Connection closed by 20.194.166.160 port 54602 [preauth]
    • May 25 13:58:24 localhost sshd[27787]: Invalid user ec2-user from 117.79.132.166 port 38400
    • ...

    这是才想到服务器自从搭建后,系统的配置都是默认的包括SSH(安全外壳协议),也难怪遭受到了攻击.

    于是想到了对SSH配置

    1.修改SSH配置

    (1).禁止root账号远程登录

    root账号是系统默认的账号,且拥有最高的权限,攻击者在攻击的时候,也会首先选择root进行攻击,
    才看日志也发现user root的最多

    首先我们进入到/etc/ssh目录面,打开sshd_config文件,将PermitRootLogin设置为no
    关于ubuntu账户的创建可以查看

    (2).修改端口

    服务器默认的的端口Port是22,建议不定时修改一下.

    <Badge text="注" type="error" vertical="middle"/>:端口最大只能修改到65536,注意不要超过

    修改SSH配置后,重启SSHsudo service sshd restart

    2.配置IP访问黑白名单

    进入/etc文件下有hosts.allowhosts.deny两个文件,分别是填写允许和禁止IP的

    (1).允许某一个IP

    允许shh远程协议的:hosts.allow中填写sshd:192.168.0.1

    允许telnet远程协议的:hosts.allow中填写in.telnetd:192.168.0.1

    允许所有远程协议的:hosts.allow中填写ALL:192.168.0.1

    (2).允许某一个IP段

    允许shh远程协议的:hosts.allow中填写sshd:192.168.0

    允许telnet远程协议的:hosts.allow中填写in.telnetd:192.168.0

    允许所有远程协议的:hosts.allow中填写ALL:192.168.0

    (3).禁止所有IP

    允许shh远程协议的:hosts.deny中填写sshd:ALL

    允许telnet远程协议的:hosts.deny中填写in.telnetd:ALL

    允许所有远程协议的:hosts.deny中填写ALL:ALL

    (4).禁止某一个ip

    允许shh远程协议的:hosts.deny中填写sshd:192.168.0.1

    允许telnet远程协议的:hosts.deny中填写in.telnetd:192.168.0.1

    允许所有远程协议的:hosts.deny中填写ALL:192.168.0.1

    (4).禁止某一个ip段

    允许shh远程协议的:hosts.deny中填写sshd:192.168.0

    允许telnet远程协议的:hosts.deny中填写in.telnetd:192.168.0

    允许所有远程协议的:hosts.deny中填写ALL:192.168.0

    另外还可以使用

    sshd : ALL EXCEPT 111.111.111.0/255.255.255.0 222.222.222.222 333.333.333.0/255.255.255.0

    就是允许222.222.222.222固定IP和111.111.111.0和333.333.333.0 IP段访问

    重启 service sshd restartservice xinetd restart

    <Badge text="注" type="error" vertical="middle"/>:hosts.allow和hosts.deny冲突时候,以hosts.allow为准

    3.netfilter/iptables封禁IP

    `sudo iptables -A INPUT -s 1.1.1.1 -p TCP -j DROP `封禁多次恶意访问的IP
    

    netfilter/iptables具体操作参考:
    博客
    博客

    原文链接
    技术咸鱼

    相关文章

      网友评论

          本文标题:处理IP恶意的访问

          本文链接:https://www.haomeiwen.com/subject/gfissltx.html