一、关于暴力破解

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

云盾用户您好!您的主机:... 正在被暴力破解,系统已自动启动破解保护。详情请登录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. 201552-53 《Java程序设计》第五周问题汇总

    201552-53 <Java程序设计>第五周问题汇总 1.编译时,终端显示: 注:XXX.java使用了未经检查或不安全的操作,如何解决? 解答:并不是错误,可以忽视. 2.构造函数与类 ...

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

    20155319 2016-2017-2 <Java程序设计>第二周学习总结 课堂学习内容 git:版本控制 java -d bin(当地文件夹) src/Hello.java把生成的.c ...

  3. Linux下MySql变量修改遇到的问题记录

    一.问题记录: 项目上需要使用mysql的过程来自动化构建一批数据,但是调用的时候总是报找不到表或者过程 二.排查过程: (1)首先终端连接mysql后发现,无论表还是过程在数据库中都是存在的,排除了 ...

  4. weka使用笔记3---classfily API调用

    分类器在数据挖掘中的作用不言而喻,weka中的分类器有很多种类型,但是weka在输出结果中,只输出了一个分类的预测的类型,没有输出分类的得分,有一些不给力.如果想知道得分和其预测的类的话,就得调用we ...

  5. python3.0 day02 列表、元组 、字典、字符串操作

    1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作,类似于其他语言中的数组. 定义列表 names = ['Lioa',"Tenglan ...

  6. phpcms 的模板更换

    刚安装完成后的phpcms ,自带的默认模板样式一般,可以自己换模板 首先打开phpcms文件夹,按照下图路径打开 default是存模板的文件夹 在里面新建一个文件夹 在default中主要用到的是 ...

  7. textbox的验证

    代码如下: textBox1.KeyDown += (a, b) => { if (b.KeyCode == Keys.Enter) { textBox2.Focus(); } }; textB ...

  8. linux下汇编语言开发总结

    汇编语言是直接对应系统指令集的低级语言,在语言越来越抽象的今天,汇编语言并不像高级语言那样使用广泛,仅仅在驱动程序,嵌入式系统等对性能要求苛刻的领域才能见到它们的身影.但是这并不表示汇编语言就已经没有 ...

  9. selenium自动化之定位多个元素

    前面我们讲的都是如何定位单个元素,下面讲下怎么去定位多个元素,并且输出文本. 以百度为例:获取标红的这一组元素的文本 这里我用到的是xpath来定位的://div[@id="u1" ...

  10. RabbitMQ入门:在Spring Boot 应用中整合RabbitMQ

    在上一篇随笔中我们认识并安装了RabbitMQ,接下来我们来看下怎么在Spring Boot 应用中整合RabbitMQ. 先给出最终目录结构: 搭建步骤如下: 新建maven工程amqp 修改pom ...