Skocz do zawartości
Fizyda

LFD whitelist'owanie procesow z głową

Polecane posty

Mam zainstalowanego CSF i LFD, w obecnej chwili dostaję od lfd masę wiadomości o tym że jakiś proces działa zbyt długo, zjadł za dużo pamięci lub uruchomił ileś podprocesów.

 

Oczywiście do walki z fałszywymi powiadomieniami służy csf.pignore, jak to ze wszystkim bywa tak i w tym przypadku nie można bezmyślnie wklepać wszystkiego jak leci. Dlatego też chciałbym się dowiedzieć jak whitelistować procesy z głową na przykładzie php.

 

Mamy php-fpm z dwoma basenami, powiadomienia jakie dostajemy:

Time:         
Account:      
Resource:     Process Time
Exceeded:     66163 > 1800 (seconds)
Executable:   /usr/sbin/php5-fpm
Command Line: php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
PID:          2589 (Parent PID:493)
Killed:       No
Time:         
Account:      
Resource:     Process Time
Exceeded:     66102 > 1800 (seconds)
Executable:   /usr/sbin/php5-fpm
Command Line: php-fpm: pool jakasnazwa
PID:          2657 (Parent PID:2589)
Killed:       No
Time:         
Account:      
Resource:     Process Time
Exceeded:     66102 > 1800 (seconds)
Executable:   /usr/sbin/php5-fpm
Command Line: php-fpm: pool www
PID:          2658 (Parent PID:2589)
Killed:       No

Do białej listy można dodać na 3 sposoby:

exe:/full/path/to/fileuser:usernamecmd:command line

Gdy dodam exe:/usr/sbin/php5-fpm z tego co się domyślam "wytnę" wszystkie powiadomienia. Druga opcja w tym przypadku odpada bo nie mamy informacji o Account. Trzecia cmd:php-fpm: pool www wydaje się najrozsądniejsza bo dodaję dla każdego basenu osobną regułę.

 

Pytanie tylko czy dobrze zrozumiałem jak się tworzy te reguły i dobre rzeczy w nich wpisałem. Kolejna kwestia to który sposób wybrać i czym się kierować przy wyborze?

 

Zastanawia mnie jeszcze jedna sprawa, na jednym z serwerów na którym działa lfd zainstalowany jest bind9 i z tego serwera nie ma powiadomień że bind działa ponad 1800 sekund. Dlaczego tak się dzieje? Jest to normalne zachowanie czy szukać problemu w lfd np. popsułem coś w konfiguracji chociaż świadomie nic nie zmieniałem.

Edytowano przez Fizyda (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

 

Druga opcja w tym przypadku odpada bo nie mamy informacji o Account.

Account to użytkownik na którym działa php, możliwe że jest to www, jakasnazwa

 

 

 

Zastanawia mnie jeszcze jedna sprawa, na jednym z serwerów na którym działa lfd zainstalowany jest bind9 i z tego serwera nie ma powiadomień że bind działa ponad 1800 sekund. Dlaczego tak się dzieje? Jest to normalne zachowanie czy szukać problemu w lfd np. popsułem coś w konfiguracji chociaż świadomie nic nie zmieniałem.

Bo masz pewnie taką linijkę

exe:/usr/sbin/named

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Account to użytkownik na którym działa php, możliwe że jest to www, jakasnazwa

 

Bo masz pewnie taką linijkę

exe:/usr/sbin/named

 

Słuszna uwaga, nie sprawdzałem domyślnej zawartości csf.pignore.

Gdyby jednak nazwa była podana to dobrze myślę jak się dodaje reguły i w jaki sposób one zadziałają?

 

"pool" nie oznacza tylko basenu. Chyba "pula" jest lepszym określeniem? :P

W sumie nie pomyślałem, od razu skojarzyło mi się z "basenem" dla skryptów :P takie miejsce gdzie sobie mogą bezpiecznie przebywać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Znaczy może zastanów się co chcesz osiągnąć tymi mailami. Bo jeżeli nie dodasz do wyjątków procesów które chodzą cały czas takich jak php-fpm to dostaniesz spam maili. Skoro php działa w tle cały czas to po co Ci powiadomienie na maila. To może być przydatne gdy do systemu mają dostęp osoby trzecie i włączą sobie np. klienta IRC i wtedy dostaniesz powiadomienie i możesz jakoś zareagować.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Znaczy może zastanów się co chcesz osiągnąć tymi mailami. Bo jeżeli nie dodasz do wyjątków procesów które chodzą cały czas takich jak php-fpm to dostaniesz spam maili. Skoro php działa w tle cały czas to po co Ci powiadomienie na maila. To może być przydatne gdy do systemu mają dostęp osoby trzecie i włączą sobie np. klienta IRC i wtedy dostaniesz powiadomienie i możesz jakoś zareagować.

 

 

Dla przykładu, jak najlepiej dodać php-fpm do wyjątków. Najlepiej, by nie dostawać powiadomień, ale dostać powiadomienie jak się zadzieje coś dziwnego, np uruchomiony zostanie dodatkowa pula dla php-fpm.

Ostatnia rzecz jaka mnie interesuje to czy dobrze rozumiem działanie reguł wyjątków to:

exe:/usr/sbin/php5-fpm wywali wszystkie powiadomienia niezależnie od "puli"

user:www wywali wszystkie powiadomienia dla użytkownika www, nawet jak uruchomi coś innego

cmd:php-fpm: pool www wywali powiadomienia dla tej konkretnej puli, ale no dla php-fpm: pool www2 dalej będzie wysyłał

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×