Linux系統安全

一、系統安全


1.用戶管理

(1)刪除長時間不使用的用戶

userdel [-r] 用戶名

選項

-r:刪除指定用戶家目錄

(2)設置程序用戶Shell爲不允許登陸系統

usermod -s /sbin/nologin 用戶

(3)臨時使用用戶(設置用戶的最長使用期限)

chage -E "時間" 用戶        //設置賬號失效時間
chage -l 用戶         //查看賬號的密碼控制信息(如最短、最長密碼使用時間等)

(4)鎖定文件,該文件不能被刪除(粘滯位

①針對文件的粘滯位,root用戶也受到限制

chattr +i /etc/passwd && chattr +i /etc/shadow      //指定文件將不能刪除
chattr -i /etc/passwd && chattr -i /etc/shadow      //移除指定文件的粘滯位
lsattr <文件>                 //查看指定用戶是否設置粘滯位

②文件或目錄的粘滯位,所有者和root用戶不受限制

chmod o+t <目錄/文件>               //給指定目錄/文件設置粘滯位
chmod o-t  <目錄/文件>              //給指定目錄/文件取消粘滯位
ls -ld <目錄>                     //查看目錄的粘滯位設置情況(t權限位)

(5)設置密碼有效期

已存在用戶

passwd -S 用戶  //查看用戶密碼狀態
passwd -x 天數 用戶   //設置密碼的有效期

新建的用戶

vim /etc/login.defs   //更改默認新建用戶參數的文件
PASS_MAX_DAYS 天數

2.Linux特權權限

作用
    SUID:對二進制文件生效,使普通用戶以所有者的權限執行文件
    SGID:對目錄生效,保持原目錄的所有組
    Stickybit:防止用戶刪除文件/目錄,針對其他用戶設置,root用戶無效
格式
    SUID:[chmod u+s | u-s] 文件
    SGID:[chmod g+s | g-s] 目錄
    Stickybit(粘滯位):chmod [o+t | o-t] 文件/目錄
八進制:SUID=4、SGID=2、Stickybit=1

例:
chmod u+s /tmp/2333.txt //設置文件擁有SUID(用戶在執行文件時有所有者的權限)
chmod g+s /tmp/2333.txt //設置文件擁有SGID(用戶在執行文件時有所有組的權限)
chmod 4755 文件/目錄 //設置文件或目錄擁有SUID及所有者擁有完全權限,所有組擁有讀取、執行權限,其它用戶擁有讀取、執行權限

二、su、sudo


1.su:切換指定用戶

語法

su [-] 用戶

vim /etc/pam.d/su //修改pam配置文件

auth          required        pam_wheel.so use_uid  //PAM模塊認證,只有屬於wheel組用戶可切換到root

查看安全認證日誌文件

tail -f /var/log/secure             

需配合遠程控制,設置root用戶禁止遠程登陸

2.sudo:臨時提權,普通用戶臨時以root身份執行命令

vim /etc/sudoers或visudo             //編輯sudo配置文件,默認不能直接使用
[用戶名]   [主機]  [命令]

命令可取反,如!/bin/(表示除/bin/目錄外)
例:
u01 ALL=(ALL) ALL //允許u01用戶使用sudo以root身份執行所有命令
u01 ALL=(ALL) ALL,!/sbin/reboot //允許u01用戶使用sudo以root身份執行所有命令,除了/sbin/reboot

(1)文件中設置別名

Cmnd_Alias 別名(大寫)=命令            //定義命令別名
User_Alias 別名(大寫)=用戶名           //定義用戶別名
Host_Alias 別名(大寫)=網段,IP地址       //定義主機別名

例:

Cmnd_Alias CMD=ALL,!/sbin/reboot //定義命令別名,CMD=ALl,!/sbin/reboot
User_Alias USER=u01,u02 //定義用戶別名,USER=u01,u02
Host_Alias HOST=192.168.10.44 //定義主機別名,HOST=192.168.10.44
USER HOST=CMD //允許USER別名(u01、u02用戶)在HOST別名(192.168.10.44)執行CMD別名(ALL,!/sbin/reboot)

(2)日誌記錄

vim /etc/sudoers    //修改sudo配置文件
Defaults logfile=/var/log/sudo  //定義日誌記錄並指定存儲位置
tail -f /var/log/sudo   //動態查看sudo日誌文件
sudo -l             //查看當前用戶所有sudo能執行的命令

注:默認用戶使用sudo後,保留5分鐘時間,5分鐘內用戶不需再次輸入當前用戶密碼

三、系統管理


1.自動清空歷史命令

vim ~/.bashrc                   //用戶登陸時自動清空歷史命令
  echo "" >~/.bash_history
history -c                      //清楚當前用戶登陸終端歷史命令(再次登陸依然存在)
vim /etc/profile
  HISTSIZE=0                    //更改歷史命令記錄數量

2.終端超過閒置時間後自動註銷

vim /etc/profile                    //全局變量定義文件(所有用戶生效)
  TMOUT=秒數                  //指定終端超時時間
vim ~/.bash_profile                 //只對當前用戶生效
  TMOUT=秒數                  //指定終端超時時間

四、開關機安全控制


1.禁用Ctrl-Alt-Delete熱鍵

vim /etc/init/control-alt-delete.conf
註釋掉最後一行(加#)

2.GRUB菜單限制

明文密碼

vim /boot/grub/grub.conf
  password 密碼           //title之前

密文密碼

grub-md5-crypt          //將輸入的字符串使用md5方式轉換
vim /boot/grub/grub.conf
  password --md5 加密字符串      //title之前

3.減少tty終端數量

vim /etc/sysconfig/init
  ACTION_CONSOLES=/dev/tty[1-6]     //改動tty[1-6]數值可實現控制

例:
ACTION_CONSOLES=/dev/tty[1-3] //開啓tty1、tty2、tty3
ACTION_CONSOLES=/dev/tty[1,3,6] //開啓tty1、tty3、tty6
ACTION_CONSOLES=/dev/tty[1-1,3-3,6-6] //開啓tty1、tty3、tty6

4.禁止普通用戶登錄

touch /etc/nologin    //新建文件nologin,所有用戶無法登陸(除root)
rm -rf /etc/nologin    //解鎖,普通可登錄

5.掃描

語法

nmap -A -O -PO -vv 網段/IP/域名     //掃描指定主機的OS、端口、MAC等信息

推薦掃描類型

-PO:主機禁止ping時,可強制掃描
-sU:掃描UDP
-sT:掃描TCP
-p:掃描指定端口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章