Điểm:0

Logrotate Service Failure

lá cờ 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
lá cờ cz
Tìm tệp khác mà nó được xác định trong.
Nikita Kipriyanov avatar
lá cờ za
Lưu ý rằng mục nhập trùng lặp có thể là ký tự đại diện. Có thể là vô ích khi tìm kiếm chính xác `modsec_audit`. Điều này có thể được kiểm tra bằng cách vô hiệu hóa tệp vi phạm *đã biết* và nếu mọi thứ bắt đầu sau đó thì *có* xung đột.
Maestro223 avatar
lá cờ cn
@NikitaKipriyanov Bạn đã đúng, va chạm phải là một ký tự đại diện, tôi đã chỉ ra tác phẩm trong bài đăng ở trên. Làm cách nào để khắc phục va chạm?
Điểm:2
lá cờ za

Vì vậy, tập tin /var/log/apache2/modsec_audit.log được thiết lập để được xoay bởi /etc/logrotate.d/modsecurity và một số tệp khác, bao gồm nó bằng ký tự đại diện. Ví dụ, điều đó có thể được định nghĩa là /var/log/apache2/*log, tất nhiên bao gồm tệp này. Tôi không biết bạn có tệp cấu hình logrotate nào khác, nhưng rất có thể đó là /etc/logrotate.d/apache2 hoặc một cái gì đó tương tự có ký tự đại diện.

Do đó, các /var/log/apache2/modsec_audit.log sẽ được xoay ngay cả khi bạn loại bỏ /etc/logrotate.d/modsecurity. Hoặc tốt hơn, hãy thay thế nó bằng một tệp trống (hoặc tệp chỉ có nhận xét chứa liên kết đến câu hỏi và câu trả lời SF này để dễ nhớ điều gì đã xảy ra). Đây là giải pháp gần thời gian đơn giản nhất cho một vấn đề. Cách khác, bạn có thể muốn loại bỏ /var/log/apache2/modsec_audit.log khỏi bị bắt với ký tự đại diện; không có cách nào để đặt loại trừ thành ký tự đại diện trong quay vòng, vì vậy cuối cùng bạn sẽ phải viết lại (các) ký tự đại diện để nó sẽ bao gồm tất cả các tệp ngoại trừ tệp này. Tôi coi điều này là rườm rà.

Cũng nên nhớ, /etc/logrotate.d/modsecurity và các cấu hình logrotate khác có thể đã được cài đặt bởi một số gói HĐH. Các tệp đó sẽ được cài đặt lại khi bạn cập nhật các gói đó. Trong khi tệp đã xóa sẽ được đặt lại vào vị trí, thì tệp đã chỉnh sửa sẽ không. Tính năng bảo vệ tệp cấu hình sẽ khởi động và ít nhất bạn sẽ có thông báo về cấu hình được cập nhật và lời nhắc giải quyết thủ công.Vì vậy, "tạo một tệp trống" được tính là một chỉnh sửa và sẽ giúp bạn tiết kiệm được một ít tóc.

Và, để giải quyết vấn đề này hoàn toàn và mãi mãi, bạn nên khám phá xem các tệp xung đột này thuộc về gói nào và gửi lỗi vào trình theo dõi lỗi của bản phân phối của bạn. Bạn có thể thuyết phục họ sửa các gói để các bản cập nhật không chứa các tệp này hoặc các tệp này không bị xung đột, vì vậy không có gì bị hỏng sau khi cập nhật.

Điểm:1
lá cờ us

Rất có thể bạn có mục nhập trùng lặp được xác định trong một tệp khác.
Kiểm tra /etc/logrotate.conf tệp trùng lặp, nếu không có vấn đề nào trong tệp này

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

để tìm các bản sao trong các tệp khác.


Bạn cũng có thể thử tìm trong /etc/logrotate.d/rsyslog tập tin:

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

Bạn có thể tìm thấy các bản sao ở đó.

Maestro223 avatar
lá cờ cn
Cảm ơn vi đa trả lơi. Tôi hơi bối rối về cách tiến hành dựa trên đầu ra của `grep -rnw '/etc/logrotate.d/' -e 'modsec_audit.log``, là `/etc/logrotate.d/modsecurity:1:/ var/log/apache2/modsec_audit.log `
p10l avatar
lá cờ us
Tôi đã chỉnh sửa câu trả lời của mình và thêm một cách khác để tìm các bản sao. Xem nếu nó giúp.
p10l avatar
lá cờ us
Ngoài ra `/etc/logrotate.conf` có thể bao gồm các tệp khác với chỉ thị `include`. Đảm bảo không có bản sao nào trong các tệp được bao gồm.
Maestro223 avatar
lá cờ cn
Tôi đã thêm đầu ra của `#grep -r 'modsec_audit.log' /etc/` vào bài đăng của mình. Tôi không thấy (hoặc không hiểu) nơi có thể trùng lặp.
p10l avatar
lá cờ us
Được, bạn đã có nó. Ba bản sao. Một trong `/etc/logrotate.d/modsecurity`, một trong `/etc/modsecurity/modsecurity.conf` và một trong `/etc/modsecurity/modsecurity.conf-recommended`. Xóa hai trong số đó và khởi động lại dịch vụ logrotate.
Maestro223 avatar
lá cờ cn
Đó cũng là những gì tôi nghĩ, vì vậy tôi đã xem qua và băm nhỏ `modsec_audit.log` từ 2 tệp dưới cùng được liệt kê ở trên, chỉ để lại `/etc/logrotate.d/modsecurity:/var/log/apache2/modsec_audit.log `. Sau đó, khởi động lại dịch vụ logrotate ... cùng một lỗi :-/ Tôi sẽ hiển thị công việc trên, trong một vài phút.
Maestro223 avatar
lá cờ cn
Hãy để chúng tôi [tiếp tục cuộc thảo luận này trong cuộc trò chuyện](https://chat.stackexchange.com/rooms/126251/discussion-between-yupthatguy-and-pawel-grondal).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.