一、關於暴力破解
前幾天新購進了一台阿里雲服務器,使用過程中時常會收到“主機被暴力破解”的警告,警告信息如下:
雲盾用戶您好!您的主機:... 正在被暴力破解,系統已自動啟動破解保護。詳情請登錄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
該配置文件是設置用戶登陸時的提示信息。