天天看點

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

監控與服務安全

使用者賬号安全

使用chage工具

  • -d 0 ,強制修改密碼
  • -E yyyy-mm-dd,指定失效日期(-1取消)
  • -l 檢視具體資訊
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

賬号的鎖定/解鎖

使用passwd指令

  • -l鎖定 -u解鎖  -S看狀态
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

強制定期修改密碼

配置檔案/etc/login.defs

-對建立使用者有效

主要控制屬性

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

僞裝登入提示

配置檔案/etc/issue   /etc/issue.net

-分别适用于本地,遠端登陸

-預設會提示核心,系統等版本資訊

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

檔案系統安全

程式和服務控制

禁用非必要的系統服務

-使用systemctl,chkconfig工具

鎖定/解鎖保護檔案

EXT3/EXT4的檔案屬性控制

-chattr  lsattr

+,-控制方式

-屬性i:不可變(immutable)

-屬性a:僅可追加(append only)

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

案例

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

su切換使用者身份

切換與提權的應用場景

切換使用者身份,When?

-SSH遠端管理

-運維測試

提升執行權限,When?

-管理權限細分

su切換的基本用法

Substitute User,換人

-快速切換為指定的其他使用者

-普通使用者執行時,需驗證使用者的密碼

-root執行時,無需驗證密碼

指令格式

-用法1:su [-] [目标使用者]

-用法2:su [-] -c "指令" [目标使用者]

su操作示例

從普通使用者切換為root,并登入shell環境

-執行su -,或者su - root

-不指明使用者時,預設為root

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

root以指定的普通使用者身份執行任務

-以使用者tom的身份建立目錄

-以使用者tom的身份執行管理者操作會出錯

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

分析su切換的使用情況

安全日志/var/log/secure

-記錄su驗證、shell開啟與關閉

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

sudo提升執行權限

sudo提權的基本用法

Super or another Do ,超級執行

-管理者預先為使用者設定執行許可

-被授權使用者有權執行授權的指令,驗證自己的密碼

執行提權指令

-用法:sudo 提權指令

檢視提取指令

-用法:sudo -l

配置sudo提權

修改方法

-推薦:visudo

-其他:vim /etc/sudoers

授權記錄格式

-使用者  主機清單=指令清單

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

示例1

-允許mike以root權限執行/sbin/下的所有指令

-但是,禁止修改eth0網卡的參數

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

示例2

-wheel組的使用者無需驗證可執行所有指令

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

分析sudo提權的使用情況

修改全局配置,啟用日志

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

sudo别名設定

主要用途

-提高可重用性,易讀性

-簡化配置,使記錄更有條例

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

案例

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

SSH基本防護

SSH防護概述

存在的安全隐患

-密碼嗅探,鍵盤記錄

-暴力枚舉賬号,猜接密碼

常見的防護措施

-使用者限制,黑白名單

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

-防火牆

sshd基本安全配置

配置檔案/etc/ssh/sshd_config

PermitEmptyPasswords no   //禁止密碼為空的使用者登入

PasswordAuthentication no  //禁止密碼登

PubkeyAuthentication yes  //啟用密鑰對認證登入

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

sshd黑/白名單配置

配置檔案/etc/ssh/sshd_config

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

應用示例

-僅允許一部分使用者(從指定地點)登入

-其他使用者均禁止登入

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

sshd黑白名單配置

應用示例

-僅允許一部分使用者(從指定地點)登入

-其他任何使用者均禁止登入

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

SSH密鑰對驗證

密碼驗證

-檢查登入使用者的密碼是否一緻

密鑰驗證

-檢查用戶端私鑰與伺服器上的公鑰是否比對

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

密鑰對驗證的實作思路

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

建立SSH密鑰對

使用工具ssh-keygen

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

-若不指定,預設采用RSA加密 

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

部署SSH公鑰

方法一,通過ssh-copy-id自動部署

-好處:一步到位

-局限性:要求ssh密碼認證可用

方法二,通過FTP等方式上傳,手動添加

-好處:靈活,适用範圍廣

-局限性:操作繁瑣,易出錯

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

測試SSH密鑰對驗證

用戶端登入操作

-僅限密鑰對建立人使用

-需驗證私鑰密碼(如果有的話,否則免密碼登入)

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

案例

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

SELINUX安全防護

SELINUX概述

Security-Enhanced Linux

-一套強化LINUX安全的擴充子產品

-美國國家安全局主導開發

SELinux的運作機制

-內建到LINUX核心(2.6以上)

-作業系統提供可指定的政策,管理工具

紅帽的SELINUX政策集

SELINUXTYPE=targeted

-推薦,僅保護最常見的、關鍵的網絡服務,其他不收限制

-主要軟體包:

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

SELINUX模式控制

方法一,修改kernel啟動參數

-添加selinux=0以禁用

-添加enforcing=0設定SELinux為允許模式

方法二,修改檔案/etc/selinux/config

-設定SELINUX=disabled以禁用

-設定SELINUX=permissive寬松、允許模式

-設定SELINUX=enforcing強制模式

SELinux開關控制

臨時調整,setenforce指令

-設為1,對應強制模式

-設為0,對應寬松模式

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

SELinux政策設定

檢視安全山下文

Security Context,安全上下文

-為檔案/目錄/裝置标記通路控制屬性

屬性構成

-使用者:角色:通路類型:選項...

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

修改安全上下文

使用chcon工具

-t,指定通路類型

-R,遞歸修改

一般操作規律

-移動的檔案,原有的上下文屬性不變

-複制的檔案,自動繼承目标位置的上下文

示例:

-有一個權限為644的檔案,但是FTP無權下載下傳

-分析故障原因,并解決此問題

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

重置安全上下文

使用restorecon工具

-恢複為所在位置的預設上下文屬性

-R,遞歸修改

./autorelabel檔案

-下次重新開機後全部重置

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

調整SELinux布爾值

使用getsebool檢視

-a,可列出所有布爾值

使用setsebool設定

-P,永久更改,重新開機後任然有效

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux

提供SELINUX日志功能的軟體

  yum list|grep shoot

  yum -y install setroubleshoot*

systemctl restart httpd

error

[[email protected] ~]# grep -i "shoot" /var/log/messages | tail -1    //提示錯誤資訊

Mar  7 01:06:59 200 setroubleshoot: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 8866. For complete SELinux messages run: sealert -l 2267baf1-aa60-45e0-9935-b9ffbdd2902b

[[email protected] ~]# sealert -l 2267baf1-aa60-45e0-9935-b9ffbdd2902b  //會給出解決辦法

用FTP測試SELinux

[[email protected] ~]# rpm -q vsftpd || yum  -y install vsftpd

[[email protected] ~]# vim /etc/vsftpd/vsftpd.con

29 anon_upload_enable=YES  允許上傳檔案

:wq

[[email protected] ~]# mkdir /var/ftp/share

[[email protected] ~]# chmod  o+w /var/ftp/share/

[[email protected] ~]# 

[[email protected] ~]# ls -ldZ /var/ftp/share

drwxr-xrwx. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/share

[[email protected] ~]#

[[email protected] ~]# systemctl  start vsftpd

[[email protected] ~]# netstat -utnlp  | grep vsftpd

tcp6       0      0 :::21                   :::*                    LISTEN      1021/vsftpd      

[[email protected] ~]# ls -ldZ /var/ftp/

drwxr-xr-x. root root system_u:object_r:public_content_t:s0 /var/ftp/

[[email protected] ~]# 

[[email protected] ~]# setenforce  1

[[email protected] ~]# getsebool  -a  | grep ftp

[[email protected] ~]# setsebool  -P ftpd_anon_write on

[[email protected] ~]# setsebool  -P ftpd_full_access on

[[email protected] ~]# getenforce 

Enforcing

[[email protected] ~]# 

        用戶端上傳,下載下傳檔案

[[email protected] ~]# which  ftp

[[email protected] ~]# yum -y  install ftp    

[[email protected] ~]# ftp 192.168.4.200   //連接配接

Name (192.168.4.200:root): ftp  //使用者名

Password:    //密碼直接回車

ftp> ls  //檢視目錄清單

ftp> cd share  //進共享目錄

ftp> lcd /etc   //切換到用戶端目錄

ftp> put group   //上傳檔案

ftp> bye  //斷開連接配接

案例

Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux
Linux基本防護 、 使用者切換與提權 、 SSH通路控制 、 Selinux安全防護 、 總結和答疑監控與服務安全用FTP測試SELinux