Score:0

Logrotate Service Failure

ธง cn

My logrotate service failes. It complains about a duplicate entry for modsecurity.

 ● logrotate.service - Rotate log files
       Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset: enabled)
       Active: failed (Result: exit-code) since Tue 2021-06-08 14:22:07 CST; 2h 54min ago
         Docs: man:logrotate(8)
               man:logrotate.conf(5)
     Main PID: 15370 (code=exited, status=1/FAILURE)
    
    Jun 08 14:22:07 server1.example.com systemd[1]: Starting Rotate log files...
    Jun 08 14:22:07 server1.example.com logrotate[15370]: error: modsecurity:1 duplicate log entry for /var/log/apache2/modsec_audit.log
    Jun 08 14:22:07 server1.example.com logrotate[15370]: error: found error in file modsecurity, skipping
    Jun 08 14:22:07 server1.example.com systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE
    Jun 08 14:22:07 server1.example.com systemd[1]: logrotate.service: Failed with result 'exit-code'.
    Jun 08 14:22:07 server1.example.com systemd[1]: Failed to start Rotate log files.

However, /etc/logrotate.d/modsecurity doesn't contain any duplicates:

/var/log/apache2/modsec_audit.log
{
        rotate 14
        daily
        missingok
        compress
        delaycompress
        notifempty
}

Any thought?

UPDATE:

#grep -r 'modsec_audit.log' /etc/

/etc/logrotate.d/modsecurity:/var/log/apache2/modsec_audit.log
/etc/modsecurity/modsecurity.conf:SecAuditLog /var/log/apache2/modsec_audit.log
/etc/modsecurity/modsecurity.conf-recommended:SecAuditLog /var/log/apache2/modsec_audit.log

So I went through:

 /etc/modsecurity/modsecurity.conf:SecAuditLog /var/log/apache2/modsec_audit.log
 /etc/modsecurity/modsecurity.conf-recommended:SecAuditLog /var/log/apache2/modsec_audit.log

and hashed out the modsec_audit.log values, as below

#SecAuditLogType Serial
#SecAuditLog /var/log/apache2/modsec_audit.log

then ran:
systemctl restart logrotate

Same error

UPDATE 2:

Following @Nikita Kipriyanov advice, I went through and completely hashed out /etc/logrotate.d/modsecurity and now logrotate executes successfully (all mdosec logs hashed out):

#systemctl status logrotate ● logrotate.service - Rotate log files Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset: enabled) Active: inactive (dead) since Thu 2021-06-10 09:36:53 CST; 52s ago Docs: man:logrotate(8) man:logrotate.conf(5) Process: 20308 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=0/SUCCESS) Main PID: 20308 (code=exited, status=0/SUCCESS)

Jun 10 09:36:52 tester1.example.com systemd[1]: Starting Rotate log files...
Jun 10 09:36:53 tester1.example.com systemd[1]: logrotate.service: Succeeded.
Jun 10 09:36:53 tester1.example.com systemd[1]: Started Rotate log files.

So I enabled the original modsec_audit.log located at /etc/modsecurity/modsecuirty.confto see what would happen. Again, things seem to work correctly

systemctl status logrotate

● logrotate.service - Rotate log files Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset: enabled) Active: inactive (dead) since Thu 2021-06-10 09:54:05 CST; 4s ago Docs: man:logrotate(8) man:logrotate.conf(5) Process: 21452 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=0/SUCCESS) Main PID: 21452 (code=exited, status=0/SUCCESS)

Jun 10 09:54:05 tester1.example.com systemd[1]: Starting Rotate log files... Jun 10 09:54:05 tester1.example.com systemd[1]: logrotate.service: Succeeded. Jun 10 09:54:05 tester1.example.com systemd[1]: Started Rotate log files.

Same story for /etc/modsecurity/modsecurity-recommended, meaning that the logrotate service only fails when I use
/etc/logrotate.d/modsecuirty and the collision has to be a wildcard as suggested by @Nikita Kipriyanov

Michael Hampton avatar
cz flag
ค้นหาไฟล์อื่นที่กำหนดไว้
Nikita Kipriyanov avatar
za flag
โปรดสังเกตว่ารายการที่ซ้ำกันอาจเป็นไวด์การ์ด การค้นหา `modsec_audit` อาจไม่มีประโยชน์ สิ่งนี้สามารถตรวจสอบได้โดยการปิดใช้งานไฟล์ที่ไม่เหมาะสม *known* และหากทุกอย่างเริ่มต้นหลังจากนั้น แสดงว่ามีการชนกันของ *เป็น*
Maestro223 avatar
cn flag
@NikitaKipriyanov คุณพูดถูกแล้ว การปะทะกันจะต้องเป็นสัญลักษณ์แทน ฉันแสดงผลงานในโพสต์ด้านบน ฉันจะแก้ไขการชนได้อย่างไร
Score:2
ธง za

ดังนั้นไฟล์ /var/log/apache2/modsec_audit.log ถูกตั้งค่าให้หมุนโดย /etc/logrotate.d/modsecurity และไฟล์อื่นๆ ซึ่งครอบคลุมด้วยไวด์การ์ด ตัวอย่างเช่น อาจกำหนดเป็น /var/log/apache2/*logซึ่งแน่นอนว่ารวมถึงไฟล์นี้ด้วย ฉันไม่ทราบว่าคุณมีไฟล์การกำหนดค่า logrotate ใด แต่มีโอกาสสูงที่จะเป็นเช่นนั้น /etc/logrotate.d/apache2 หรือบางอย่างที่มีสัญลักษณ์แทน

ดังนั้น การ /var/log/apache2/modsec_audit.log จะถูกหมุนแม้ว่าคุณจะถอดออก /etc/logrotate.d/modsecurity. หรือดีกว่า แทนที่ด้วยไฟล์เปล่า (หรือไฟล์ที่มีเพียงความคิดเห็นที่มีลิงก์ไปยังคำถามและคำตอบ SF นี้เพื่อให้จำได้ง่ายว่าเกิดอะไรขึ้น) นี่เป็นวิธีแก้ไขปัญหาในเวลาใกล้เคียงที่ง่ายที่สุด วิธีอื่น คุณอาจต้องการลบ /var/log/apache2/modsec_audit.log จากการถูกจับด้วยไวด์การ์ด; ไม่มีวิธีตั้งค่าการยกเว้นเป็นสัญลักษณ์แทน เข้าสู่ระบบดังนั้นคุณจะต้องเขียนไวด์การ์ดใหม่เพื่อให้รวมไฟล์ทั้งหมดยกเว้นไฟล์นี้ ฉันคิดว่ามันยุ่งยาก

โปรดจำไว้ว่า /etc/logrotate.d/modsecurity และการกำหนดค่า logrotate อื่น ๆ น่าจะติดตั้งโดยแพ็คเกจ OS บางตัว ไฟล์เหล่านั้นจะถูกติดตั้งใหม่เมื่อคุณอัพเดตแพ็คเกจเหล่านั้น ในขณะที่ไฟล์ที่ถูกลบจะถูกใส่เข้าไปใหม่ ไฟล์ที่แก้ไขจะไม่ การป้องกันไฟล์การกำหนดค่าจะเริ่มทำงาน และอย่างน้อยคุณจะมีประกาศเกี่ยวกับการกำหนดค่าที่อัปเดตและข้อความแจ้งให้แก้ไขด้วยตนเองดังนั้น "สร้างไฟล์เปล่า" จึงนับเป็นการแก้ไขและช่วยให้คุณประหยัดได้

และเพื่อแก้ไขปัญหานี้อย่างสมบูรณ์และตลอดไป คุณควรค้นหาว่าไฟล์การปะทะกันเหล่านี้เป็นของแพ็คเกจใด และยื่นจุดบกพร่องไปยังตัวติดตามจุดบกพร่องของการแจกจ่ายของคุณ คุณอาจโน้มน้าวให้พวกเขาแก้ไขแพ็คเกจเพื่อให้การอัปเดตไม่มีไฟล์เหล่านี้หรือไฟล์เหล่านี้จะไม่ขัดแย้งกัน ดังนั้นจึงไม่มีอะไรเสียหายหลังจากอัปเดต

Score:1
ธง us

เป็นไปได้มากว่าคุณมีรายการที่ซ้ำกันซึ่งกำหนดไว้ในไฟล์อื่น
ตรวจสอบ /etc/logrotate.conf ไฟล์สำหรับสำเนา หากไม่มีในปัญหาไฟล์นี้

grep -rnw '/etc/logrotate.d/' -e 'modsec_audit.log'

เพื่อค้นหารายการที่ซ้ำกันในไฟล์อื่น


คุณยังสามารถลองค้นหาใน /etc/logrotate.d/rsyslog ไฟล์:

grep 'modsec_audit.log' /etc/logrotate.d/rsyslog

คุณอาจพบรายการที่ซ้ำกันที่นั่น

Maestro223 avatar
cn flag
ขอบคุณสำหรับการตอบกลับ. ฉันสับสนเล็กน้อยเกี่ยวกับวิธีดำเนินการตามผลลัพธ์ของ `grep -rnw '/etc/logrotate.d/' -e 'modsec_audit.log`` ซึ่งก็คือ `/etc/logrotate.d/modsecurity:1:/ var/log/apache2/modsec_audit.log `
p10l avatar
us flag
ฉันแก้ไขคำตอบและเพิ่มวิธีอื่นในการค้นหาคำตอบที่ซ้ำกัน ดูว่ามันจะช่วยได้หรือไม่
p10l avatar
us flag
นอกจากนี้ `/etc/logrotate.conf` อาจรวมไฟล์อื่นๆ ที่มีคำสั่ง "include" ตรวจสอบให้แน่ใจว่าไม่มีไฟล์ที่ซ้ำกันในไฟล์ที่รวมอยู่
Maestro223 avatar
cn flag
ฉันเพิ่มผลลัพธ์ของ `#grep -r 'modsec_audit.log' /etc/` ในโพสต์ของฉัน ฉันไม่เห็น (หรือไม่เข้าใจ) ว่าสำเนาอยู่ที่ไหน
p10l avatar
us flag
คุณมีมันแล้ว สามรายการที่ซ้ำกัน หนึ่งใน `/etc/logrotate.d/modsecurity` หนึ่งใน `/etc/modsecurity/modsecurity.conf` และอีกหนึ่งรายการใน `/etc/modsecurity/modsecurity.conf-recommended` ลบสองรายการออกและเริ่มบริการ logrotate ใหม่
Maestro223 avatar
cn flag
นั่นคือสิ่งที่ฉันคิดเช่นกัน ดังนั้นฉันจึงดำเนินการและแฮชเอา `modsec_audit.log` จากไฟล์ 2 ด้านล่างตามรายการด้านบน เหลือเพียง `/etc/logrotate.d/modsecurity:/var/log/apache2/modsec_audit.log `. จากนั้นเริ่มบริการ logrotate ใหม่ ... ข้อผิดพลาดเดียวกัน :-/ ฉันจะแสดงงานข้างต้นในไม่กี่นาที
Maestro223 avatar
cn flag
ให้เรา [ดำเนินการสนทนาต่อในการแชท](https://chat.stackexchange.com/rooms/126251/discussion-between-yupthatguy-and-pawel-grondal)
คำถามนี้เป็นภาษาอื่นๆ:

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา