1.物理防禦web
BIOS設置密碼apache
引導grub.conf添加密碼vim
2.系統安裝時採用最小化原則,只安裝base services安全
3.應用數據分區與系統隔離bash
4.禁用開機不須要啓動的服務服務器
5.隱藏系統信息網絡
6.服務器和互聯網時間同步app
7.sudo對普通用戶權限精細控制less
8.密碼策略:有效期90天 複雜度16位ssh
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「
#一、當前登陸用戶的信息記錄在文件utmp中;======who、w命令
#二、登陸和退出記錄在文件wtmp中;========last命令
#三、登陸失敗的記錄在文件btmp中========lastb命令
#四、最後一次登陸能夠用lastlog命令
#五、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