一. 賬號安全
1. 賬號鎖定
passwd -l scu
passwd -u scu
本質:在/etc/shadow密碼列前增加」!」
口令策略
vi /etc/login.defs
pass_max_days 90 # 密碼最長使用天數
pass_min_days 0
pass_warn_age 7 # 密碼到期提前預警天數
pass_min_len 8 # 密碼最小長度,若使用pam_cracklib,該引數不再有效
禁止非wheel組使用者su至root
vi /etc/pam.d/su
auth required /lib/security/pam_wheel.so # 預設group=wheel
auth required /lib/security/pam_wheel.so group=users
vi /etc/login.defs (redhat)
su_wheel_only yes
禁止新增使用者、刪除使用者和修改密碼
chattr +i /etc/passwd
chattr +i /etc/shadow
root密碼不過期
chage -m 99999 root
忘記root密碼
1) 重啟進入單人模式,使用passwd修改
2) 以live cd開機後掛載根目錄,清空/etc/shadow中root密碼字段
二. 最小化服務
1. 執行級別
runlevel (who -r)
停止和禁用無關服務
chkconfig –list
service nfs stop
chkconfig –level 3 nfs off
chkconfig –level 3,5 nfs on
三. 資料訪問控制
1. 設定系統全域性umask
vi /etc/profile
umask 027
歡迎資訊,不要在配置中暴露系統資訊,刪除\r, \l等核心資訊
/etc/redhat-release
/etc/suse-release
/etc/issue
/etc/motd
增強/tmp目錄的安全性
mdkir /tmp_backup
cp -pr /tmp/* /tmp_backup 或者cp -r /tmp/ /tmp_backup
dd if=/dev/zero of=/dev/tmp bs=1024 count=100000
mke2fs /dev/tmp
chmod 0777 /tmp
mount -o loop,rw,nosuid,noexec /dev/tmp /tmp
cp -pr /tmp_backup/* /tmp
rm -rf /tmp_backup
vi /etc/fstab
/dev/tmp /tmp ext3 loop,rw,nosuid,noexec 0 0
增強/dev/shm的安全性
vi /etc/fstab
shm /dev/shm tmpfs defaults,nosuid,noexec,rw,size=24541576k 0 0
檔案系統許可權
find / -type f -perm -4000 -o -perm 2000 | xargs ls -lg
find / -nouser -o -nogroup
find / -type f -perm -2 -o -perm -20 | xargs ls -lg
find / -type d -perm -2 -o -perm -20 | xargs ls -ldg
find / -user root -type f -perm 2000 -exec md5sum {} \;
find / -user root -type f -perm 4000 -exec md5sum {} \;
四. 網路訪問控制
1. 開啟ssh
ps -ef | grep sshd
service sshd start
限定ssh遠端登入ip
vi /etc/ssh/sshd_config
allowusers @10.134..*
service sshd restart
禁止遠端root登入
vi /etc/ssh/sshd_config
permitrootlogin no
限定信任主機
從配置檔案中刪除不必要的主機
/etc/hosts.equiv
$home/.rhosts
遮蔽banner資訊
vi /etc/ssh/sshd_config
banner none
vi /etc/motd (清空檔案)
防止誤使用ctrl+alt+del重啟系統
vi /etc/inittab
ssh安全,禁用sshv1,使用sshv2
vi /etc/ssh/sshd_config
protocol 2
service sshd restart
ssh -2 [email protected]
禁用telnet
vi /etc/xinetd.d/telnet
disable = yes
service xinetd restart
限制訪問inet服務
vi /etc/hosts.deny
all : 10.137.5.155
監聽埠
netstat -tulp
lsof -i -n | egrep 『command|listen|udp』
五. 使用者鑑別
1. 設定賬戶最大登入失敗次數及鎖定時間
vi /etc/pam.d/system-auth
auth required pam_tally.so onerr=fail deny=3 unlock_time=5
auth required pam_tally.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
faillog -u bmp -r
faillog -r
設定自動登出時間
vi /etc/profile
export tmout=600 (600seconds)
限制ftp使用者登入
vi /etc/ftpusers
root (禁止root使用者登入ftp)
設定命令歷史數
vi /etc/profile
export histsize=1000
export histfilesize=1000
禁用**編譯
groupadd compiler
cd /usr/bin
chgrp compiler cc
chgrp compiler ++
chgrp compiler ld
chgrp compiler as
chmod 750 cc
chmod 750 ++
chmod 750 ld
chmod 750 as
vi /etc/group
compiler:x:520:user1,user2
history安全,禁止清除和刪除命令歷史
chattr +a .bash_history
chattr +i .bash_history
六. 審計策略
1. 系統日誌策略
vi /etc/syslog-ng/syslog-ng.conf
destination messages ;
log ;
destination warn ;
log ;
vi /etc/rsyslog.conf (redhat)
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
系統日誌個數和大小
vi /etc/logrotate.conf
weekly
rotate 4
create
compresscmd /usr/bin/bzip2
uncompresscmd /usr/bin/bunzip2
vi /etc/logrotate.d/syslog
/var/log/warn /var/log/messages
資訊保安 安全加固
為了防止黑客獲取伺服器中 php 版本資訊,如x powered by php 5.3.7,最好關閉顯示 php 版本資訊,在配置檔案中追加以下資訊 expose php off預設情況下,php錯誤資訊會將程式出錯的原因顯示到瀏覽器上,容易造成敏感資訊洩露。關閉錯誤顯示 display error...
Tomcat安全加固
1.公升級到最新穩定版,這個是老生常談了。目前tomcat支援6.0和7.0兩個版本。1 出於穩定性考慮,不建議進行跨版本公升級,如果之前是6.0系列版本,最好還是使用該系列的最新版本。2.從監聽埠上加固 1 如果tomcat不需要對外提供服務,則監聽在本地回環,前面放nginx。如果需要對外提供訪...
SSH安全加固
下面提到的引數,需要對應修改的檔案是 etc ssh sshd config 將引數做以下更改 permitrootlogin no 這一步已經做過了。這樣就可以不使用密碼登陸。具體參考如何設定ssh金鑰 參考鏈結,需要進行以下配置 passwordauthentication no 在配合pam的...