【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
该配置文件是设置用户登陆时的提示信息。