網(wǎng)絡(luò)日志管理合規(guī)的重要性
網(wǎng)絡(luò)日志是一個(gè)平時(shí)不怎么被重視的東西,今天寫到關(guān)于網(wǎng)絡(luò)日志的內(nèi)容,是在部署網(wǎng)站的時(shí)候,看到訪問(wèn)日志里記錄的ip地址不對(duì),解決如何獲取客戶端真實(shí)ip地址的問(wèn)題的同時(shí),想到了關(guān)于網(wǎng)絡(luò)日志合規(guī)性的內(nèi)容,一并記錄。
第一個(gè)問(wèn)題:前端使用Nginx反向代理,后端Aapche如何獲取真實(shí)ip 在簡(jiǎn)易的Nginx反向代理架構(gòu)中,客戶端訪問(wèn)網(wǎng)址,直接訪問(wèn)到的是前端代理服務(wù)器,代理服務(wù)器獲取請(qǐng)求后,再將代理轉(zhuǎn)發(fā)給后端的服務(wù)器,如此,代理服務(wù)器拿到了客戶端的ip地址,而后端服務(wù)器拿到的是代理服務(wù)器的ip地址,導(dǎo)致了后端服務(wù)器記錄的日志內(nèi)容不準(zhǔn)確。
當(dāng)查看后端Apache服務(wù)器的訪問(wèn)日志時(shí),每一行網(wǎng)絡(luò)請(qǐng)求對(duì)應(yīng)的ip地址都是相同的,而且正是前端nginx反向代理服務(wù)器的ip地址。

nginx和apache都是可配置的,通過(guò)修改nginx和apache的配置,可以實(shí)現(xiàn)將客戶端的真實(shí)ip地址傳遞至后端apache服務(wù)器。 直接貼出兩個(gè)配置文件如下:
- #nginx 站點(diǎn)配置文件
- server {
- listen 80;
- server_name luoanman.com www.luoanman.com;
- rewrite ^(.*)$ https://$host$1 permanent;
- }
- server {
- listen 443 ssl;
- server_name luoanman.com www.luoanman.com;
- ssl_certificate /var/www/www-luoanman-com/luoanman/www.luoanman.com.pem;
- ssl_certificate_key /var/www/www-luoanman-com/cert/www.luoanman.com.key;
- ssl_session_timeout 5m;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_prefer_server_ciphers on;
- location / {
- proxy_set_header Host $http_host;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Real-Ip $remote_addr;
- proxy_set_header X-NginX-Proxy true;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_pass http://localhost:8080;
- proxy_redirect off;
- }
- }
apahce啟用remoteip模塊,修改兩處配置。
- #啟用remoteip_module
- LoadModule remoteip_module modules/mod_remoteip.so
- #修改httpd.conf
- <IfModule remoteip_module>
- RemoteIPHeader X-Forwarded-For
- RemoteIPInternalProxy 127.0.0.1
- </Ifmodule>
- #修改httpd.conf
- LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- LogFormat "%a %l %u %t \"%r\" %>s %b" common
- <IfModule logio_module>
- # You need to enable mod_logio.c to use %I and %O
- LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
- </IfModule>
修改配置后,重新啟動(dòng)nginx和apahce,在apahce服務(wù)器的訪問(wèn)日志里就可以看到客戶端的真實(shí)IP地址了。

第二個(gè)問(wèn)題:網(wǎng)絡(luò)日志管理的合規(guī)性
網(wǎng)絡(luò)日志管理的合規(guī)性是個(gè)什么問(wèn)題?初看真是一頭霧水,因?yàn)檫@個(gè)問(wèn)題太抽象了。 再問(wèn)一個(gè)具體點(diǎn)的:網(wǎng)站訪問(wèn)日志沒(méi)有記錄訪問(wèn)用戶的真實(shí)網(wǎng)絡(luò)ip地址會(huì)有什么問(wèn)題? 根據(jù)網(wǎng)上公布的一些公安機(jī)關(guān)處置的案件,有不少因?yàn)榫W(wǎng)站訪問(wèn)日志管理不規(guī)范而被行政警告處罰和罰款的實(shí)例,其中罰款不僅是對(duì)單位罰款,而且還要對(duì)網(wǎng)絡(luò)安全負(fù)責(zé)人進(jìn)行罰款。而網(wǎng)站訪問(wèn)日志保存不規(guī)范,日志內(nèi)容保存不準(zhǔn)確或不完整,在檢查的時(shí)候都是不合規(guī)的。 在《網(wǎng)絡(luò)安全法》、《互聯(lián)網(wǎng)安全保護(hù)技術(shù)措施規(guī)定(公安部令第82號(hào))》等法律法規(guī)里面有關(guān)于日志保存的要求?!毒W(wǎng)絡(luò)安全法》第三章網(wǎng)絡(luò)運(yùn)行安全第二十一條有如下內(nèi)容:

再看《互聯(lián)網(wǎng)安全保護(hù)技術(shù)措施規(guī)定(公安部令第82號(hào))》第七條和第十三條:


在《GB/T 22239-2019 信息安全技術(shù) 網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求》中對(duì)等級(jí)保護(hù)二級(jí)以上的系統(tǒng)有更加詳細(xì)的日志管理要求。隨著系統(tǒng)等級(jí)的提高,日志還需要單獨(dú)保存,不能與系統(tǒng)保存在同一臺(tái)服務(wù)器上。

而關(guān)于不履行日志管理的法律責(zé)任在《網(wǎng)絡(luò)安全法》里有相應(yīng)的規(guī)定:

在《計(jì)算機(jī)信息網(wǎng)絡(luò)國(guó)際聯(lián)網(wǎng)安全保護(hù)管理辦法(2011修訂)》中也有相應(yīng)的處罰條款:

總的來(lái)說(shuō),網(wǎng)站日志管理在當(dāng)前網(wǎng)路安全相關(guān)法律法規(guī)逐漸完善,網(wǎng)絡(luò)安全監(jiān)測(cè)日趨嚴(yán)格的環(huán)境下,千萬(wàn)不能忽視,有條件的,可以建一個(gè)專門的網(wǎng)絡(luò)日志管理和分析系統(tǒng),這樣一方面做到合規(guī),在合規(guī)性審計(jì)上不出問(wèn)題,另一方面也便于從日志記錄中檢查和檢驗(yàn)操作事件的環(huán)境及活動(dòng),從而發(fā)現(xiàn)系統(tǒng)漏洞、入侵行為或改善系統(tǒng)性能。