伺服器安全性的執行與維護 理論(一)
提前檢查
伺服器和網站漏洞檢測,對Web漏洞、弱口令、潛在的惡意行為、違法資訊等進行定期掃描。程式碼的定期檢查,安全檢查,漏洞檢查。伺服器安全加固,安全基線設定,安全基線檢查。資料庫執行的命令,新增欄位、加索引等,必須是經過測試檢查的命令,才能在正式環境執行。
資料備份
伺服器資料備份,包括網站程式檔案備份,資料庫檔案備份、配置檔案備份,如有資源最好每小時備份和異地備份。建立五重備份機制:常規備份、自動同步、LVM快照、Azure備份、S3備份。定期檢查備份檔案是否可用,避免出故障後,備份資料不可用。重要資料多重加密演算法加密處理。程式檔案版本控制,測試,釋出,故障回滾。
安全監控
nagios監控伺服器常規狀態CPU負載、記憶體、磁碟、流量,超過閾值告警。zabbix或cacti監控伺服器常規狀態CPU負載、記憶體、磁碟、流量等狀態,可以顯示歷史曲線,方便排查問題。監控伺服器SSH登入記錄、iptables狀態、程序狀態,有異常記錄告警。監控網站WEB日誌(包括nginx日誌php日誌等),可以採用EKL來收集管理,有異常日誌告警。運維人員都要接收告警郵件和簡訊,至少所負責的業務告警郵件和簡訊必須接收,運維經理接收重要業務告警郵件和簡訊。(除非是專職運維開發)除伺服器內部監控外,最好使用第三方監控,從外部監控業務是否正常(監控URL、埠等),比如:監控寶。
故障避免預防
網站WEB增加WAF,避免XSS跨站指令碼、SQL注入、網頁掛馬等漏洞威脅。程式程式碼連線資料庫、memcache、redis等,可以使用域名(域名HOSTS指定IP),當出問題,有備用的伺服器,就可以通過修改DNS或者HOSTS,恢復服務。建立應急預案機制,定期演練事故場景,估算修復時間。部署蜜罐系統,防範企業和伺服器內網APT攻擊。建立雙活叢集,包括業務服務的高可用,避免業務服務單點。伺服器叢集採用跳板機或堡壘機登入,避免伺服器叢集每臺伺服器可以遠端連線管理。操作重要業務升級、遷移、擴容……之前,列一下操作步驟,越詳細越好,實際操作按步驟操作,操作完做好記錄。
事中操作
網站WEB增加WAF,發現XSS、SQL注入、網頁掛馬等攻擊,會自動攔截,並記錄日誌。檢查伺服器資料備份是否可用。在處理需求和故障時,執行風險命令(比如rm、restart、reboot等)需再三確認,執行命令前,檢查所在伺服器,所在伺服器路徑,再執行!不要疲勞駕駛,喝酒不上機,上機不喝酒,尤其別動資料庫,避免在不清醒的狀態下,在伺服器上執行了錯誤命令,導致資料丟失或業務故障。在處理事故時,一定要考慮處理措施是否會引發連鎖故障,重要操作三思而行。
事後檢查分析
實現網路安全視覺化管理,可以看到每天有那些異常IP和異常URL請求,伺服器叢集開放埠列表等。能對全網進行安全策略集中管理。統一日誌收集和分析。備份及篡改恢復功能,程式檔案、圖片、資料檔案、配置檔案的備份,故障回滾機制。對攻擊日誌進行深度分析,展現攻擊路徑、攻擊源,協助管理員溯源。踐行DevOps的無指責文化,尤其是在做事故分析時。事故分析重在定位原因,制定改進措施;