linux 安全基線
1.物理防護
BIOS設置密碼
引導grub.conf添加密碼
2.系統安裝時采用最小化原則,只安裝base services
3.應用數據分區與系統隔離
4.禁用開機不需要啟動的服務
5.隱藏系統信息
6.服務器和互聯網時間同步
7.sudo對普通用戶權限精細控制
8.密碼策略:有效期90天 復雜度16位
8.ssh安全加固
9.優化Linux內核,增加系統文件描述符、堆棧等配置
10.清除無用的默認系統帳戶或組(非必須)
11.文件權限
限制全局默認權限為0750,文件夾 umask 027
限制敏感文件,使用chattr命令給下列文件加上不可更改的屬性
# chattr +i /etc/passwd
# chattr +i /etc/shadow
# chattr +i /etc/group
# chattr +i /etc/gshadow
# chattr +a .bash_history 避免刪除.bash_history或者重定向到/dev/null
# chattr +i .bash_history
# chmod 700 /usr/bin 恢復 chmod 555 /usr/bin
# chmod 700 /bin/ping 恢復 chmod 4755 /bin/ping
# chmod 700 /usr/bin/vim 恢復 chmod 755 /usr/bin/vim
# chmod 700 /bin/netstat 恢復 chmod 755 /bin/netstat
# chmod 700 /usr/bin/tail 恢復 chmod 755 /usr/bin/tail
# chmod 700 /usr/bin/less 恢復 chmod 755 /usr/bin/less
# chmod 700 /usr/bin/head 恢復 chmod 755 /usr/bin/head
# chmod 700 /bin/cat 恢復 chmod 755 /bin/cat
# chmod 700 /bin/uname 恢復 chmod 755 /bin/uname
# chmod 500 /bin/ps 恢復 chmod 755 /bin/ps
限制非root用戶執行/etc/rc.d/init.d/下的系統命令
# chmod -R 700 /etc/rc.d/init.d/*
# chmod -R 777 /etc/rc.d/init.d/* 恢復默認設置
12.禁止使用Ctrl+Alt+Del快捷鍵重啟服務器
# cp /etc/inittab /etc/inittabbak
# vi /etc/inittab #註釋下面兩行
#start on control-alt-delete
#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
13.禁止yum update更新系統時不升級內核,只更新軟件包
由於系統與硬件的兼容性問題,有可能升級內核後導致服務器不能正常啟動,沒有特別的需要,建議不要隨意升級內核。
14.調整history大小,刪除MySQL歷史記錄
15.計劃任務
16.實時監控
查詢系統端口及服務狀態
web 服務端口 8081
文件監控
檢查具有suid、sgid權限的文件
# find / -perm -4000 -o -perm -2000
# find 24小時內更改過的文件
檢測Rootkit
17.應用基線
keepalive 15秒
錯誤頁面重定向,出於安全方面的考量,為了避免敏感信息的外泄
上傳文件大小
18.日誌 logstash
常用的日誌文件如下:
access-log 紀錄HTTP/web的傳輸
acct/pacct 紀錄用戶命令
aculog 紀錄MODEM的活動
btmp 紀錄失敗的紀錄
lastlog 紀錄最近幾次成功登錄的事件和最後一次不成功的登錄
messages 從syslog中記錄信息(有的鏈接到syslog文件)
sudolog 紀錄使用sudo發出的命令
sulog 紀錄使用su命令的使用
syslog 從syslog中記錄信息(通常鏈接到messages文件)
utmp 紀錄當前登錄的每個用戶
wtmp 一個用戶每次登錄進入和退出時間的永久紀錄
xferlog 紀錄FTP會話
用戶登入的信息,安全性和驗證性的日誌
last、lastb、lastlog
utmp文件中保存的是當前正在本系統中的用戶的信息。
wtmp文件中保存的是登錄過本系統的用戶的成功信息。
btmp文件中保存的是登錄失敗的信息。
#使用last命令可以查看btmp文件:例如,”last -f /var/log/btmp | more“
#1、當前登錄用戶的信息記錄在文件utmp中;======who、w命令
#2、登錄和退出記錄在文件wtmp中;========last命令
#3、登錄失敗的記錄在文件btmp中========lastb命令
#4、最後一次登錄可以用lastlog命令
#5、messages======從syslog中記錄信息
註意:wtmp和utmp文件都是二進制文件。
/var/log/messages 包括整體系統信息,其中也包含系統啟動期間的日誌。此外,mail,cron,daemon,kern和auth等內容也記錄在var/log/messages日誌中。
/var/log/dmesg 包含內核緩沖信息(kernel ring buffer)。在系統啟動時,會在屏幕上顯示許多與硬件有關的信息。可以用dmesg查看它們。
/var/log/auth.log 包含系統授權信息,包括用戶登錄和使用的權限機制等。
/var/log/boot.log 包含系統啟動時的日誌。
/var/log/daemon.log 包含各種系統後臺守護進程日誌信息。
/var/log/dpkg.log 包括安裝或dpkg命令清除軟件包的日誌。
/var/log/kern.log 包含內核產生的日誌,有助於在定制內核時解決問題。
/var/log/lastlog 記錄所有用戶的最近信息。這不是一個ASCII文件,因此需要用lastlog命令查看內容。
/var/log/maillog /var/log/mail.log 包含來著系統運行電子郵件服務器的日誌信息。例如,sendmail日誌信息就全部送到這個文件中。
/var/log/user.log 記錄所有等級用戶信息的日誌。
/var/log/Xorg.x.log 來自X的日誌信息。
/var/log/alternatives.log 更新替代信息都記錄在這個文件中。
/var/log/btmp 記錄所有失敗登錄信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
/var/log/cups 涉及所有打印信息的日誌。
/var/log/anaconda.log 在安裝Linux時,所有安裝信息都儲存在這個文件中。
/var/log/yum.log 包含使用yum安裝的軟件包信息。
/var/log/cron 每當cron進程開始一個工作時,就會將相關信息記錄在這個文件中。
/var/log/secure 包含驗證和授權方面信息。例如,sshd會將所有信息記錄(其中包括失敗登錄)在這裏。
/var/log/wtmp或/var/log/utmp 包含登錄信息。使用wtmp可以找出誰正在登陸進入系統,誰使用命令顯示這個文件或信息等。
/var/log/faillog 包含用戶登錄失敗信息。此外,錯誤登錄命令也會記錄在本文件中。
除了上述Log文件以外,/var/log還基於系統的具體應用包含以下一些子目錄:
/var/log/httpd/或/var/log/apache2 包含服務器access_log和error_log信息。
/var/log/lighttpd/ 包含light HTTPD的access_log和error_log。
/var/log/mail/ 這個子目錄包含郵件服務器的額外日誌。
/var/log/prelink/ 包含.so文件被prelink修改的信息。
/var/log/audit/ 包含被 Linux audit daemon儲存的信息。
/var/log/samba/ 包含由samba存儲的信息。
/var/log/sa/ 包含每日由sysstat軟件包收集的sar文件。
/var/log/sssd/ 用於守護進程安全服務。
除了手動存檔和清除這些日誌文件以外,還可以使用logrotate在文件達到一定大小後自動刪除。可以嘗試用vi,tail,grep和less等命令查看這些日誌文件。
19.補丁更新
20.定時備份
21.防火墻
Juniper的Netscreen
H3C的Secpath
華為USG6390
IPTABLES
服務器禁ping
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
SELINUX
# 有外網IP的機器要開啟配置防火墻,配置SELINUX
FACL
TCP_Wrappers應用級防火墻
# vi /etc/host.conf),加入下面這行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on
第一項設置首先通過DNS解析IP地址,然後通過hosts文件解析。第二項設置檢測是否"/etc/hosts"文件中的主機是否擁有多個IP地址(比如有多個以太口網卡)。第三項設置說明要註意對本機未經許可的電子欺騙。
入侵檢測
IDS
HIDS: OSSEC 主機入侵檢測系統
NIDS: snort 網絡入侵檢測系統
Filesystem: tripware
AIDE(Adevanced Intrusion Detection Environment,高級入侵檢測環境
IPS
IDS + Firewall
本文出自 “流星工作室” 博客,請務必保留此出處http://redone.blog.51cto.com/5382451/1962343
linux 安全基線