全面inux主機安全配置詳解--系統OS安全(第一部分)

Linux主機安全配置詳解  

系統安全分爲:

第一部分:

BIOS密碼,更改合適啓動選項(禁止改bios/禁止更改第一啓動選項,防止惡意的引導)

GRUB密碼

系統密碼(密碼策略)

分區加密

第二部分:

最小權限法(su/sudo)

最小服務法

文件安全(suid/sgid/stick/chattr)

pam模塊的使用

升級系統和軟件


系統安全:

BIOS密碼(bios/cmos)

調整BIOS引導設置

修改啓動順序,正確做法:第一啓選項爲磁盤

設置管理密碼

禁用Ctrl+Alt+Del重啓熱鍵

RHEL5:

# vim /etc/inittab

 32 #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# init q--讓更改的配置馬上生效,不需要重啓服務器。


RHEL6:

# vim /etc/init/control-alt-delete.conf --註釋以下兩行

#start on control-alt-delete

#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

# init q


GRUB密碼

--加密引導菜單的作用:修改啓動參數時需要驗證密碼


--進入所選擇的系統前需要驗證密碼

在grub.conf文件中設置密碼的方式

password  明文密碼串

password  --md5  加密密碼串


密碼設置行的位置

全局部分(第一個“title”之前)

系統引導參數部分(每個“title”部分之後)


# grub-md5-crypt

$1$Qq15d$bEjy8VeMCrNcIJCEESqyY/


# vim /boot/grub/grub.conf

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

password --md5 $1$Qq15d$bEjy8VeMCrNcIJCEESqyY/--修改啓動菜單時需要輸入此密碼

title Red Hat Enterprise Linux Server (2.6.18-8.el5)

        password 123456--啓動某個系統時需要輸入的密碼,一般不設置

        root (hd0,0)

        ……




系統策略(密碼策略)

1.檢查系統中有無空密碼賬號:

# awk -F: '($2 == "") {print}' /etc/shadow

#  awk -F: '($2 == "") {print}' /etc/passwd


2.檢查系統中有無多餘的管理員賬號:

# awk -F: '($3 == "0") {print}' /etc/passwd


3.設置賬號的屬性:


賬號的過期時間設置:

# usermod -e 2012-10-1 u01--修改一個已經存在的賬號的過期時間 

# useradd -e 2012-10-1 02--在新建用戶時指定過期時間


# chage -M 30 -m 7 -W 7 -I 3 userName

# chage -d 0 userName

-M多長時間改一次密碼

-m修改密碼的最小間隔

-W密碼過期警告時間

-I密碼過期延時時間

-d定義最一次修改密碼的時間,-d 0從來都沒改過密碼,所以第一次登錄時需要修改密碼


4.檢查程序用戶的登錄Shell是否異常

# awk -F: '$7!="/sbin/nologin" {print $1,$7}' /etc/passwd  


5.減少記錄命令歷史的條數

環境變量 HISTSIZE

# vim /etc/profile

HISTSIZE=50


6.設置在命令行界面中超時自動註銷(shell的超時時間)

 環境變量 TMOUT

# vim /etc/profile

TMOUT=300


7、記錄用戶的每個命令操作(錄屏):

# vim /etc/profile

exec /usr/bin/script -t 2>/tmp/$USER-$UID-`date +%Y%m%d%H%M`.date  -a -f -q /tmp/$USER-$UID-`date +%Y%m%d%H%M`.log



# last--查看所有用戶在線的情況

# lastlog--查看用戶最後一次登錄的時間

/var/log/wtmp


# lastb--查看用戶登錄失敗記錄

# /var/log/secure--跟驗證相關的日誌信息在記錄在此文件



給一個已經存在的分區加密( i/o-->disk-->partion-->crypt-->logic_partion(ext3))

1.進入單用戶模式

telinit 1


2.Cpoy data and unmount your existing /home: 

cp -a /home/* /backup

umount /home


3.如何無法卸載,可以使用強制殺死訪問這個分區程序,然後再次卸載:

fuser -mvk /home


4.確認分區是否還被掛載着:

grep home /proc/mounts


5.給分區設置加密(加密的分區是無法訪問的)

# rpm -q cryptsetup-luks--確認加密工具是否已經安裝

# cryptsetup --verbose --verify-passphrase luksFormat /dev/VG00/LV_home

YES--回答大寫的yes,這一步會把分區原來所有的數據全部清空


6.給加密分區設置映射名稱: 

cryptsetup luksOpen /dev/VG00/LV_home home


7.映射設備存放的路徑:/dev/mapper/home 

ls -l /dev/mapper | grep home


8.格式化分區

mkfs.ext3 /dev/mapper/home


9.掛載分區 

mount /dev/mapper/home /home


10.Make sure the file system is visible: 

df -h | grep home



實現加密分區的自動掛載:

# vim /etc/crypttab

xxx/home/mapper/GLSvg-lv_home/root/.password

映射設備原始設備加密密碼


# vim /root/.password--輸入假密碼,不需要寫真密碼,提高安全性

uplooking

# chmod 600 /root/.password


# cryptsetup luksAddKey /dev/mapper/GLSvg-lv_home /root/.password--告知設備密碼驗證文件存儲路徑

Enter any LUKS passphrase: 

Verify passphrase: 

key slot 0 unlocked.

Command successful.


# vim /etc/fstab

/dev/mapper/xxx /mnt ext3 defaults 1 2


# reboot--檢驗一下是否能夠開機自動掛載


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章