转载来源 :避免服务器成为肉鸡的应对措施 :http://www.safebase.cn/article-257033-1.html

摘要: 在公网中每时每刻都有人通过密码字典暴力破解试图登陆你的服务器,不信请看该日志文件大小du -sh `ls /var/log | grep btmp,该文件存储了ssh失败登陆的记录。文件越大/增长越快,说明你的服务器处于被别人暴力破解的危险中!为了避免这种危险,必须做好两点:1. 修改SSH默认端口,2. 使用强口 …

在公网中每时每刻都有人通过密码字典暴力破解试图登陆你的服务器,不信请看该日志文件大小du -sh `ls /var/log | grep btmp,该文件存储了ssh失败登陆的记录。文件越大/增长越快,说明你的服务器处于被别人暴力破解的危险中!为了避免这种危险,必须做好两点:

  1. 修改SSH默认端口,

  2. 使用强口令密码,不想看胡扯的请直接跳到后面。

整个网络空间中其实存在着很多弱口令服务器,假设弱口令服务器的用户名都为root、密码都为123456、SSH登陆端口都为默认的22。我有一台服务器在不停的用密码字典登陆这些弱口令机器,成功登陆的机器作为肉鸡(傀儡)继续登陆别的机器,假设一台服务器以2台/天的速度进行登陆,那么第一天我就有三台机器(包括自己的那台),第二天就是6+3=32=9台,第三天就是18+9=33=27台,第N天就是3^N台。

看到没有,肉鸡/傀儡服务器是以指数级别在增加的!

为什么有人不停登陆别人的机器,获得肉鸡?如果我手上有来自全世界的肉鸡,并且数量很多,那玩儿法可就多了:

看不惯哪个网站?操纵这些傀儡机器不停的请求该网站,让别人没法用,服务瘫痪,这就是传说中的DDoS攻击(分布式拒绝服务攻击)。

想赚点小钱,偷偷挖矿是你不二的选择,这么多肉鸡,虽然每一台计算能力不怎么样,但是联合起来也不容小。这种肉鸡俗称挖掘鸡(笑

肉鸡做代理?这个话题我就不深说了,大陆敏感话题… …

窥探肉鸡主人数据… 满足窥探欲

这么多肉鸡代表你有这么多IP,有大量IP能干什么?这又是另外一个庞大的话题了… …

一、基础知识

/var/log/wtmp用于记录登录成功的用户的信息,是一个二进制文件,只能通过 last命令来查看

root pts/0 100.87.41.98 Sat Feb 16 01:28 still logged in
root pts/2 100.87.41.98 Fri Feb 15 11:38 - down (01:35)
root pts/1 100.87.41.98 Fri Feb 15 11:38 - down (01:35)
root pts/0 100.87.41.98 Fri Feb 15 11:38 - down (01:35)

查看尝试恶意登陆的前十个IP:

sudo lastb | awk '{ print $3}' | awk '{++S[$NF]} END {for(a in S) print a, S[a]}' | sort -rk2 |head

查看恶意IP尝试登陆次数:

lastb | awk '{ print $3}' | sort | uniq -c | sort -n

当然,如果你要清理这个日志,删除在创建之

rm -rf /var/log/btmp
touch /var/log/btmp

/var/log/btmp用于记录登录失败的用户的信息,是一个二进制文件,只能通过 lastb命令来查看

ejabberd ssh:notty 123.207.233.84 Sat Feb 16 02:08 - 02:08 (00:00)
rsync ssh:notty 157.230.102.166 Sat Feb 16 02:08 - 02:08 (00:00)
ejabberd ssh:notty 123.207.233.84 Sat Feb 16 02:08 - 02:08 (00:00)
rsync ssh:notty 157.230.102.166 Sat Feb 16 02:08 - 02:08 (00:00)

/var/log/lastlog用于记录用户的历史登录情况,是一个二进制文件,只能通过 lastlog命令来查看

Username Port From Latest
root pts/0 100.87.41.98 Sat Feb 16 01:28:34 +0000 2019
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**

/var/run/utmp用于记录当前登录的用户的信息,是一个二进制文件,只能通过 who命令来查看

root pts/0 2019-02-16 01:28 (100.87.41.98)

二、修改SSH默认端口

环境:CentOS 7

步骤:新增SSH端口–>>重启sshd服务–>>添加防火墙规则–>>尝试新端口登陆–>>关闭原先的22端口

1、新增SSH端口(列:1000)

vi /etc/ssh/sshd_config# 找到Port 22这行,将前面的注释去掉,再加一行Port 1000,如下,这样做的目的是防止新端口登陆不上,老端口也不能用!
Port 22
Port 1024
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

2、重启sshd服务

如果是CentOS 7使用systemctl restart sshd,查看端口是否生效可以用systemctl status sshd

如果是CentOS 7以前的系统,使用/etc/init.d/sshd restart或者service sshd restart

重启以后可以本地测试一下端口通没通,telnet 127.0.0.1 1000

3、添加防火墙规则

如果是iptables防火墙,执行下面命令添加规则

iptables配置文件位置/etc/sysconfig/iptables

添加1000端口规则

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1000 -j ACCEPT

保存规则

service iptables save

重启服务

service iptables restart
如果防火墙是Firewall,参照下面步骤:

首先检测防火墙是否已经启用,启用返回值runing,反之,为not runnin

firewall-cmd --state

#若没有启用,需要启用

systemctl start firewalld
systemctl enable firewalld

若已经启用,则进行下一步

查看防火墙的默认、活跃区域(zones)

#看两条命令的返回值是否含有public,有则为正确。

firewall-cmd --get-default-zone
firewall-cmd --get-active-zones

端口永久开放

为了防止出错,22端口一同开放

与临时开放的区别在于多了permanent

firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=1000/tcp

防火墙重载

firewall-cmd --reload

查看已暴露端口

firewall-cmd --permanent --list-port
firewall-cmd --zone=public --list-all

4、尝试新端口登陆

尝试用1000端口进行登陆,看是否成功!

5、关闭原先的22端口

参考上面的操作,首先在ssh的配置文件去掉22端口,重启sshd服务,然后在防火墙配置里面去除22端口,重启防火墙!这里不再赘述。

6、修改弱口令为强口令

# 输入修改密码命令passwd
#此时系统提示Changing password for user root.
New password:
# 输入两次密码并回车,注意输入密码时不会显示的Retype new password:
passwd: all authentication tokens updated successfully.

7、推荐:

shell随机密码生成函数:

# 生成随机密码 ($1 位数)# echo $(getRandomPwd 10)
# echo $(getRandomPwd)
getRandomPwd(){num=32if [ $# == 1 ];thennum=$1fiecho "$(date +%s)$(shuf -i 10000-65536 -n 1)" | sha256sum | base64 | head -c $num ; echo
}

8、扩展

虽然上面修改端口和口令能够大大提升安全性,但是在某些情况下不能修改端口或口令,此时可以推荐 DenyHosts或者fail2ban,它可以禁止大量尝试登陆的IP。或者可以用最简单的办法,查看尝试恶意登陆的前十个IP然后用防火墙禁止它,这里只提供思路。

避免服务器成为肉鸡的应对措施相关推荐

  1. 游戏服务器宕机应对措施

    原文地址:服务器又宕机了,怎么办? 理想情况 对于一般的MMOG来说,玩家在进入游戏时会从数据库中将该玩家的所有相关数据读到内存,以便快速的进行游戏逻辑的处理,而在玩家下线时再将数据的改动存回数据库. ...

  2. 服务器删除文件拒绝访问,教你win7系统删除文件拒绝访问的应对措施

    最近有位win7系统用户反映,电脑删除某些文件的时候系统总是会提示"无法删除访问被拒绝",导致文件无法删除,怎么办呢?就此问题,下面小编教你win7系统删除文件拒绝访问的应对措施吧 ...

  3. 网页在PC 上运行正常,在IPad上运行出错的故障原因分析及应对措施

    网页在PC 上运行正常,在IPad上运行出错的故障原因分析及应对措施 最近在测试一个管理系统网站时,发现该网站在PC上运行一切正常,但在Ipad 上运行时,提示网页出现问题,需要重新提交表格,复新提交 ...

  4. log4j2漏洞各大厂应对措施

    真是平地一声雷,一个超高级别的bug把所有厂商都炸醒了.本来是可以划水半天的大周五,程序员们都得起来升版本发布代码修复这个问题了.具体漏洞的危害和原理,其他的回答里已经写的够详细了,我就整理一下各个大 ...

  5. 手机浏览网页或打开App时莫名弹出支付宝领红包界面的原因及应对措施

    自从支付宝推出扫码领红包活动后,这种模式独特的赏金机制,短时间内吸引了大量的关注,但是随之也产生了很多的问题,比由于如在赏金的驱动下,微信群里铺天盖地的红包口令,朋友圈里各式各样的领红包二维码图片, ...

  6. 物联网安全威胁及其应对措施

    物联网经过多年的发展,引领信息产业革命的新一轮浪潮.随着物联网的深入应用,其对人们的日常生活以及社会经济发展已产生了极大的影响,如何提高网络安全,是物联网行业目前面临的关键问题.本文通过对物联网安全威 ...

  7. 看各大安全厂商对等保2.0的应对措施及解决方案

    5月13日,网络安全等级保护技术2.0版本(简称等保2.0)正式公开发布,等保2.0覆盖工业控制系统.云计算.大数据.物联网等新技术新应用,为落实信息系统安全工作提供了方向和依据. 前面文章已经分析过 ...

  8. 从系统架构分析安全问题及应对措施

    在日常生产生活中,我们常说,"安全第一"."安全无小事".围绕着安全问题,在各行各业都有对各类常见安全问题的解决方案和突发安全问题的应急预案.在互联网.软件开发 ...

  9. 微信小程序最新用户头像昵称获取规则调整应对措施(2022)

    目录 一.调整 二.应对措施 2.1 更新头像 2.2 更新昵称 三.完整代码 一.调整 小程序用户头像昵称获取规则调整公告 以前通过wx.getUserProfile获取用户信息,用户点击同意以后, ...

最新文章

  1. (建议收藏)matlab在线性代数问题中的计算机求解进阶问题及解决方案集锦
  2. css修改同步保存到文件,谷歌浏览器修改CSS和js后同步保存到文件中 (译)
  3. HDU 3333 Turing Tree(树状数组+离线处理+离散化)
  4. java分桃子_猴子分桃子.java
  5. 机器学习之梯度下降法(GD)和坐标轴下降法(CD)
  6. 论文浅尝 | 使用孪生BERT网络生成句子的嵌入表示
  7. 使用BFC块级上下文
  8. Tensorflow c api
  9. linux -- 命令大全
  10. msdn安装后怎么用_Win10不好用?安装官方版精简Win10后,运行比win7更快更流畅
  11. 微信有电脑客户端吗_一台电脑如何开多个微信?你学会了吗?
  12. 话里话外:按单制造(MTO II)信息化管理特点
  13. python log文件处理_Python 处理大Log文件
  14. 计算机网络安全基础知识
  15. (附源码)Springboot校园万能跑系统 毕业设计 160934
  16. PS制作透明图片png格式
  17. html页眉页脚独立,页眉页脚怎么单独设置
  18. file和directory区别
  19. N个字符或数字的全排列
  20. 李沐-动手学习深度学习v2

热门文章

  1. php十年磨一剑,十年磨一剑
  2. html设置自定义光标,pixi.js 自定义光标样式
  3. jmeter 聚合报告说明_Jmeter 测试结果分析之聚合报告简介
  4. 前后端怎么连接_如何搭建前后端分离的测试平台
  5. if和else同时执行_为什么大量的if else这么不受待见?怎么“干掉”它?
  6. 达飞控股不断践行新时代企业责任
  7. 《TCP/IP路由技术(第二卷)》一1.6 附 注
  8. iptables常用配置规则
  9. 【rqnoj】 1 明明的随机数
  10. win7上一个微软都不知道的快捷键