1. 程式人生 > >Linux系統安全

Linux系統安全

auth all log 加密 之前 系統管 指定 ini alt

安全

1.分類

1)物理安全(防止人為破壞或自然災害)

2)系統安全(用戶、權限、訪問控制等)

3)網絡安全(VLAN、Qos、端口、×××)

4)數據安全(RAID、加密、令牌等)

二、系統安全

1.用戶管理

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

userdel [-r] 用戶名

選項

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

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

usermod -s /sbin/nologin 用戶

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

chage -E 日期 用戶

chage -l 用戶

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

chattr +i /etc/passwd && chattr +i /etc/shadow //指定文件將不能刪除

chattr -i /etc/passwd && chattr -i /etc/shadow //移除指定文件的粘滯位

lsattr 文件 //查看指定用戶是否設置粘滯位

chmod o+t 目錄/文件 //給指定目錄/文件設置粘滯位

chmod o-t 目錄/文件 //給指定目錄/文件取消粘滯位

ls -ld 目錄 //查看目錄的粘滯位設置情況(t權限位)

註:所有者及root用戶不受限制

Linux特權權限

SUID(對二進制文件生效,使普通用戶以所有者的權限執行文件)、SGID(對目錄生效,保持原目錄的所有組)、Stickybit(防止用戶刪除文件/目錄)

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 4755 //設置文件或目錄擁有SUID及所有者擁有完全權限,所有組擁有讀取、執行權限,其它用戶擁有讀取、執行權限

5)設置密碼有效期

已存在用戶

passwd -S 用戶

passwd -x 天數 用戶

新建用戶

vim /etc/login.defs

25 PASS_MAX_DAYS 天數

三、su、sudo

1.su:切換指定用戶

su [-] 用戶

vim /etc/pam.d/su

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

tail -f /var/log/secure //查看安全認證日誌文件

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

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

vim /etc/sudoers或visudo //編輯sudo配置文件,默認不能直接使用

用戶名 主機 命令

例:

u01 ALL=(ALL) ALL //允許u01用戶使用sudo以root身份執行所有命令

u01 ALL=(ALL) ALL,!/sbin/reboot //允許u01用戶使用sudo以root身份執行所有命令,除了reboot

Cmnd_Alias 別名(大寫)=命令 //定義命令別名

User_Alias 別名(大寫)=用戶名 //定義用戶別名

Host_Alias 別名(大寫)=網段,IP地址 //定義主機別名

註:命令可取反,如!/bin/(除/bin/目錄外)

mnd_Alias CMD=ALL,!/sbin/reboot

User_Alias USER=u01,u02

Host_Alias HOST=192.168.10.44

USER HOST=CMD //允許USER別名(u01、u02用戶)在HOST別名(192.168.10.44)執行CMD別名(ALL,!/sbin/reboot)

2)日誌記錄

1.vim /etc/sudoers

Defaults logfile=/var/log/sudo //定義日誌記錄並指定存儲位置

2.tail -f /var/log/sudo

3.sudo -l //查看當前用戶所有sudo能執行的命令

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

2.系統管理

1)自動清空歷史命令

vim ~/.bashrc //用戶登陸時自動清空歷史命令

echo "" >~/.bash_history

history -c //清楚當前用戶登陸終端歷史命令(再次登陸依然存在)

vim /etc/profile

HISTSIZE=0 //更改歷史命令記錄數量

2)終端超過閑置時間後自動註銷

vim /etc/profile //全局變量定義文件(所有用戶生效)

TMOUT=秒數 //指定終端超時時間

vim ~/.bash_profile //只對當前用戶生效

TMOUT=秒數 //指定終端超時時間

3.開關機安全控制

1)禁用熱鍵

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

rm -rf /etc/nologin //解鎖,普通可登錄

5)掃描

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

推薦掃描類型:

-PO:主機禁止ping時,可強制掃描

-sU:掃描UDP

-sT:掃描TCP

-p:掃描指定端口

Linux系統安全