服務監控與安全入門

SECURITY

一、Linux基本防護

1.用戶賬號安全

A、設置賬號有效期,臨時人員賬號

B、Useradd 有效期273年

C、Chage(change age) -l zhangsan 查用戶賬號有效期信息

D、chage -E(expire) xxxx-xx-xx zhangsan //設置賬號到期時間,設置在前時間即立刻過期

E、/etc/login.defs //默認有效期的文件

PASS_MAX_DAYS 默認有效期時間

PASS_MIN_DAYS 最少x天才可以改一次密碼

PASS_MIN_LEN 密碼最少長度為多少位

PASS_WARN_AGE 密碼到期前的多少天發出提示

UID)_MINUID最小值

UID_MAX UID最大值

SYS_GIN_...系統用戶的最大最小值

CREATE_HOME 是否創建用戶家目錄

ENCRYPT_METHOD 設置密碼時採用SHA512加密

F、passwd -l lisi 鎖定用戶,暫時不給登陸(用於該用戶受攻擊,先隔離再修復)

Passwd -u lisi 解鎖用戶

passwd -S lisi 查看用戶狀態

G、/etc/issue 登陸信息

\S 操作系統信息

Kernel \r on an \m 內核版本信息

一般為了安全,將版本號隱藏,防止別人針對版本進行攻擊,可修改成其他信息

2.文件系統安全

H、鎖定文件(+為鎖定,-為解鎖)

Lsattr 文件名 查看文件特殊屬性

Chattr +a 文件名 鎖定後文件只可追加內容,不可刪內容或文件(包括管理員也不行,除非解鎖)

Chattr +i文件名 徹底鎖定,改也不允許,只能查看內容

+s 當刪除文件時,不單止刪除inode標籤,還覆蓋一層零到數據快上保證數據被清除,也叫做安全刪除。(對文件系統有要求,不一定能設置)

二、用戶切換和提權

1.su切換用戶身份

A.su - 用戶名 (交互式,切換後再輸入命令執行),不輸入用戶名為root,需要輸入密碼

Su - 用戶名 -c ‘命令’(非交互式,用於寫腳本)

2.Sodu提升執行權限(不需要管理員密碼,能做管理員的任務,但是需要管理員分配權限)

Eg:tom 安裝軟件

Jerry管理服務

Lily用戶管理

B.vim /etc/sudoers(帶顏色,沒有改錯提示) 或 visudo(改錯會有提示)

softadm ALL=(root) /usr/bin/systemctl

授權softadm 以root用戶的身份從任何地方(all)登陸執行systemctl命令;要找到命令的執行位置

useradm ALL=(ALL) /usr/bin/passwd,!/usr/bin/passwd root

授權useradm從任何地方登陸以任何身份執行passwd命令,但不能做passwd root命令,多條命令間用“,”隔開,“!”命令取反,支持通配符

%wheel ALL=(ALL) NOPASSWD:命令 //允許wheel組的成員......,nopasswd執行命令時無需輸密碼

Cmnd_Alias xxx 設置別名等於哪些命令,註釋裡有,去通過去掉註釋使用或手動設置,注意要大寫。

在裡面寫入行: Defaults logfile=”/var/log/sudo” 為sudo機制啟用日誌記錄,以便跟蹤sudo執行操作,D要大寫,日誌只有管理員看

切換到softadm用戶:

Sodu -l 查看用戶可以運行哪些命令

Sodu systemctl restart sshd 執行命令前要加sodu

三、ssh基本防護

1.配置基本安全策略

配置文件:

作為客戶端連別人(/etc/ssh/ssh_config)

作為服務器被別人連(/etc/ssh/sshd_config)

Vim /etc/ssh/sshd_config

PermitRootLogin no //禁止直接以root用戶身份登錄,防止別人試密碼,可先登陸到普通用戶再su - root 輸密碼

PasswordAuthentication yes //是否允許使用密碼登陸,不允許就只能通過密鑰登陸,防止別人抓包

PermitEmptyPasswords no//禁止密碼為空的用戶登錄

UseDNS no //不解釋客戶機地址,比較快

LoginGraceTime 1m //登陸超時

MaxAuthTries 3 //每次連接最多認證次數

增加行:AllowUser lisi haha [email protected]/24

//僅允許以lisi haha 以及在4網段上以useradm的身份ssh,默認拒絕其他所有

DenyUsers ...... 禁止直接以root用戶身份登默認允許其他所有

Allow|DenyGroups Group1 group2

2.密鑰遠程登陸,免密碼登陸

客戶端生成密鑰:ssh-keygen -t rsa

Ssh-copy-id [email protected] //發送公鑰到服務端,以root用戶身份登陸,輸入密碼後以後無需輸入密碼

可在服務端目標用戶的家目錄下~/.ssh/authorized_keys查看公鑰信息

3.提高ssh服務安全小結

A、基本安全策略(禁止root、禁止空口令)

B、為SSH訪問配置“僅允許”策略

C、分別實現密鑰驗證登入,免密碼登入

D、禁用密碼驗證

四、SELinux安全防護

1.配置文件(/etc/selinux/config)

模式:

Permissive寬鬆(僅記錄,不攔截)

Disabled禁用(不記錄,不攔截)

Enforcing強制(記錄並攔截)

SELINUXTYPE(策略集):

原理:

用戶運行程序,程序繼承該用戶的權限(rwx)

Selinux定義規則,對程序單獨設規則

Httpd 對軟件規則httpd_content(標籤),只能讀帶有該標籤的文件

Chcon -t xyz a.html //a.html貼上xyz標籤

Targetd 多對網絡程序定的規則

Minimum 基本不定義

Mls 基本的都限制了

2.修改selinux 模式

臨時修改:setenforce

永久修改:改配置文件,若改為disabled,需要重啟系統

3.調整策略打開vsftpd服務的匿名上傳訪問

Yum -y install vsftpd;

Vim /etc/vsftpd/vsftpd.conf

Anonymous_enable=YES //開啟匿名訪問(默認開了,可以下載文件)

Write_enable=YES

Anon_upload_enable=YES //允許匿名上傳文件

Anon_mkdir_write_enable=YES //允許上傳目錄

4.調整文件的安全上下文(selinux context)

Mv移動文件安全上下文不變

Cp移動文件安全上下文繼承新目錄的安全上下文標籤

Chcon -t 安全上下文 文件名 //修改文件安全上下文

Restorecon /var/ftp/xxx.xx //重置xxx.xx文件的標籤為與/var/ftp/標籤相同,效果與chcon相同。

5.調整selinux布爾值

Getsebool -a //列出所有布爾值

Setsebool -P(永久更改) 布爾值 on|off //調整布爾值


分享到:


相關文章: