【Linux笔记】阿里云服务器被暴力破解
一、关于暴力破解
前几天新购进了一台阿里云服务器,使用过程中时常会收到“主机被暴力破解”的警告,警告信息如下:
云盾用户您好!您的主机:... 正在被暴力破解,系统已自动启动破解保护。详情请登录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笔记】阿里云服务器被暴力破解的更多相关文章
- 【Linux】阿里云服务器部署--禅道
Xshell部署环境 回到Xshell界面,连上阿里云服务器,参考上一篇[linux学习1-Xshell连接阿里云ECS服务器](https://www.cnblogs.com/yoyoketang/ ...
- linux 【阿里云服务器】 配置 redis 的正确流程
1.前言 我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案. 2.操作[跟着步骤来] (1)指令cd /usr/local 进入local文件夹里面 ...
- 阿里云服务器被他人通过SSH暴力破解后的安全加固
背景说明:我登录阿里云服务器控制台时,收到几条安全警告信息. 从图中可以知道,对方的IP地址是47.97.68.118,通过SSH登录方式,登录时用我服务器里的admin用户,然后用穷举法暴力破解ad ...
- Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)
最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...
- 阿里云服务器上开启linux远程桌面连接
一.说明: 本文的目的是实现在windows机器上利用远程桌面连接来访问远程的linux桌面. 这里使用的是阿里云服务器,操作系统为Centos6.5. 二.基本步骤: 1.首先保证服务器已经安装完毕 ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
- 阿里云服务器Linux CentOS安装配置(七)域名解析
阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...
随机推荐
- 201552-53 《Java程序设计》第五周问题汇总
201552-53 <Java程序设计>第五周问题汇总 1.编译时,终端显示: 注:XXX.java使用了未经检查或不安全的操作,如何解决? 解答:并不是错误,可以忽视. 2.构造函数与类 ...
- 2016-2017-2 《Java程序设计》第二周学习总结
20155319 2016-2017-2 <Java程序设计>第二周学习总结 课堂学习内容 git:版本控制 java -d bin(当地文件夹) src/Hello.java把生成的.c ...
- Linux下MySql变量修改遇到的问题记录
一.问题记录: 项目上需要使用mysql的过程来自动化构建一批数据,但是调用的时候总是报找不到表或者过程 二.排查过程: (1)首先终端连接mysql后发现,无论表还是过程在数据库中都是存在的,排除了 ...
- weka使用笔记3---classfily API调用
分类器在数据挖掘中的作用不言而喻,weka中的分类器有很多种类型,但是weka在输出结果中,只输出了一个分类的预测的类型,没有输出分类的得分,有一些不给力.如果想知道得分和其预测的类的话,就得调用we ...
- python3.0 day02 列表、元组 、字典、字符串操作
1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作,类似于其他语言中的数组. 定义列表 names = ['Lioa',"Tenglan ...
- phpcms 的模板更换
刚安装完成后的phpcms ,自带的默认模板样式一般,可以自己换模板 首先打开phpcms文件夹,按照下图路径打开 default是存模板的文件夹 在里面新建一个文件夹 在default中主要用到的是 ...
- textbox的验证
代码如下: textBox1.KeyDown += (a, b) => { if (b.KeyCode == Keys.Enter) { textBox2.Focus(); } }; textB ...
- linux下汇编语言开发总结
汇编语言是直接对应系统指令集的低级语言,在语言越来越抽象的今天,汇编语言并不像高级语言那样使用广泛,仅仅在驱动程序,嵌入式系统等对性能要求苛刻的领域才能见到它们的身影.但是这并不表示汇编语言就已经没有 ...
- selenium自动化之定位多个元素
前面我们讲的都是如何定位单个元素,下面讲下怎么去定位多个元素,并且输出文本. 以百度为例:获取标红的这一组元素的文本 这里我用到的是xpath来定位的://div[@id="u1" ...
- RabbitMQ入门:在Spring Boot 应用中整合RabbitMQ
在上一篇随笔中我们认识并安装了RabbitMQ,接下来我们来看下怎么在Spring Boot 应用中整合RabbitMQ. 先给出最终目录结构: 搭建步骤如下: 新建maven工程amqp 修改pom ...