日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux系统安全及应用(账号控制、su、sudo、开关机安全控制、终端登录安全控制等)

發(fā)布時(shí)間:2024/2/28 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统安全及应用(账号控制、su、sudo、开关机安全控制、终端登录安全控制等) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Linux系統(tǒng)安全及應(yīng)用

  • 一、賬號(hào)安全控制
    • 1.系統(tǒng)賬號(hào)清理
    • 2.密碼安全控制
      • 2.1設(shè)置密碼有效期
      • 2.2要求用戶下次登錄時(shí)修改密碼
    • 3.命令歷史限制
    • 4.終端自動(dòng)注銷(xiāo)
  • 二、su命令
    • 1.使用su命令切換用戶
    • 2.禁止用戶使用su命令
    • 3.查看su操作記錄
  • 三、Linux中的PAM安全認(rèn)證
    • 1.PAM認(rèn)證原理
    • 2.PAM認(rèn)證的構(gòu)成
    • 3.控制標(biāo)記的補(bǔ)充說(shuō)明
    • 4.PAM安全認(rèn)證流程
  • 四、使用sudo機(jī)制提升權(quán)限(sudo)
    • 1.配置sudo授權(quán)
    • 2.授權(quán)格式
    • 3.查看sudo操作記錄
    • 4.別名的創(chuàng)建
  • 五、開(kāi)關(guān)機(jī)安全控制
    • 1.調(diào)整BIOS引導(dǎo)設(shè)置
    • 2.GRUB限制
      • 2.1 限制修改GRUB引導(dǎo)參數(shù)
  • 六、終端登錄安全控制
    • 1.限制root只在安全終端登錄
    • 2.禁止普通用戶登錄

一、賬號(hào)安全控制

1.系統(tǒng)賬號(hào)清理

  • 將非登陸用戶的Shell設(shè)為/sbin/nologin或者/bin/falsh
usermod -s /sbin/nologin 用戶名
  • 鎖定長(zhǎng)期不使用的賬號(hào)
usermod -L 用戶名 鎖定用戶賬戶 passwd -l 用戶名 鎖定用戶密碼 passwd -S 用戶名 查看用戶狀態(tài)
  • 刪除無(wú)用賬號(hào)
userdel [-r] 用戶名 刪除用戶-r宿主目錄一起刪除
  • 鎖定賬號(hào)文件passwd、shadow
chattr +i /etc/passwd /etc/shadow 鎖定文件 lsattr /etc/passwd /etc/shadow 查看文件狀態(tài) chattr -i /etc/passwd /etc/shadow 解鎖文件

演示:

2.密碼安全控制

2.1設(shè)置密碼有效期

方法一:修改密碼配置文件適用于新建用戶 vim /etc/login.defs …… PASS_MAX_DAYS 30 方法二:適用于已有用戶 [root@localhost ~]# chage -M 30 用戶 [root@localhost ~]# cat /etc/shadow | grep 用戶

方法一演示:



方法二演示:

2.2要求用戶下次登錄時(shí)修改密碼

chage -d 0 lisi 強(qiáng)制在下次登陸時(shí)更改密碼 cat /etc/shadow | grep 用戶 shadow文件中的第三個(gè)字段被修改為0

演示:

3.命令歷史限制

  • 減少記錄的命令條數(shù)
[root@localhost ~]# vim /etc/profile #編輯profile文件 export HISTSIZE=20 #保存20條歷史記錄 [root@localhost ~]# source /etc/profile #執(zhí)行一次配置文件,讓配置文件生效

演示:

  • 登錄時(shí)自動(dòng)清空命令歷史
[root@localhost ~]#vi ~/.bashrcecho " " > ~/.bash_history

演示:

重新啟動(dòng)后可以看到之前的命令全部清空了

4.終端自動(dòng)注銷(xiāo)

  • 閑置600秒后自動(dòng)注銷(xiāo)
vim /etc/profile #編輯profile文件 export TMOUT=600 #設(shè)定時(shí)間600[root@localhost ~]# source /etc/profile #調(diào)用配置文件

二、su命令

1.使用su命令切換用戶

■用途及用法

  • 用途:Substitute User,切換用戶
  • 格式 su -目標(biāo)用戶

■密碼驗(yàn)證

  • root→任意用戶,不驗(yàn)證密碼
  • 普通用戶→其他用戶,驗(yàn)證目標(biāo)用戶的密碼
[root@localhost ~]$ su - root 帶-選項(xiàng)表示將使用目標(biāo)用戶的登陸Shell環(huán)境 口令: [root@localhost ~]# whoamiroot

2.禁止用戶使用su命令

第一步:將允許使用su命令的用戶加入wheel組

gpasswd -a 用戶 wheel #添加用戶到wheel組中 grep wheel /etc/group #確定wheel組成員


第二步:啟用pam_wheel認(rèn)證模塊
在/etc/pam.d/su文件里設(shè)置禁止用戶使用su命令

在/etc/pam.d/su文件里設(shè)置禁止用戶使用su命令 vim /etc/pam.d/su 編輯/etc/pam.d/su文件 2 // auth sufficient pam_rootok.so ... 6 // #auth required pam_wheel.so use_uid #去掉此行開(kāi)頭的注釋 ...【1】以上兩行是默認(rèn)狀態(tài)(即開(kāi)啟第一行,注釋第二行),這種狀態(tài)下是允許所有用戶間使用su命令進(jìn)行切換的?!?】?jī)尚卸甲⑨屢彩窃试S所有用戶都能使用su命令,但root下使用su切換到其他普通用戶需要輸入密碼; 如果第一行不注釋,則root使用su切換普通用戶就不需要輸入密碼 (pam_rootok.so模塊的主要作用是使uid為0的用戶,即 root用戶能夠直接通過(guò)認(rèn)證而不用輸入密碼)【3】如果開(kāi)啟第二行,表示只有root用戶和wheel組內(nèi)的用戶才可以使用su命令。【4】如果注釋第一行,開(kāi)啟第二行,表示只有wheel組內(nèi)的用戶才能使用su命令,root用戶也被禁用su命令。

演示:

3.查看su操作記錄

  • 安全日志文件:/var/log/secure
cat /var/log/secure 查看su命令操作記錄

三、Linux中的PAM安全認(rèn)證

  • Linux-PAM是linux可插拔認(rèn)證模塊,是一套可定制、可動(dòng)態(tài)加載的共享庫(kù),使本地系統(tǒng)管理員可以隨意選擇程序的認(rèn)證方式。
  • PAM使用/etc/pam.d/下的配置文件,來(lái)管理對(duì)程序的認(rèn)證方式。應(yīng)用程序調(diào)用相應(yīng)的PAM配置文件,從而調(diào)用本地的認(rèn)證模塊,模塊放置在/lib64/security下,以加載動(dòng)態(tài)庫(kù)的形式進(jìn)行認(rèn)證。比如使用su命令時(shí),系統(tǒng)會(huì)提示輸入root用戶的密碼,這就是su命令通過(guò)調(diào)用PAM模塊實(shí)現(xiàn)的。

1.PAM認(rèn)證原理

  • 一般遵循的順序
    Service(服務(wù))—>PAM(配置文件)—>pam_*.so
  • PAM首先確定哪一項(xiàng)服務(wù),然后加載相應(yīng)的PAM配置文件,最后調(diào)用PAM認(rèn)證模塊進(jìn)行安全認(rèn)證
  • 用戶訪問(wèn)服務(wù)器的時(shí)候,服務(wù)器的某一個(gè)服務(wù)程序把用戶的請(qǐng)求發(fā)送到PAM模塊進(jìn)行認(rèn)證
  • 同的應(yīng)用程序所對(duì)應(yīng)的PAM 模塊也是不同的
如果想查看某個(gè)程序是否支持 PAM 認(rèn)證,可以用 ls 命令進(jìn)行查看/etc/pam.d/。 示例:查看su是否支持PAM模塊認(rèn)證 ls /etc/pam.d | grep su

2.PAM認(rèn)證的構(gòu)成

  • 每一行都是獨(dú)立的認(rèn)證過(guò)程
  • 每一行可以區(qū)分為三個(gè)字段:認(rèn)證類(lèi)型、控制類(lèi)型、PAM模塊、PAM模塊參數(shù)

    第一段列表PAM認(rèn)證模塊類(lèi)型
認(rèn)證模塊類(lèi)型作用
auth對(duì)用戶身份進(jìn)行識(shí)別,如提示輸入密碼,判斷是否為root。
account對(duì)賬號(hào)各項(xiàng)屬性進(jìn)行檢查,如是否允許登錄系統(tǒng),帳號(hào)是否已經(jīng)過(guò)期,是否達(dá)到最大用戶數(shù)等。
password使用用戶信息來(lái)更新數(shù)據(jù),如修改用戶密碼。
session定義登錄前以及退出后所要進(jìn)行的會(huì)話操作管理,如登錄連接信息,用戶數(shù)據(jù)的打開(kāi)和關(guān)閉,掛載文件系統(tǒng)。

第二列代表PAM控制標(biāo)記

控制類(lèi)型作用
required表示需要返回一個(gè)成功值,如果返回失敗,不會(huì)立刻將失敗結(jié)果返回,而是繼續(xù)進(jìn)行同類(lèi)型的下一驗(yàn)證,所有此類(lèi)型的模塊都執(zhí)行完成后,再返回失敗。
requisite與required類(lèi)似,但如果此模塊返回失敗,則立刻返回失敗并表示此類(lèi)型失敗。
sufficient如果此模塊返回成功,則直接向程序返回成功,表示此類(lèi)成功,如果失敗,也不影響這類(lèi)型的返回值。
optional不進(jìn)行成功與否的返回,一般不用于驗(yàn)證,只是顯示信息(通常用于 session 類(lèi)型)。
include表示在驗(yàn)證過(guò)程中調(diào)用其他的PAM配置文件。比如很多應(yīng)用通過(guò)完整調(diào)用/etc/pam.d/system-auth(主要負(fù)責(zé)用戶登錄系統(tǒng)的認(rèn)證工作)來(lái)實(shí)現(xiàn)認(rèn)證而不需要重新逐一去寫(xiě)配置項(xiàng)。

第三列代表PAM模塊:

  • 默認(rèn)是在/lib64/security/目錄下,如果不在此默認(rèn)路徑下,要填寫(xiě)絕對(duì)路徑
  • 同一個(gè)模塊,可以出現(xiàn)在不同的模塊類(lèi)型中,它在不同的類(lèi)型中所執(zhí)行的操作都不相同,這是由于每個(gè)模塊針對(duì)不同的模塊類(lèi)型編制了不同的執(zhí)行函數(shù)

第四列代表PAM模塊的參數(shù):

  • 根據(jù)所使用的模塊進(jìn)行添加
  • 傳遞給模塊的參數(shù),參數(shù)可以有多個(gè),之間用空格分隔開(kāi)

3.控制標(biāo)記的補(bǔ)充說(shuō)明

  • required:表示該行以及所涉及模塊的成功是用戶通過(guò)鑒別的【必要條件】。換句話說(shuō),只有當(dāng)對(duì)應(yīng)于應(yīng)用程序的所有帶required標(biāo)記的模塊全部成功后,該程序才能通過(guò)鑒別。同時(shí),如果任何帶required標(biāo)記的模塊出現(xiàn)了錯(cuò)誤,PAM并不立刻將錯(cuò)誤消息返回給應(yīng)用程序,而是在所有此類(lèi)型模塊都調(diào)用完畢后才將錯(cuò)誤消息返回調(diào)用他的程序。
    反正說(shuō)白了,就是必須將所有的此類(lèi)型模塊都執(zhí)行一次,其中任何一個(gè)模塊驗(yàn)證出錯(cuò),驗(yàn)證都會(huì)繼續(xù)進(jìn)行,并在執(zhí)行完成之后才返回錯(cuò)誤信息。這樣做的目的就是不讓用戶知道自己被哪個(gè)模塊拒絕,通過(guò)一種隱蔽的方式來(lái)保護(hù)系統(tǒng)服務(wù)。就像設(shè)置防火墻規(guī)則的時(shí)候?qū)⒕芙^類(lèi)的規(guī)則都設(shè)置為drop樣,以致于用戶在訪問(wèn)網(wǎng)絡(luò)不成功的時(shí)候無(wú)法準(zhǔn)確判斷到底是被拒絕還是目標(biāo)網(wǎng)絡(luò)不可達(dá)。
  • requisite:與required相仿,只有帶此標(biāo)記的模塊返回成功后,用戶才能通過(guò)鑒別。不同之處在于其一旦失敗就不再執(zhí)行堆中后面的其他模塊,并且鑒別過(guò)程到此結(jié)束,同時(shí)也公立即返回錯(cuò)誤信息。與上面的required相比,似乎要顯得更光明正大一些。
  • sufficient:表示該行以及所涉及模塊驗(yàn)證成功是用戶通過(guò)鑒別的【充分條件】。也就是說(shuō)只要標(biāo)記為sufficient的模塊一旦驗(yàn)證成功,那么PAM便立即向應(yīng)用程序返回成功結(jié)果而不必嘗試任何其他模塊。即便后面的層疊模塊使用了requisite或者required控制標(biāo)志也是一樣。當(dāng)標(biāo)記為sufficient的模塊失敗時(shí),sufficient模塊會(huì)當(dāng)做optional對(duì)待。因此擁有sufficient標(biāo)志位的配置項(xiàng)在執(zhí)行驗(yàn)證出錯(cuò)的時(shí)候并不公導(dǎo)致整個(gè)驗(yàn)證失敗,但執(zhí)行驗(yàn)證成功之時(shí)則大門(mén)敞開(kāi)。所以該控制位的使用務(wù)必慎重。
  • optional:他表示即便該行所涉及的模塊驗(yàn)證失敗用戶仍能通過(guò)認(rèn)證。在PAM體系中,帶有該標(biāo)記的模塊失敗后將繼續(xù)處理下一模塊。也就是說(shuō)即使本行指定的模塊驗(yàn)證失敗,也允許用戶享受應(yīng)用程序提供的服務(wù)。使用該標(biāo)志,PAM框架會(huì)忽略這個(gè)模塊產(chǎn)生的驗(yàn)證錯(cuò)誤,繼續(xù)順序執(zhí)行下一個(gè)層疊模塊。

4.PAM安全認(rèn)證流程


1、required驗(yàn)證失敗時(shí)仍然繼續(xù),但返回Fail
2、requisite驗(yàn)證失敗則立即結(jié)束整個(gè)驗(yàn)證過(guò)程,返回Fail
3、sufficient驗(yàn)證成功則立即返回,不再繼續(xù),否則忽略結(jié)果并繼續(xù)
4、optional不用于驗(yàn)證,只顯示信息(通常用于session類(lèi)型)

四、使用sudo機(jī)制提升權(quán)限(sudo)

  • 用途:以其他用戶身份(如root)執(zhí)行授權(quán)的命令
  • 用法:sudo 授權(quán)命令

1.配置sudo授權(quán)

visudo 或者 vim /etc/sudoers 注意:保存退出時(shí)必須執(zhí)行:wq!才能保存

2.授權(quán)格式

語(yǔ)法格式:

用戶 主機(jī)名=命令程序列表 用戶 主機(jī)名=(用戶) 命令程序列表
  • 用戶:直接授權(quán)指定的用戶名,或采用“%組名”的形式(授權(quán)一個(gè)組的所有用戶)。

  • 主機(jī)名:使用此規(guī)則的主機(jī)名。沒(méi)配置過(guò)主機(jī)名時(shí)可用localhost,有配過(guò)主機(jī)名則用實(shí)際的主機(jī)名,ALL則代表所有主機(jī)

  • (用戶):用戶能夠以何種身份來(lái)執(zhí)行命令。此項(xiàng)可省略,缺省時(shí)以root用戶的身份來(lái)運(yùn)行命令

  • 命令程序列表:允許授權(quán)的用戶通過(guò)sudo方式執(zhí)行的特權(quán)命令,需填寫(xiě)命令程序的完整路徑,多個(gè)命令之間以逗號(hào)“,”進(jìn)行分隔。ALL則代表系統(tǒng)中的所有命令

    這邊我們給lisi提升權(quán)限

[root@localhost ~]# vim /etc/sudoers


3.查看sudo操作記錄

  • 需啟用 Defaults logfile 配置
  • 默認(rèn)日志文件:/var/log/sudo

啟用sudo操作日志

visudo Defaults logfile = /var/log/sudo


這里我們進(jìn)/var/log目錄下查看發(fā)現(xiàn)沒(méi)有sudo日志文件,因?yàn)檫@邊沒(méi)有執(zhí)行sudo命令沒(méi)有產(chǎn)生日志文件


4.別名的創(chuàng)建

用戶別名 User_Alias 主機(jī)別名 Host_Alias 命令別名 Cmnd_AliasJerry localhost=/sbin/*,!/sbin/reboot,!/sbin/poweroff 通配符“*”表示所有,取反符號(hào)“!”表示排除%whell ALL=NOPASSWD:ALL 表示wheel組成員無(wú)需驗(yàn)證密碼即可使用sudo執(zhí)行任何命令使用關(guān)鍵字 User_Alias Host_Alias Cmnd_Alias 來(lái)進(jìn)行設(shè)置別名(別名必須為大寫(xiě)) User_Alias USERS=Tom,Jerry,Mike 用戶的別名users包括:Tom,Jerry,Mike Host_Alias HOSTS=localhost,bogon 主機(jī)別名hosts包括:localhost,bogon Cmnd_Alias CMNDS=/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel USERS HOSTS=CMNDS 用戶組 主機(jī)組 = 命令程序列表


五、開(kāi)關(guān)機(jī)安全控制

1.調(diào)整BIOS引導(dǎo)設(shè)置

  • 將第一引導(dǎo)設(shè)備設(shè)為當(dāng)前系統(tǒng)所在硬盤(pán)
  • 禁止從其他設(shè)備(光盤(pán)、U盤(pán)、網(wǎng)絡(luò))引導(dǎo)系統(tǒng)
  • 將安全級(jí)別設(shè)為setup,并設(shè)置管理員密碼

2.GRUB限制

  • 使用grub2-mkpasswd-pbkdf2生成密鑰
  • 修改/etc/grub.d/00_header文件,添加密碼記錄
  • 生成新的grub.cfg配置文件

2.1 限制修改GRUB引導(dǎo)參數(shù)

通常情況下在系統(tǒng)開(kāi)機(jī)進(jìn)入GRUB 菜單時(shí),按 e 鍵可以查看并修改GRUB 引導(dǎo)參數(shù),這對(duì)服務(wù)器是一個(gè)極大的威脅??梢詾?GRUB 菜單設(shè)置一個(gè)密碼,只有提供正確的密碼才被允許修改引導(dǎo)參數(shù)。

grub2-mkpasswd-pbkdf2 #根據(jù)提示設(shè)置GRUB 菜單的密碼 PBKDF2 hash of your password is grub.pbkdf2…… #省略部分內(nèi)容為經(jīng)過(guò)加密生成的密碼字符串cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak cp /etc/grub.d/00_header /etc/grub.d/00_header.bakvim /etc/grub.d/00_header cat << EOF set superusers="root" #設(shè)置用戶名為root password_pbkdf2 root grub.pbkdf2…… #設(shè)置密碼,省略部分內(nèi)容為經(jīng)過(guò)加密生成的密碼字符串 EOF grub2-mkconfig -o /boot/grub2/grub.cfg #生成新的 grub.cfg 文件

這邊沒(méi)有設(shè)置密碼就可以進(jìn)入GRUB菜單,對(duì)系統(tǒng)產(chǎn)生威脅。


1.根據(jù)提示設(shè)置密碼

2.修改/etc/grub.d/00_header文件,添加密碼記錄

3.生成新的grub.cfg文件

4.重啟進(jìn)入GRUB菜單看到需要輸入密碼了

六、終端登錄安全控制

1.限制root只在安全終端登錄

  • 安全終端配置:/etc/securetty
[root@localhost ~]# vim /etc/securetty #tty5 #禁止root用戶從終端tty5,tty6登錄 #tty6

2.禁止普通用戶登錄

  • 建立/etc/nologin文件
  • 刪除nologin文件或重啟后即恢復(fù)正常
touch /etc/nologin #禁止普通用戶登錄 rm -rf /etc/nologin #取消登錄限制

總結(jié)

以上是生活随笔為你收集整理的Linux系统安全及应用(账号控制、su、sudo、开关机安全控制、终端登录安全控制等)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。