Ubuntu PHP日志中的安全信息与处置
一 日志位置与快速定位
grep -n "^error_log" /etc/php/*/fpm/php.ini /etc/php/*/apache2/php.ini /etc/php/*/cli/php.iniphp --inisudo tail -f /var/log/apache2/error.log /var/log/nginx/error.log /var/log/php-fpm*.log 2>/dev/nullsudo tail -f /var/log/syslog 或 sudo journalctl -xe。二 常见安全事件与日志特征
三 快速排查与取证命令
sudo tail -f /var/log/*error.log /var/log/php-fpm*.log | egrep -i --color=auto "sql|mysql|syntax|include|require|fopen|file_get_contents|exec|shell_exec|eval|passthru|system|chmod|chown|\.\./|\.env|\.htaccess|wp-login|admin|\.phpmyadmin"awk '$9 ~ /4[0-9]{2}/ {print $1,$7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | headawk '$9 ~ /4[0-9]{2}/ {print $1,$6}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | headsudo find /var/www -type f -mtime -1 -ls | egrep -i "\.(php|phtml|inc)$"sudo crontab -l -u www-data;ps aux | egrep "php|sh|\.pl|\.py" | grep -v "grep"sudo tail -n 2000 /var/log/syslog | egrep -i "php|fpm|sql|mysql"。四 安全加固与日志最佳实践
/var/log/php_errors.log {
daily
missingok
rotate 7
compress
notifempty
create 640 www-data adm
}