網絡日志管理合規的重要性
網絡日志是一個平時不怎么被重視的東西,今天寫到關于網絡日志的內容,是在部署網站的時候,看到訪問日志里記錄的ip地址不對,解決如何獲取客戶端真實ip地址的問題的同時,想到了關于網絡日志合規性的內容,一并記錄。
第一個問題:前端使用Nginx反向代理,后端Aapche如何獲取真實ip 在簡易的Nginx反向代理架構中,客戶端訪問網址,直接訪問到的是前端代理服務器,代理服務器獲取請求后,再將代理轉發給后端的服務器,如此,代理服務器拿到了客戶端的ip地址,而后端服務器拿到的是代理服務器的ip地址,導致了后端服務器記錄的日志內容不準確。
當查看后端Apache服務器的訪問日志時,每一行網絡請求對應的ip地址都是相同的,而且正是前端nginx反向代理服務器的ip地址。

nginx和apache都是可配置的,通過修改nginx和apache的配置,可以實現將客戶端的真實ip地址傳遞至后端apache服務器。 直接貼出兩個配置文件如下:
- #nginx 站點配置文件
- 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>
修改配置后,重新啟動nginx和apahce,在apahce服務器的訪問日志里就可以看到客戶端的真實IP地址了。

第二個問題:網絡日志管理的合規性
網絡日志管理的合規性是個什么問題?初看真是一頭霧水,因為這個問題太抽象了。 再問一個具體點的:網站訪問日志沒有記錄訪問用戶的真實網絡ip地址會有什么問題? 根據網上公布的一些公安機關處置的案件,有不少因為網站訪問日志管理不規范而被行政警告處罰和罰款的實例,其中罰款不僅是對單位罰款,而且還要對網絡安全負責人進行罰款。而網站訪問日志保存不規范,日志內容保存不準確或不完整,在檢查的時候都是不合規的。 在《網絡安全法》、《互聯網安全保護技術措施規定(公安部令第82號)》等法律法規里面有關于日志保存的要求。《網絡安全法》第三章網絡運行安全第二十一條有如下內容:

再看《互聯網安全保護技術措施規定(公安部令第82號)》第七條和第十三條:


在《GB/T 22239-2019 信息安全技術 網絡安全等級保護基本要求》中對等級保護二級以上的系統有更加詳細的日志管理要求。隨著系統等級的提高,日志還需要單獨保存,不能與系統保存在同一臺服務器上。

而關于不履行日志管理的法律責任在《網絡安全法》里有相應的規定:

在《計算機信息網絡國際聯網安全保護管理辦法(2011修訂)》中也有相應的處罰條款:

總的來說,網站日志管理在當前網路安全相關法律法規逐漸完善,網絡安全監測日趨嚴格的環境下,千萬不能忽視,有條件的,可以建一個專門的網絡日志管理和分析系統,這樣一方面做到合規,在合規性審計上不出問題,另一方面也便于從日志記錄中檢查和檢驗操作事件的環境及活動,從而發現系統漏洞、入侵行為或改善系統性能。