技术咸鱼 技术咸鱼
首页
  • 《Django教程》
  • 《VuePress教程》
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
关于
头像

公众号:技术咸鱼
首页
  • 《Django教程》
  • 《VuePress教程》
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
关于
  • 处理IP恶意的访问
    • 背景
    • 1.修改SSH配置
      • (1).禁止root账号远程登录
      • (2).修改端口
    • 2.配置IP访问黑白名单
    • 3.netfilter/iptables封禁IP
  • 运维
技术咸鱼
2021-05-26

标题 处理IP恶意的访问

提示

下文的操作均在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,建议不定时修改一下.

注:端口最大只能修改到65536,注意不要超过

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

# 2.配置IP访问黑白名单

进入/etc文件下有hosts.allow和hosts.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 restart和 service xinetd restart

注: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具体操作参考: 博客 (opens new window) 博客 (opens new window)

上次更新: 2021/06/24, 11:50:15
最近更新
01
VuePress | 介绍
06-16
02
plugin-pwa
06-16
03
VuePress | SEO优化
06-15
更多文章>
Copyright © 2019-2021 oopanda | 皖ICP备19017961号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×