一、关于暴力破解

前几天新购进了一台阿里云服务器,使用过程中时常会收到“主机被暴力破解”的警告,警告信息如下:

云盾用户您好!您的主机:... 正在被暴力破解,系统已自动启动破解保护。详情请登录http://i.aliyun.com/dashboard/instance?type=yundun.

通常暴力破解的是采用穷举字典的方式尝试远程登陆,也就是我们所说的“猜”密码的方法。

Linux系统安装完后,超级管理员默认的用户名是root,阿里云服务器的默认级管理员也是root,通常提升安全的做法是修改root帐户的登陆名,可以增加破解难度,修改用户名后阿里云服务器的“主机被暴力破解”也不会再提示。

修改用户名和密码有两个相关配置文件:/etc/passwd/etc/shadow,下面会对这两个文件进行详述。

二、passwd文件

passwd文件的位置在/etc/passwd,该配置文件存放了Linux所有帐号的信息,包括用户名、密码、用户识别码、用户组识别码、注释、宿主目录等,可以使用“cat /etc/passwd”命令查看该文件。

passwd文件每行记录表示一个用户帐户,由7个字段组成,用冒号分隔,格式如下:

username:password:User ID:Group ID:comment:home directory:shell

字段含义如下:

■ username

用户名,它唯一地标识了一个用户帐号。

■ password

用户密码,这里用x表示,真实的密码存放在/etc/shadow对应记录行中。(最早期Linux系统的用户密码是放在此处哦)

■ User ID  

用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。

UID是一个整数,用户的UID互不相同,比如root用户的UID:0;普通用户UID:500-60000;伪用户:1-499,如上图,系统安装后会有一些默认伪用户,用于执行对应进程程序。

■ Group ID

用户组识别码,简称GID,对应的用户组存放在/etc/group文件的记录行中。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。

■ comment

用户注释,可以为空。可以存放用户全名或其它一些信息

■ home directory

用户宿主目录,用户登陆后的缺省目录。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。

■ login command

命令解释器,默认为bash shell。如上图,部份用户记录行的命令解释器为:/sbin/nologin,意思是指该用户是不可登系统的。

三、shadow文件

shadow文件的位置在/etc/shadow,该配置文件存放了Linux所有帐号的信息,只有root权限才可以浏览,包括用户名、最后一次修改时间、最小时间间隔、最大时间间隔、警告时间、帐户闲置时间、失效时间、标志等,可以使用“cat /etc/shadow”命令查看该文件。

shadow文件每行记录表示一个用户帐户,由9个字段组成,用冒号分隔,各字段含义如下:

■ username

用户名,它唯一地标识了一个用户帐号。

■ password

用户密码,己用MD5进行加密。如果该字段为空*,如果该字段为空!!,如果该字段为空,用户可以不需要密码就可以登陆。

■ Days since epoch of last password change

最后一次修改时间,用户最后一次修改密码的天数,以1970-1-1为参考点进行计算。

■ Days until change allowed

最小时间间隔,两次修改密码之间的最小天数,如果该字段为0,表示不限定。

■ Days before change required

最大时间间隔,密码保持有效的最多天数,如果该字段为99999,表示不限定。

■ Days warning for expiration

警告时间,从系统开始警告到密码失效的天数。

■ Days before account inactive

帐号闲置时间,判断用户多久未登陆,如果该字段为空,表示未闲置。

■ Days since Epoch when account expires

失效时间,密码失效的绝对天数,如果该字段为空,表示未失效。

■ Reserved

保留位,一般不使用。

四、相关配置和命令

■ pwconv

该命令将所有用户密码从/etc/passwd移动到/etc/shadow中。

■ pwunconv

该命令将所有用户密码从/etc/shadow恢复到/etc/passwd中。

■ /etc/skel

所有新创建用户的信息配置文件在该目录下,新建用户时会拷贝该目录下的所有文件到新建用户的宿主目录 ,默认是隐藏的。

■ /etc/login.defs

该配置文件是设置用户帐号限制的文件,这里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs。

■ /etc/default/useradd

该配置文件是设置新建用户时的缺省选项。

■ /etc/motd

该配置文件是设置用户登陆时的提示信息。

【Linux笔记】阿里云服务器被暴力破解的更多相关文章

  1. 【Linux】阿里云服务器部署--禅道

    Xshell部署环境 回到Xshell界面,连上阿里云服务器,参考上一篇[linux学习1-Xshell连接阿里云ECS服务器](https://www.cnblogs.com/yoyoketang/ ...

  2. linux 【阿里云服务器】 配置 redis 的正确流程

    1.前言 我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案. 2.操作[跟着步骤来] (1)指令cd /usr/local 进入local文件夹里面 ...

  3. 阿里云服务器被他人通过SSH暴力破解后的安全加固

    背景说明:我登录阿里云服务器控制台时,收到几条安全警告信息. 从图中可以知道,对方的IP地址是47.97.68.118,通过SSH登录方式,登录时用我服务器里的admin用户,然后用穷举法暴力破解ad ...

  4. Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

    最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...

  5. 阿里云服务器上开启linux远程桌面连接

    一.说明: 本文的目的是实现在windows机器上利用远程桌面连接来访问远程的linux桌面. 这里使用的是阿里云服务器,操作系统为Centos6.5. 二.基本步骤: 1.首先保证服务器已经安装完毕 ...

  6. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  7. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  8. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  9. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

随机推荐

  1. 20155227 《Java程序设计》实验五 Java网络编程及安全实验报告

    20155227 <Java程序设计>实验五 Java网络编程及安全实验报告 实验内容 任务一: 编写MyBC.java实现中缀表达式转后缀表达式的功能. 编写MyDC.java实现从上面 ...

  2. 20155227 2016-2017-2 《Java程序设计》第二周学习总结

    20155227 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 本周学习的第三章内容与以前学过的C语言有很多共通的地方,学习起来还是比较快的. 主要的内容有 ...

  3. 20155234 2016-2017-2 《Java程序设计》第1 周学习总结

    20155234 2016-2017-2 <Java程序设计>第1 周学习总结 教材学习内容总结 第一周学习了第一章,第一章的内容等同于绪论,向我们介绍了jave的前世今生,以及三大平台. ...

  4. JS基础,课堂作业,计算器

    网页内的简单计算器 <script> var a = parseInt(prompt("请输入第一个数字:")); var b = parseInt(prompt(&q ...

  5. 手摸手,和你一起学习 UiPath Studio

    学习 RPA 的路上坑比较多,让我们手摸手,一起走…… 以下是一些学习 UiPath 和 RPA 的资源, 拿走不用谢! UiPath Studio 中文文档 机器人流程自动化其实是很好的概念和技术, ...

  6. 原生android(二)——认识activity

    一.activity的生命周期 1.onCreate():在活动第一次被创建的时候调用,用来完成活动的初始化操作,如加载布局.绑定事件等 2.onStart():在活动由不可见变为可见时被调用 3.o ...

  7. jmeter执行顺序及作用域规则

    1.执行顺序 配置元件 前置处理器 定时器 采样器 后置处理器 断言 监听器 备注: 服务器响应为空的话后三个不执行 作用域内存在采样器时定时器.断言.前置/后置处理器才执行 逻辑控制器和采样器按照在 ...

  8. SQL数据类型(SQL Server六个类型使用)

    SQL数据类型是一个属性,它指定任何对象的数据的类型.在SQL中每一列,变量和表达有相关数据类型. 当创建表时,需要使用这些数据类型. 会选择根据表列要求选择一个特定的数据类型. SQL Server ...

  9. 爬虫2.5-scrapy框架-下载中间件

    目录 scrapy框架-下载中间件 scrapy框架-下载中间件 middlewares.py中有两个类,一个是xxSpiderMiddleware类 一个是xxDownloaderMiddlewar ...

  10. Python--matplotlib 绘图可视化练手--折线图/条形图

    最近学习matplotlib绘图可视化,感觉知识点比较多,边学习边记录. 对于数据可视化,个人建议Jupyter Notebook. 1.首先导包,设置环境 import pandas as pd i ...