關(guān)于 Linux 運(yùn)維中安全方面的一些筆記

      網(wǎng)友投稿 1084 2025-03-31

      寫在前面


      筆記是報班整理的,適合溫習(xí),不適合新手。整理了一份,希望對小伙伴有幫助.

      生活加油,天天開心!博文主要圍繞以幾個方面:

      Linux基本防護(hù):賬戶安全、文件系統(tǒng)安全、關(guān)閉不需要的服務(wù)

      用戶切換與提權(quán)Vsu和sudo,

      sshdi訪問控制

      加密與解密/對稱加密、非對稱加密、信息摘要

      AIDE入侵檢測

      端口掃描

      一、Linux基本防護(hù)

      ##創(chuàng)建賬戶dachui [root@liruilong ~]# useradd dachui ####查看賬戶dachui的過期時間 [root@liruilong ~]# chage -l dachui 最近一次密碼修改時間 :8月 18, 2020 密碼過期時間 :從不 密碼失效時間 :從不 帳戶過期時間 :從不 ##永不過期 兩次改變密碼之間相距的最小天數(shù) :0 兩次改變密碼之間相距的最大天數(shù) :99999 在密碼過期之前警告的天數(shù) :7 ###-E 指定賬戶dachui的過期時間 [root@liruilong ~]# chage -E 2029-10-01 dachui [root@liruilong ~]# chage -l dachui 最近一次密碼修改時間 :8月 18, 2020 密碼過期時間 :從不 密碼失效時間 :從不 帳戶過期時間 :10月 01, 2029 ##過期時間指定 兩次改變密碼之間相距的最小天數(shù) :0 兩次改變密碼之間相距的最大天數(shù) :99999 在密碼過期之前警告的天數(shù) :7 ###-E 后跟數(shù)字-1,代表取消賬戶的過期時間設(shè)置 [root@liruilong ~]# chage -E -1 dachui [root@liruilong ~]# chage -l dachui 最近一次密碼修改時間 :8月 18, 2020 密碼過期時間 :從不 密碼失效時間 :從不 帳戶過期時間 :從不 ##賬戶永不過期 兩次改變密碼之間相距的最小天數(shù) :0 兩次改變密碼之間相距的最大天數(shù) :99999 在密碼過期之前警告的天數(shù) :7

      設(shè)置強(qiáng)制要求用戶修改密碼 -d 0 案例

      ########設(shè)置強(qiáng)制要求用戶修改密碼 -d 0 案例 ##第一步:給用戶dachui設(shè)置密碼 [root@liruilong ~]# echo 123456 | passwd --stdin dachui 更改用戶 dachui 的密碼 。 passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。 ##第二步:使用dachui用戶遠(yuǎn)程本機(jī) [root@liruilong ~]# ssh dachui@127.0.0.1 ...... dachui@127.0.0.1 s password: #輸入密碼123456 [dachui@liruilong ~]$ #可以登錄,ctrl + D 退出 ##第三步:管理員設(shè)置dachui用戶必須修改密碼,否則無法登錄 [root@liruilong ~]# chage -d 0 dachui ##第四步:重新使用dachui用戶遠(yuǎn)程本機(jī),需要重新設(shè)置密碼 #因?yàn)槭瞧胀ㄓ脩簦瑱?quán)限低,所以密碼必須是8位以上,字母和數(shù)字(tarena123) [root@liruilong ~]# ssh dachui@127.0.0.1 dachui@127.0.0.1s password: #輸入密碼123456 You are required to change your password immediately (root enforced) Last failed login: Tue Aug 18 08:38:45 CST 2020 from localhost on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Tue Aug 18 08:33:19 2020 from localhost WARNING: Your password has expired. You must change your password now and login again! Changing password for user dachui. Changing password for dachui. (current) UNIX password: #輸入以前的密碼123456 New password: #設(shè)置新的密碼為123,太過簡單無法通過 BAD PASSWORD: The password is too similar to the old one New password: #設(shè)置新的密碼為654321,密碼最少是8位 BAD PASSWORD: The password is shorter than 8 characters New password: #設(shè)置新的密碼:tarena123 Retype new password: #重新輸入新密碼:tarena123 passwd: all authentication tokens updated successfully. Connection to 127.0.0.1 closed. #第五步:重新使用賬戶dachui遠(yuǎn)程本機(jī) [root@liruilong ~]# ssh dachui@127.0.0.1 dachui@127.0.0.1s password: #輸入密碼:tarena123 Last login: Tue Aug 18 08:38:49 2020 from localhost [dachui@liruilong ~]$ #ctrl + D 登出

      賬號的鎖定/解鎖

      使用passwd命令: -l 鎖定、-u 解鎖、-S 看狀態(tài)

      ####-S(大寫) 查看用戶dachui密碼的狀態(tài) [root@liruilong ~]# passwd -S dachui dachui PS 2020-08-18 0 99999 7 -1 (密碼已設(shè)置,使用 SHA512 算法。) ###-l 鎖定dachui賬戶 [root@liruilong ~]# passwd -l dachui 鎖定用戶 dachui 的密碼 。 passwd: 操作成功 ####-S(大寫) 查看用戶dachui密碼的狀態(tài),密碼被鎖定,無法登錄使用 [root@liruilong ~]# passwd -S dachui dachui LK 2020-08-18 0 99999 7 -1 (密碼已被鎖定。) ###使用賬戶dachui遠(yuǎn)程本機(jī),無法登錄 [root@liruilong ~]# ssh dachui@127.0.0.1 dachui@127.0.0.1's password: #密碼為: tarena123 Permission denied, please try again. dachui@127.0.0.1's password: ###-u 解鎖dachui賬戶 [root@liruilong ~]# passwd -u dachui 解鎖用戶 dachui 的密碼。 passwd: 操作成功 ###重新使用賬戶dachui遠(yuǎn)程本機(jī),可以登錄 [root@liruilong ~]# ssh dachui@127.0.0.1 dachui@127.0.0.1s password: #密碼為: tarena123 Last failed login: Tue Aug 18 08:55:30 CST 2020 from localhost on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Tue Aug 18 08:46:50 2020 from localhost [dachui@liruilong ~]$ #ctrl + D 退出登錄 Connection to 127.0.0.1 closed. #####-S(大寫) 重新查看用戶dachui密碼的狀態(tài),已解鎖 [root@liruilong ~]# passwd -S dachui dachui PS 2020-08-18 0 99999 7 -1 (密碼已設(shè)置,使用 SHA512 算法。)

      強(qiáng)制定期修改密碼

      配置文件 /etc/login.defs

      主要控制屬性

      #######此管理用戶密碼的操作,只會對后面創(chuàng)建的用戶生效,以前的則不影響 [root@liruilong ~]# vim /etc/login.defs ...... 25 PASS_MAX_DAYS 60 #一個密碼最長可以使用60天 26 PASS_MIN_DAYS 0 #一個密碼最少要用多少天,否則無法修改,0不設(shè)置 27 PASS_MIN_LEN 5 #密碼的最少長度為5 28 PASS_WARN_AGE 7 #密碼過期的前7天,對用戶發(fā)送警告信息 ...... #####對當(dāng)前用戶的密碼進(jìn)行管理,/etc/shadow 為用戶密碼的配置文件 ###用戶密碼的最長有效期為99999,可以直接修改配置文件對以前的用戶進(jìn)行密碼管理 [root@liruilong ~]# cat /etc/shadow | head -3 root:$l2XJYza/aL1Ug4TakBxc4ED.pyWbBR5Yg3XVX/3lT3S0Efuh4eNxC83AdIlYDeEzcafsbV 8YkVo88T0W/vVDTxpYtiFceiUM9qQk0::0:99999:7::: bin:*:17632:0:99999:7::: daemon:*:17632:0:99999:7:::

      偽裝登錄提示

      這個 centos7 可能有點(diǎn)問題,可以寫到 .bashrc 文件里:.bashrc文件通常也是通過某個bash啟動文件來運(yùn)行的。因?yàn)?bashrc文件會運(yùn)行兩次:一次是 當(dāng)你登入bash shell時,另一次是當(dāng)你啟動一個bash shell時。如果你需要一個腳本在兩個時刻都得 以運(yùn)行,可以把這個腳本放進(jìn)該文件中。

      #####修改本地用戶登錄的提示信息 [root@liruilong ~]# vim /etc/issue Welcome to Tedu #####修改網(wǎng)絡(luò)用戶登錄的提示信息,遠(yuǎn)程登錄時顯示,ssh默認(rèn)關(guān)閉此功能 ##可以不修改 [root@liruilong ~]# vim /etc/issue.net Welcome to Ted

      文件系統(tǒng)安全

      鎖定/解鎖保護(hù)文件

      文件屬性控制

      :chattr、lsattr

      +、- 控制方式

      屬性i:

      不可變 (immutable)

      屬性a:

      僅可追加(append only)

      ######創(chuàng)建一個測試文件 [root@liruilong ~]# vim test.sh hello the world ni hao. #########文件如果有i的屬性,則對于此文件,增刪改查均無法操作 ##lsattr 查看文件的屬性 [root@liruilong ~]# lsattr test.sh ---------------- test.sh ##chattr 給文件test.sh增加i的屬性 [root@liruilong ~]# chattr +i test.sh ##查看文件test.sh屬性 [root@liruilong ~]# lsattr test.sh ----i----------- test.sh ##測試,寫入操作和刪除操作都無法進(jìn)行 [root@liruilong ~]# echo 123 > test.sh -bash: test.sh: 權(quán)限不夠 [root@liruilong ~]# rm -rf test.sh rm: 無法刪除"test.sh": 不允許的操作 ##取消文件test.sh的i的屬性,通過lsattr查看 [root@liruilong ~]# chattr -i test.sh [root@liruilong ~]# lsattr test.sh ---------------- test.sh #########文件如果有a的屬性,則對于此文件,只能執(zhí)行追加的操作 ####對于日志文件執(zhí)行a屬性,防止內(nèi)容被篡改 ##給文件test.sh增加一個a屬性,lsattr查看 [root@liruilong ~]# chattr +a test.sh [root@liruilong ~]# lsattr test.sh -----a---------- test.sh ###測試,追加內(nèi)容的操作可以進(jìn)行,寫入,刪除失敗 [root@liruilong ~]# echo 123 >> test.sh [root@liruilong ~]# echo 123 > test.sh -bash: test.sh: 不允許的操作 [root@liruilong ~]# rm -rf test.sh rm: 無法刪除"test.sh": 不允許的操作 ##取消文件test.sh的a的屬性,通過lsattr查看 [root@liruilong ~]# chattr -a test.sh [root@liruilong ~]# lsattr test.sh ---------------- test.sh

      文件系統(tǒng)掛載熟悉

      mount 掛載屬性

      noexec: 不可執(zhí)行程序

      noatime: 不更新文件的訪問時間

      noexec:

      掛載設(shè)備時,添加此選項,則此設(shè)備中的所有程序均不可被執(zhí)行(例如:病毒或木馬)

      noatime:

      計算機(jī)中的文件都有訪問時間(atime),修改時間(mtime);

      掛載設(shè)備時,添加此選項,則所有文件的訪問時間都不再被更新;

      如果計算機(jī)中的a文件被用戶訪問,則a文件的atime就會被修改,對于web服務(wù)器而言,會有成千上萬的

      用戶訪問網(wǎng)頁,則這個網(wǎng)頁的atime就會被頻繁修改,會消耗大量的CPU資源,需要在掛載的時候使用

      #########boot分區(qū)掛載示例,其他掛載方法類似 [root@liruilong ~]# vim /etc/fstab UUID=c120742d-5bdf-48c3-b830-3bfb3e796009 /boot xfs defaults,noexec,noatime 0 0 ###-o remount 重新掛載,讓配置生效 [root@liruilong ~]# mount -o remount /boot/ ###查看掛載的屬性,/boot分區(qū)下,有了noexec,noatime [root@liruilong ~]# mount ...... /dev/sda1 on /boot type xfs (rw,noexec,noatime,attr2,inode64,noquota) ...... #####定義一個不斷輸出a的腳本,賦予x執(zhí)行權(quán)限,卻無法運(yùn)行 [root@liruilong ~]# vim /boot/test.sh #!/bin/bash while : do echo a done ##必須是在/boot/目錄下,執(zhí)行腳本 [root@liruilong ~]# cd /boot [root@liruilong boot]# chmod +x test.sh [root@liruilong boot]# ./test.sh -bash: ./test.sh: 權(quán)限不夠

      程序和服務(wù)控制

      禁用非必要的系統(tǒng)服務(wù)

      : 使用systemctl、chkconfig (centos6使用) 工具

      可選服務(wù)列表

      (選擇進(jìn)行關(guān)閉)

      #####停止服務(wù),并設(shè)置為開機(jī)不會自動啟動 [root@liruilong ~]# systemctl stop firewalld [root@liruilong ~]# systemctl disable firewalld

      二、用戶切換與提權(quán)

      su切換用戶身份

      切換與提權(quán)的應(yīng)用場景

      切換用戶身份,When?:SSH遠(yuǎn)程管理/運(yùn)維測試

      提升執(zhí)行權(quán)限,when?:管理權(quán)限細(xì)分

      su切換的基本用法:Substitube User,換人

      快速切換為指定的其他用戶

      普通用戶執(zhí)行時,需驗(yàn)證目標(biāo)用戶的口令

      root執(zhí)行時,無需驗(yàn)證口令

      命令格式

      用法1:su [-] [目標(biāo)用戶]

      用法2:su [-] -c “命令” [目標(biāo)用戶]

      su操作示例

      從普通用戶切換為root,并登錄新Shell環(huán)境,執(zhí)行 su -,或者su - root,不指名目標(biāo)用戶時,默認(rèn)視為root

      #####創(chuàng)建新的用戶jerry,并設(shè)置密碼為123456 [root@liruilong ~]# useradd jerry [root@liruilong ~]# echo 123456 | passwd --stdin jerry 更改用戶 jerry 的密碼 。 passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。 ###從root用戶切換到j(luò)erry用戶 [root@liruilong ~]# su - jerry ###查看當(dāng)前當(dāng)前登錄的用戶身份為jerry,普通用戶的權(quán)限很低 [jerry@liruilong ~]$ whoami jerry [jerry@liruilong ~]$ cat /etc/shadow cat: /etc/shadow: Permission denied [jerry@liruilong ~]$ ls /root/ ls: cannot open directory /root/: Permission denied [jerry@liruilong ~]$ exit #退出jerry用戶登錄狀態(tài) logout

      #####創(chuàng)建新的用戶tom,并設(shè)置密碼為123456 [root@liruilong ~]# useradd tom [root@liruilong ~]# echo 123456 | passwd --stdin tom 更改用戶 tom 的密碼 。 passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。 ###從root用戶切換到j(luò)erry用戶,管理員切換成普通用戶身份不需要密碼 [root@liruilong ~]# su - jerry 上一次登錄:二 8月 18 10:21:41 CST 2020pts/0 上 ###從jerry用戶切換到tom用戶,普通用戶身份的切換需要輸入密碼 [jerry@liruilong ~]$ su - tom Password: #輸入tom用戶的密碼 [tom@liruilong ~]$ exit #退出tom用戶的登錄 logout [jerry@liruilong ~]$ exit #退出jerry用戶的登錄 logout

      ###從root用戶切換到j(luò)erry用戶,管理員切換成普通用戶身份不需要密碼 [root@liruilong ~]# su - jerry 上一次登錄:二 8月 18 10:23:02 CST 2020pts/0 上 ###su - 后面不跟用戶,則默認(rèn)是切換到root用戶下 [jerry@liruilong ~]$ su - Password: #輸入管理員root的密碼 Last login: Tue Aug 18 10:23:53 CST 2020 on pts/0 [root@liruilong ~]# exit #退出,回到j(luò)erry用戶下 [jerry@liruilong ~]$ exit #退出,回到最出的root解釋器下

      root以指定的普通用戶身份執(zhí)行任務(wù):以用戶tom的身份創(chuàng)建目錄,以用戶tom的身份執(zhí)行管理員操作會出錯

      ###-c 以普通用戶jerry的身份執(zhí)行一條命令 [root@liruilong ~]# su - jerry -c "touch /tmp/test.txt" ##查看文件的屬性 [root@liruilong ~]# ll /tmp/test.txt -rw-rw-r-- 1 jerry jerry 0 8月 18 10:25 /tmp/test.txt ####錯誤,普通用戶沒有權(quán)利去重啟sshd服務(wù) [root@liruilong ~]# su - tom -c "systemctl restart sshd" Error creating textual authentication agent: ......

      分析su切換的使用情況:安全日志 /var/log/secure,記錄su驗(yàn)證、Shell開啟與關(guān)閉

      [root@liruilong ~]# tail -4 /var/log/secure Aug 18 10:25:03 localhost su: pam_unix(su-l:session): session opened for user jerry by root(uid=0) Aug 18 10:25:03 localhost su: pam_unix(su-l:session): session closed for user jerry Aug 18 10:40:50 localhost su: pam_unix(su-l:session): session opened for user tom by root(uid=0) Aug 18 10:40:51 localhost su: pam_unix(su-l:session): session closed for user tom

      sudo 提升執(zhí)行權(quán)限

      sudo提權(quán)的基本用法

      Super or another Do,超級執(zhí)行:管理員預(yù)先為用戶設(shè)置執(zhí)行許可,被授權(quán)用戶有權(quán)執(zhí)行授權(quán)的命令,驗(yàn)證自己的口令

      執(zhí)行提權(quán)命令: 用法: sudo 提權(quán)命令

      查看提權(quán)命令: 用法:sudo -l

      配置sudo提權(quán)

      修改方法

      推薦:visudo

      其他:vim /etc/sudoers ---> wq!(強(qiáng)制保存并退出)授權(quán)記錄格式`

      用戶或組

      #指定給特定用戶授權(quán)或者組(多個用戶屬于一個組)

      #指定給組授權(quán)時,組的前面必須加 %,例如:%wheel

      主機(jī)列表

      #允許哪些客戶機(jī)可以通過這個用戶登錄本機(jī)去執(zhí)行命令,例如:ALL(指所有客戶機(jī))

      提權(quán)身份

      #給第一列的用戶賦予權(quán)限,例如:(root)

      [NOPASSWD]:命令列表 #前半部分是不需要密碼執(zhí)行命令;后半部分是要執(zhí)行的命令,且;命令要寫絕

      對路徑

      %wheel ALL=(root) ALL #給wheel組中的所有用戶,賦予root的權(quán)限,讓其可以在任何主機(jī)上以root的身份去執(zhí)行任何命令

      允許mike以root權(quán)限執(zhí)行 /sbin/ 下的所有命令,但是,禁止修改eth0網(wǎng)卡的參數(shù)

      /sbin/* #模糊匹配,/sbin/下的所有命令都可以用sudo提權(quán)使用 !/sbin/ifconfg etho #! 代表取反,該命令不能被sudo提權(quán)使用

      ####sudo 提權(quán),讓普通用戶jerry可以執(zhí)行systemctl restart sshd 命令 [root@liruilong ~]# id jerry uid=1002(jerry) gid=1002(jerry) 組=1002(jerry) ####通過which命令,獲取systemctl的絕對路徑 [jerry@liruilong ~]# which systemctl /bin/systemctl ###最后一行追加,允許jerry用戶,可以以任何人的身份,從任何客戶端,執(zhí)行此命令 ##立刻生效 [root@liruilong ~]# visudo ...... jerry ALL=(ALL) /usr/bin/systemctl ######測試,驗(yàn)證 ##切換到j(luò)erry用戶下 [root@liruilong ~]# su - jerry 上一次登錄:二 8月 18 10:50:16 CST 2020pts/0 上 ####使用sudo提權(quán)命令,重啟sshd服務(wù) [jerry@liruilong ~]$ sudo systemctl restart sshd [sudo] password for jerry: ##jerry用戶密碼:123456 Sorry, try again. ###sudo -l 查看jerry用戶可以執(zhí)行的sudo提權(quán)命令 [jerry@liruilong ~]$ sudo -l ...... User jerry may run the following commands on liruilong: (ALL) /usr/bin/systemctl

      wheel組的用戶無需驗(yàn)證可執(zhí)行所有命令

      ####通過which命令,獲取parted分區(qū)命令的絕對路徑 [root@liruilong ~]# which parted /usr/sbin/parted ###最后一行追加,允許tom用戶,可以以任何人的身份,從任何客戶端,無密碼使用parted命令 ##立刻生效 [root@liruilong ~]# visudo ...... jerry ALL=(ALL) /usr/bin/systemctl tom ALL=(ALL) NOPASSWD:/usr/sbin/parted ######測試,驗(yàn)證 ##切換到tom用戶下 [root@liruilong ~]# su - tom 上一次登錄:二 8月 18 10:40:50 CST 2020pts/0 上 ##sudo提權(quán)后,tom用戶下,查看磁盤/dev/sda的分區(qū)情況 [tom@liruilong ~]$ sudo parted /dev/sda print Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm [tom@liruilong ~]$ exit #退出tom用戶登錄

      分析sudo提權(quán)的使用情況: 修改全局配置,啟動日志Defaults logfile="/var/log/sudo"

      ##########修改全局配置,啟動的日志,該日志記錄sudo提權(quán)的使用情況 ##最后一行添加:Defaults logfile="/var/log/sudo" [root@liruilong ~]# visudo ...... jerry ALL=(ALL) /usr/bin/systemctl tom ALL=(ALL) NOPASSWD:/usr/sbin/parted Defaults logfile="/var/log/sudo" ########驗(yàn)證日志信息,需先執(zhí)行一次提權(quán)命令 [root@liruilong ~]# su - tom 上一次登錄:二 8月 18 10:56:52 CST 2020pts/0 上 ##sudo提權(quán)后,tom用戶下,查看磁盤/dev/sda的分區(qū)情況 [tom@liruilong ~]$ sudo parted /dev/sda print Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm [tom@liruilong ~]$ exit #退出tom用戶的登錄狀態(tài) ######查看日志,看看sudo提權(quán)的使用信息 [root@liruilong ~]# cat /var/log/sudo Aug 18 13:02:12 : jerry : TTY=pts/0 ; PWD=/home/jerry ; USER=root ; COMMAND=/bin/systemctl restart sshd Aug 18 13:18:34 : tom : TTY=pts/0 ; PWD=/home/tom ; USER=root ; COMMAND=/sbin/parted /dev/sda print

      三、sshd訪問控制

      SSH基本防護(hù)

      SSH防護(hù)概述

      存在的安全隱患

      密碼嗅探、鍵盤記錄

      暴力枚舉賬號、猜解密碼

      常見的防護(hù)措施

      用戶限制、黑白名單

      更改驗(yàn)證方式(密碼 --> 密鑰對)

      防火墻…

      sshd基本安全配置

      配置文件

      /etc/ssh/sshd_config

      Port 3389 //改用非標(biāo)準(zhǔn)端口

      ListenAddress 192.168.168.174

      PermitrootLogin //禁止root登錄

      #####修改ssh配置時,先備份sshd主配置文件 [root@liruilong ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak ####修改虛擬機(jī)ssh遠(yuǎn)程連接得端口為3389 [root@liruilong ~]# vim /etc/ssh/sshd_config 17 Port 3389 ##重啟sshd服務(wù) [root@liruilong ~]# systemctl restart sshd #xshell測試使用ssh遠(yuǎn)程時必須加端口號3389 [c:\~]$ ssh root@192.168.2.100 3389 ####用戶只能通過192.168.2.100這個IP地址遠(yuǎn)程liruilong這臺虛擬機(jī) [root@liruilong ~]# vim /etc/ssh/sshd_config 20 ListenAddress 192.168.2.100 ##重啟sshd服務(wù),虛擬機(jī)新添加網(wǎng)卡配置其他IP地址測試 [root@liruilong ~]# systemctl restart sshd #xshell測試使用ssh遠(yuǎn)程時必須加端口號3389 [c:\~]$ ssh root@192.168.2.100 3389

      #####禁止root遠(yuǎn)程登錄虛擬機(jī)liruilong [root@liruilong ~]# vim /etc/ssh/sshd_config 38 PermitRootLogin no ##重啟sshd服務(wù),xshell使用root遠(yuǎn)程登錄liruilong失敗 [root@liruilong ~]# systemctl restart sshd #####xshell以普通用戶jerry的身份可以登錄liruilong虛擬機(jī) ##使用su -切換成root身份,或者使用sudo提權(quán)命令 [c:\~]$ ssh jerry@192.168.2.100 3389 #密碼123456 [tom@liruilong ~]$ [tom@liruilong ~]$ su - root #su - 切換root用戶 密碼: #輸入root密碼 [root@liruilong ~]#

      配置文件

      /etc/ssh/sshd_config

      UseDNS no //不解析客戶機(jī)地址

      LoginGraceTime 1m //登錄限時

      MaxAuthTries 3//每連接最多認(rèn)證次數(shù)

      UseDNS no #不對客戶機(jī)進(jìn)行域名解析,訪問網(wǎng)站的普通用戶是沒有域名的,不需要解析

      LoginGraceTime 1m #用戶在ssh遠(yuǎn)程服務(wù)器時,如果1分鐘內(nèi)用戶沒有輸入用戶名和密碼,則斷開連接

      #########舉例演示 ##登錄限時修改為10s,真實(shí)環(huán)境需要長一點(diǎn) [root@liruilong ~]# vim /etc/ssh/sshd_config 37 LoginGraceTime 10s 115 UseDNS no ##重啟sshd服務(wù) [root@liruilong ~]# systemctl restart sshd ###使用xshell遠(yuǎn)程連接時,不輸入密碼,等待10s中,會出現(xiàn)連接關(guān)閉的提示 [c:\~]$ ssh jerry@192.168.2.100 3389 Connection closing...Socket close.

      MaxAuthTries 3 : #用戶遠(yuǎn)程服務(wù)器時,密碼錯誤,可以嘗試多少次

      #這里的3不是指的3次,是一個概數(shù),需要不斷嘗試錯誤連接,來得出這里得數(shù)字 #########舉例演示 ##修改連接認(rèn)證次數(shù)為3 [root@liruilong ~]# vim /etc/ssh/sshd_config 40 MaxAuthTries 3 ##重啟sshd服務(wù) [root@liruilong ~]# systemctl restart sshd ##使用xshell遠(yuǎn)程連接,輸入錯誤密碼,輸入兩次就會出現(xiàn)連接端口的提示 [c:\~]$ ssh jerry@192.168.2.100 3389 Connection closing...Socket close.

      ssh經(jīng)常一段時間就斷掉解決辦法去掉注釋,改成

      vim /etc/ssh/sshd_config ClientAliveInterval 30 ClientAliveCountMax 86400

      這兩行的意思分別是

      、客戶端每隔多少秒向服務(wù)發(fā)送一個心跳數(shù)據(jù)

      、客戶端多少秒沒有相應(yīng),服務(wù)器自動斷掉連接

      重啟sshd服務(wù)

      #service sshd restart

      sshd黑/白名單配

      配置文件 /etc/ssh/sshd_config

      DenyUsers USER1 USER2 …

      AllowUsers USER1@HOST USER2 …

      DenyGroups GROUP1 GROUP2 …

      AllowGroups GROUP1 GROUP2 …

      #####設(shè)置黑白名單時,如果要允許或拒絕多個用戶,用戶之間以空格作為分隔符 DenyUsers #設(shè)置黑名單,拒絕某些用戶登錄本機(jī) AllowUsers #設(shè)置白名單,允許某些用戶登錄本機(jī) DenyGroups #設(shè)置黑名單,拒絕一個或多個用戶組登錄本機(jī) AllowGroups #設(shè)置白名單,允許一個或多個用戶組登錄本機(jī) AllowUsers USER1@HOST #設(shè)置白名單,允許用戶USER1從HOST這臺主機(jī)登錄本機(jī)

      應(yīng)用示例:僅允許一部分用戶(從指定地點(diǎn))登入,其他任何用戶均禁止登入

      ####使用xshell讓用戶jerry使用3389端口登錄 [c:\~]$ ssh jerry@192.168.2.100 3389 [jerry@liruilong ~]$ su - root #切換為root身份 [jerry@liruilong ~]# #######設(shè)置白名單,僅允許tom可以ssh遠(yuǎn)程登錄服務(wù)器,其他任何用戶都無法登錄 ##如果設(shè)置的是白名單,則不需要設(shè)置黑名單了,默認(rèn)是拒絕其他用戶遠(yuǎn)程登錄 [root@liruilong ~]# vim /etc/ssh/sshd_config 42 AllowUsers tom ##重啟sshd服務(wù) [root@liruilong ~]# systemctl restart sshd ######xshell遠(yuǎn)程測試 ##jerry無法再登錄了 [c:\~]$ ssh jerry@192.168.2.100 3389 #登錄密碼123456 ##tom用戶可以遠(yuǎn)程登錄 [c:\~]$ ssh tom@192.168.2.100 3389 #登錄密碼 123456 [tom@liruilong ~]$ ```bash #######設(shè)置黑名單,僅拒絕tom通過ssh遠(yuǎn)程登錄服務(wù)器,其他用戶都允許 [root@liruilong ~]# vim /etc/ssh/sshd_config 42 DenyUsers tom ##重啟sshd服務(wù) [root@liruilong ~]# systemctl restart sshd ######xshell遠(yuǎn)程測試 ##tom無法再登錄了 [c:\~]$ ssh tom@192.168.2.100 3389 #登錄密碼123456 ##jerry用戶可以遠(yuǎn)程登錄 [c:\~]$ ssh jerry@192.168.2.100 3389 #登錄密碼 123456 [tom@liruilong ~]$

      #######設(shè)置黑名單,拒絕用戶tom從IP地址為192.168.2.1的主機(jī),來遠(yuǎn)程服務(wù)器svr7 [root@svr7 ~]# vim /etc/ssh/sshd_config 42 DenyUsers tom@192.168.2.1 ##重啟sshd服務(wù) [root@svr7 ~]# systemctl restart sshd

      SSH密鑰對驗(yàn)證

      sshd驗(yàn)證方式控制

      口令驗(yàn)證

      關(guān)于 Linux 運(yùn)維中安全方面的一些筆記

      ::檢查登錄用戶的口令是否一致:密碼驗(yàn)證:#當(dāng)windows被攻擊,系統(tǒng)被植入木馬,容易被攻擊者從鍵盤記錄等方式中獲取密碼

      密鑰驗(yàn)證

      :檢查客戶端私鑰與服務(wù)器上的公鑰是否匹配:密鑰驗(yàn)證:#密鑰驗(yàn)證的安全度很高;#不會有輸入密碼的過程,鍵盤工具方式無效;

      PasswordAuthentication

      yes #ssh支持密碼驗(yàn)證

      47 AuthorizedKeysFile .ssh/authorized_keys ##指定公鑰的存放位置,在用戶的家目錄 下的.ssh目錄中的authorized_keys文件中

      密鑰對驗(yàn)證的實(shí)現(xiàn)思路

      第一步:客戶機(jī)創(chuàng)建密鑰對,私鑰文件:id_rsa 公鑰文件: id_rsa.pub;

      第二步: 客戶機(jī)上傳公鑰到服務(wù)器上用戶的家目錄下 ./ssh/authorized_keys文件;

      ssh-copy-id 命令,會自動將公鑰放到指定用戶家目錄的對應(yīng)文件中

      創(chuàng)建SSH密鑰對:使用工具 ssh-keygen

      可以手動指定加密算法(-t rsa 或 -t dsa)

      若不指定,默認(rèn)采用RSA加密

      ######非交互的方式創(chuàng)建密鑰對 [root@svr7 ~]# ssh-keygen -N '' -f /root/.ssh/id_rsa Generating public/private rsa key pair. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:+pb7aZI5xtlulc1Z3MQjjsNGLu5mbCHxU5JfPtWOe+w root@svr7 The keys randomart image is: +---[RSA 2048]----+ | . | | . . .o| | = o .o+| | . + B o .=| | S * ++.= | | o = .oo= .| | ..+*o. .o | | .@*+. . o| | o*O+ oE| +----[SHA256]-----+ ###密鑰對會生成在/root/.ssh/目錄下 [root@svr7 ~]# ls /root/.ssh/ id_rsa id_rsa.pub known_hosts

      部署SSH公鑰

      #方法一:將公鑰通過ssh-copy-id放到192.168.2.200的服務(wù)器上 [root@svr7 ~]# ssh-copy-id root@192.168.2.200 #查看公鑰文件的保存路徑 [root@client ~]# ls /root/.ssh/ authorized_keys

      四、加密與解密

      加解密概述

      加密目的及方式

      確保數(shù)據(jù)的機(jī)密性對稱加密:

      加密/解密用同一個密鑰

      非對稱加密:加密/解密用不同的密鑰(公鑰、私鑰)

      保護(hù)信息的完整性(常用于做數(shù)據(jù)完整性校驗(yàn))

      信息摘要:基于輸入的信息生成長度較短、位數(shù)固定的散列值

      常見的加密算法

      對稱加密

      DES,Data Encryption Standard

      AES,Advanced Encryption Standard

      非對稱加密

      RSA,Rivest Shamirh Adleman

      DSA,Digital Signature Algorithm

      Hash散列技術(shù),用于信息摘要

      MD5, Message Digest Algorithm 5 : 根據(jù)輸入的文本(長度不限) ,生成固定長度(比如128位)的摘要文本

      SHA, Secure Hash Algorithm1 : 只要輸入的文本不同,則生成的摘要文本也不一樣

      MD5完整性檢驗(yàn)

      使用md5sum校驗(yàn)工具

      生成MD5校驗(yàn)值

      與軟件官方提供的校驗(yàn)值比對

      GPG加解密廠具

      GnuPG簡介

      GnuPG

      ,GNU Privacy Guard : http://www.gnupg.org/ 最流行的數(shù)據(jù)加密、數(shù)字簽名工具軟件

      ########查看gpg的版本,以及支持的算法 [root@node1 ~]# gpg --version gpg (GnuPG) 2.0.22 libgcrypt 1.5.3 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: ~/.gnupg 支持的算法: 公鑰:RSA, ?, ?, ELG, DSA 對稱加密:IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 散列:MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 壓縮:不壓縮, ZIP, ZLIB, BZIP2

      Linux 運(yùn)維

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何將文檔保存為副本(word文檔保存副本)
      下一篇:Excel2003中給表格畫斜線表頭實(shí)例教程(excel表格中如何繪制斜線表頭)
      相關(guān)文章
      亚洲精品无码久久久久YW| 国产成人精品日本亚洲| 中文亚洲AV片在线观看不卡| 国产精品亚洲片夜色在线| 亚洲一区二区三区在线观看精品中文| 日韩亚洲国产高清免费视频| 久久精品国产亚洲| 亚洲国产另类久久久精品| 伊人久久综在合线亚洲91| 红杏亚洲影院一区二区三区| 亚洲人成无码久久电影网站| 亚洲成a人片在线观看国产| 婷婷亚洲综合一区二区| 亚洲AV无码资源在线观看| 中日韩亚洲人成无码网站| 亚洲AV男人的天堂在线观看| 亚洲国产日韩综合久久精品| 亚洲AV无码无限在线观看不卡| 亚洲an日韩专区在线| 国产精品亚洲片夜色在线| 国产亚洲sss在线播放| 亚洲色图激情文学| 亚洲日韩精品无码专区加勒比☆ | 亚洲jjzzjjzz在线播放| 亚洲av日韩av激情亚洲| 亚洲免费视频在线观看| 亚洲黄色在线观看网站| 亚洲综合色一区二区三区小说| 亚洲美免无码中文字幕在线| 亚洲国产高清美女在线观看| 亚洲六月丁香六月婷婷色伊人 | 中文字幕第一页亚洲| 亚洲熟女少妇一区二区| 亚洲av片劲爆在线观看| 亚洲国产精品久久人人爱| 亚洲中文字幕精品久久| 国产亚洲精品欧洲在线观看| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲国产日韩成人综合天堂| 亚洲色欲色欲www在线丝 | 亚洲第一区香蕉_国产a|