cPanel & WHM ΠΠΎΠ³ Π€Π°ΠΉΠ»ΠΎΠ²Π΅: ΠΡΠ»Π½ΠΎΡΠΎ Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎ Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° Π‘ΡΡΠ²ΡΡΠ½ΠΈ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ
cPanel & WHM ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ»ΠΎΡΡΠ½Π°, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°ΡΡΠΎΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π·Π° Π»ΠΎΠ³Π²Π°Π½Π΅, ΠΊΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΡΠΊΠΎ Π·Π½Π°ΡΠΈΠΌΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅ Π² ΡΠ΅Π± ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΠ°, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ΡΠΎ, Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠ΅ΠΊΠΈ Π»ΠΎΠ³ ΡΠ°ΠΉΠ» ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΡΠΌΠ°Ρ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½Π° ΡΠ΅Π» β Π·Π½Π°Π½ΠΈΠ΅ΡΠΎ ΠΊΠΎΠΉ Π»ΠΎΠ³ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ° Π·Π° ΠΏΠ΅Ρ ΠΌΠΈΠ½ΡΡΠΈ ΠΈ ΡΠ°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΡΠΎ ΡΠ°ΡΠΎΠ²Π΅.
Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ° Π²ΡΠ΅ΠΊΠΈ ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π»ΠΎΠ³ ΡΠ°ΠΉΠ» Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΡΡΠ΅Π΄Π° Π½Π° cPanel & WHM, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΡΠΈΡΠ° Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, ΡΠ΅Π°Π»Π½ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ.
ΠΠ°ΡΠΎ Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° cPanel & WHM ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π²Π°ΡΠ΅ΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅
ΠΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΎΠ΄ΠΈΡΠ½Π° ΡΠ»Π΅Π΄Π° β ΡΠ΅ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π²ΡΠ΅ΠΊΠΈ Ρ ΠΎΡΡΠΈΠ½Π³ ΡΡΠ΅ΠΊ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Linux. Π ΡΡΠ΅Π΄Π° Π½Π° cPanel ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° Π·Π° Π»ΠΎΠ³Π²Π°Π½Π΅ ΠΎΠ±Ρ Π²Π°ΡΠ° Apache/LiteSpeed, Exim, MySQL/MariaDB, PHP-FPM, ProFTPd, Pure-FTPd, cPHulk ΠΈ ΡΠ°ΠΌΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΡΠ»ΠΎΠΉ Π½Π° cPanel/WHM.
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΅ΡΠΈΡΠ°Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎ β ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΉΠΊΠΈ Π³ΠΈ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ ΠΏΠΎΠ²ΡΠ΅Π΄Π° β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ ΡΠ°Π½Π½ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈ: ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π½Π°ΡΠ°ΡΡΠ²Π°ΡΠΈ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ Π·Π° Π³ΡΡΠ±Π° ΡΠΈΠ»Π°, Π½Π°ΡΡΡΠΏΠ²Π°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. ΠΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΡΠ»Π°Π²Ρ ΡΠ΅Π·ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π°Ρ Π² ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ.
Π’ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠ΅Π»ΠΈ Π΄Π²ΠΈΠΆΠ°Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π² ΡΡΠ΅Π΄ΠΈ Π½Π° cPanel:
- ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Π°ΡΠ°: ΠΠΎΡΠ΅Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΡΠΈ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Apache, PHP ΠΈ MySQL Π·Π° ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π² Π²Π΅ΡΠΈΠ³Π° ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ.
- ΠΠ°Π·ΠΎΠ²ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°: ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, HTTP ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π½Π°ΡΠΈΡΡΡ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°.
- ΠΡΠΈΠΌΠΈΠ½Π°Π»ΠΈΡΡΠΈΠΊΠ° Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°: Π Π΅ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ Π»ΠΈΠ½ΠΈΠΈ Π½Π° Π°ΡΠ°ΠΊΠΈ ΠΎΡ SSH Π»ΠΎΠ³ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, Π·Π°ΠΏΠΈΡΠΈ Π½Π° cPHulk ΠΈ Π»ΠΎΠ³ Π·Π° ΠΎΡΡ Π²ΡΡΠ»ΡΠ½ΠΈΡ Π½Π° Exim Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΠ±Ρ Π²Π°ΡΠ° ΠΈ ΡΡΡΠΏΠΊΠΈΡΠ΅ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅.
ΠΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Apache
Apache Π΅ ΡΠ΅Π± ΡΡΡΠ²ΡΡΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΡΡΠ΅Π΄ΠΈ Π½Π° cPanel, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ LiteSpeed Π²ΡΠ΅ ΠΏΠΎ-ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° Π·Π°ΠΌΡΠ½Π°. Π Π΄Π²Π°ΡΠ° Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ Π² ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΡΡΠΈΡΠ°.
ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Apache
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/apache/logs/error_log
Π’ΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΡ Π½Π°ΠΉ-ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Π½ Π»ΠΎΠ³ ΠΏΡΠΈ Π²ΡΡΠΊΠ° ΡΠ΅ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² cPanel. Π’ΠΎΠΉ ΡΠ»Π°Π²Ρ Π²ΡΡΠΊΠ° Π³ΡΠ΅ΡΠΊΠ°, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π° ΠΎΡ Apache: ΡΠ°ΡΠ°Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° PHP (ΠΊΠΎΠ³Π°ΡΠΎ PHP ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»), Π½Π΅ΡΡΠΏΠ΅Ρ
ΠΈ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° .htaccess, Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π² mod_rewrite, ΠΎΡΠΊΠ°Π·ΠΈ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π΅ΡΡΠΏΠ΅Ρ
ΠΈ ΠΏΡΠΈ SSL ΡΡΠΊΠΎΡΡΠΈΡΠΊΠ°Π½Π΅ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° upstream ΠΏΡΠΎΠΊΡΠΈ.
ΠΡΠΈΡΠΈΡΠ΅Π½ Π΄Π΅ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ: Π»ΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΈ ΡΠ΅ΡΡΠΎ Π΅ ΠΏΠΎ-Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΎΡ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ Π»ΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ. Π’Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π½Π°:
/home/username/logs/domain.com-ssl_error_log
/home/username/logs/domain.com-error_logΠ’Π΅Π·ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ VirtualHost ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π΄ΠΎ Π΅Π΄ΠΈΠ½ Π°ΠΊΠ°ΡΠ½Ρ, Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ ΡΡΠΌΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΡ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ ΡΡΡΠ²ΡΡ.
ΠΠ±Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» β ΡΠΈΠΊΡΠ» Π½Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ .htaccess:
grep "RewriteRule" /usr/local/apache/logs/error_log | tail -50ΠΠ±Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» β ΡΠ°ΡΠ°Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° PHP ΠΏΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½:
grep "PHP Fatal" /home/username/logs/domain.com-error_log | tail -30ΠΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° Apache
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/apache/logs/access_log
ΠΠ»ΠΎΠ±Π°Π»Π½ΠΈΡΡ Π»ΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΡΠΊΠ° HTTP/HTTPS Π·Π°ΡΠ²ΠΊΠ° Π² Combined Log Format ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅:
IP - username [timestamp] "METHOD /path HTTP/version" status_code bytes_sent "referer" "user_agent"ΠΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ Π½Π° /home/username/logs/domain.com-access_log ΠΈ ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π°ΠΊΠ°ΡΠ½ΡΠΈ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°:
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° DDoS ΠΈΠ»ΠΈ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΡ Π·Π° ΡΠΊΡΠ΅ΠΉΠΏΠΈΠ½Π³ ΠΏΠΎ ΡΠ΅ΡΡΠΎΡΠ° Π½Π° IP:
awk '{print $1}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -rn | head -20- ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΎΡ ΡΠ΅ΡΠΈΡ 500 ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ°Ρ (ΠΈΠ·ΠΈΡΠΊΠ²Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΡΠΈ Π½Π° Π»ΠΎΠ³Π° Π΄Π° ΡΠ° ΡΠΊΠΎΡΠΎΡΠ½ΠΈ):
grep " 5[0-9][0-9] " /usr/local/apache/logs/access_log | tail -200- ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠΊΠ΅Π½Π΅ΡΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎ Π½ΠΈΠ· Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π°Π³Π΅Π½Ρ:
grep -i "sqlmap|nikto|masscan|nmap" /usr/local/apache/logs/access_logΠΡΠ°Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ: ΠΠ° ΡΡΡΠ²ΡΡΠΈ Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ piped logging Π² WHM, Π»ΠΎΠ³ΡΡ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΡΠ°Π·Π΅Π½ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½, Π·Π°ΡΠΎΡΠΎ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ Π΄Π΅ΠΌΠΎΠ½ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅. ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ WHM > Apache Configuration > Global Configuration Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° CustomLog, Π°ΠΊΠΎ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ ΠΏΡΠ°Π·Π΅Π½ Π»ΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ.
ΠΠΎΠ³ Π·Π° SSL/TLS Π½Π° Apache
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/apache/logs/ssl_error_log
Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ ΡΠ»Π°Π²Ρ Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ TLS Π΄ΠΎΠ³ΠΎΠ²Π°ΡΡΠ½Π΅, Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π’ΠΎΠΉ Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ HTTPS ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π»ΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΡΠΊ ΠΏΡΡΠ²ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ°Π²Π°Ρ Π·Π° SSL ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² Π±ΡΠ°ΡΠ·ΡΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΡΡΠ΅Π· AutoSSL ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ Π±Π΅Π·ΡΡΠΌΠ½ΠΎ.
ΠΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° cPanel ΠΈ WHM
ΠΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ cPanel
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/cpanel/logs/access_log
ΠΠ°ΠΏΠΈΡΠ²Π° Π²ΡΡΠΊΠ° HTTP Π·Π°ΡΠ²ΠΊΠ°, Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° cPanel (ΠΏΠΎΡΡ 2082/2083). ΠΡΠ΅ΠΊΠΈ Π·Π°ΠΏΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΈΡ IP. Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π·Π° ΠΎΠ΄ΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ» Π² ΡΠ²ΠΎΡ Π°ΠΊΠ°ΡΠ½Ρ Π² cPanel.
ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»:
grep "username" /usr/local/cpanel/logs/access_log | grep -v "GET /favicon"ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° cPanel
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/cpanel/logs/error_log
Π£Π»Π°Π²Ρ Π²ΡΡΡΠ΅ΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΈΡ ΡΠ»ΠΎΠΉ Π½Π° cPanel β Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ API ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΡΡΡΠΏΠ΅Π½ΠΈ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ Π½Π° cPanel, Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Perl ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π² Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° cPanel ΠΈ Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ. ΠΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π½Π° cPanel Π³Π΅Π½Π΅ΡΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ 500 ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ° ΡΡΡΠΏΠ΅Π½ΠΈ, ΡΠΎΠ²Π° Π΅ ΠΏΡΡΠ²ΠΈΡΡ Π»ΠΎΠ³ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°.
ΠΠΎΠ³ Π·Π° Π²Π»ΠΈΠ·Π°Π½ΠΈΡ Π² WHM
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/cpanel/logs/login_log
ΠΠ°ΠΏΠΈΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π² WHM β ΡΡΠΏΠ΅ΡΠ½ΠΈ Π²Π»ΠΈΠ·Π°Π½ΠΈΡ, Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ, ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π° Π·Π° Π΄Π²ΡΡΠ°ΠΊΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° API ΡΠΎΠΊΠ΅Π½ΠΈ. Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΡΠΎΡΠΈΠ·ΠΈΡΠ°Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π΅Π½ Π΄ΠΎΡΡΡΠΏ.
ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² WHM:
grep "FAILED" /usr/local/cpanel/logs/login_log | awk '{print $NF}' | sort | uniq -c | sort -rnΠΠΎΠ³ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π³ΡΡΠ±Π° ΡΠΈΠ»Π° Π½Π° cPHulk
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/cpanel/logs/cphulkd.log
Π’ΠΎΠ²Π° Π΅ Π»ΠΎΠ³, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ, Π½ΠΎ Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π²Π°ΠΆΠ½ΠΈΡΠ΅. cPHulk Π΅ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΡ Π΄Π΅ΠΌΠΎΠ½ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π³ΡΡΠ±Π° ΡΠΈΠ»Π° Π½Π° cPanel. Π’ΠΎΠΉ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΠΎΠΏΠΈΡΠΈΡΠ΅ Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² SSH, FTP, cPanel ΠΈ WHM ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡΠ° IP Π°Π΄ΡΠ΅ΡΠΈ, Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡΠΈ ΠΏΡΠ°Π³ΠΎΠ²ΠΈΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ³Π°ΡΠΎ Π»Π΅Π³ΠΈΡΠΈΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ WHM ΠΈΠ»ΠΈ SSH, ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ ΠΏΠΎΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π² ΡΠΎΠ·ΠΈ Π»ΠΎΠ³. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° cPHulk:
mysql -u root cphulkd -e "SELECT ip, user, type, timestamp FROM brutes ORDER BY timestamp DESC LIMIT 20;"ΠΠ° Π΄Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ IP ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄:
/usr/local/cpanel/bin/cphulk_pam_ctl --unblock=192.168.1.1ΠΠΎΠ³ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Π½Π° cPanel
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/cpanel/updatelogs/
ΠΡΡΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° cPanel Π³Π΅Π½Π΅ΡΠΈΡΠ° Π»ΠΎΠ³ ΡΠ°ΠΉΠ» Ρ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΠΊ Π² ΡΠ°Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° cPanel ΡΡΡΠΏΠΈ ΡΡΠ»ΡΠ³Π° ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΡΠ΅Π·Π½Π΅ ΡΠ»Π΅Π΄ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ°Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ° ΠΏΡΠ»Π½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π»ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
ls -lt /var/cpanel/updatelogs/ | head -5ΠΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΈΠΌΠ΅ΠΉΠ»
ΠΠΌΠ΅ΠΉΠ»ΡΡ Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π°ΠΉ-ΡΠ»ΠΎΠΆΠ½Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² cPanel. Exim, MTA ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° cPanel, Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΡΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΠΎΠΊΠ° ΠΎΡ Π»ΠΎΠ³ΠΎΠ²Π΅, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ»ΡΠΆΠΈ Π·Π° ΠΎΡΠ΄Π΅Π»Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½Π° ΡΠ΅Π».
ΠΡΠ½ΠΎΠ²Π΅Π½ Π»ΠΎΠ³ Π½Π° Exim
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/exim_mainlog
Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π»ΠΎΠ³ Π·Π° ΠΈΠΌΠ΅ΠΉΠ» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΡΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΎΡ Exim β Π²Ρ ΠΎΠ΄ΡΡΠΎ ΠΈΠ»ΠΈ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΎ β Π³Π΅Π½Π΅ΡΠΈΡΠ° Π·Π°ΠΏΠΈΡΠΈ ΡΡΠΊ, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅, ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΎΠΏΠΈΡΠΈ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΠΏΠΎΡΠ΅ΠΆΠ΄Π°Π½Π΅ (Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ, ΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ Π²ΡΡΠ½Π°ΡΠΎ).
ΠΠ½Π°ΡΠΎΠΌΠΈΡ Π½Π° Π·Π°ΠΏΠΈΡ Π² Π»ΠΎΠ³Π°:
2024-01-15 14:23:01 1rPqXY-0003aB-Kc <= sender@example.com H=mail.example.com [203.0.113.10] P=esmtps S=4821 id=<abc123@example.com>
2024-01-15 14:23:02 1rPqXY-0003aB-Kc => recipient@domain.com R=virtual_user_delivery T=virtual_userdelivery_pipe
2024-01-15 14:23:02 1rPqXY-0003aB-Kc CompletedID Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ (1rPqXY-0003aB-Kc) Π΅ ΠΊΠ»ΡΡΡΡ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π»ΠΈΡ Π»ΠΎΠ³:
grep "1rPqXY-0003aB-Kc" /var/log/exim_mainlogΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠ° ΠΏΠΎΡΠ° ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π°ΠΊΠ°ΡΠ½Ρ (ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π·Π° ΡΠ°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΡΠΏΠ°ΠΌ):
grep "U=username" /var/log/exim_mainlog | grep "<=" | awk '{print $7}' | sort | uniq -c | sort -rn | head -20Π Π΅Π°Π»Π΅Π½ ΠΊΡΠ°Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ: ΠΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° WordPress ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠΏΠ°ΠΌ, ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π»ΠΎΠ³ Π½Π° Exim ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΊΠ°ΡΠΎ nobody (ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Apache), Π° Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅ Π½Π° Π°ΠΊΠ°ΡΠ½Ρ Π² cPanel. Π€ΠΈΠ»ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π·Π° ΡΠΎΠ²Π°:
grep "U=nobody" /var/log/exim_mainlog | grep "<=" | tail -50ΠΠΎΠ³ Π·Π° ΠΎΡΡ Π²ΡΡΠ»ΡΠ½ΠΈΡ Π½Π° Exim
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/exim_rejectlog
ΠΠ°ΠΏΠΈΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Exim Π΅ ΠΎΡΠΊΠ°Π·Π°Π» Π΄Π° ΠΏΡΠΈΠ΅ΠΌΠ΅ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° SMTP Π²ΡΡΠ·ΠΊΠ° β ΠΏΡΠ΅Π΄ΠΈ Π΄ΠΎΡΠΈ Π΄Π° ΡΠ° ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π² ΠΎΠΏΠ°ΡΠΊΠ°. ΠΡΡ Π²ΡΡΠ»ΡΠ½ΠΈΡΡΠ° ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΡΠ΅ΡΠ½ΠΈΡ ΡΠΏΠΈΡΡΠΊ Π½Π° RBL, Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ Π½Π° SPF/DKIM/DMARC, Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ HELO Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΎΡΠΊΠ°Π· Π·Π° ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ°.
Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΄Π²Π° ΡΡΠ΅Π½Π°ΡΠΈΡ: Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Π½Π΅ Π·Π°ΡΠΎ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½Π° Π²Ρ ΠΎΠ΄ΡΡΠ° ΠΏΠΎΡΠ° ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»Ρ ΠΈ ΠΎΠ΄ΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠ°ΠΌ.
ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-ΡΠ΅ΡΡΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π·Π° ΠΎΡΡ Π²ΡΡΠ»ΡΠ½Π΅:
grep "rejected" /var/log/exim_rejectlog | grep -oP "(?<=: ).*" | sort | uniq -c | sort -rn | head -10ΠΠΎΠ³ Π·Π° ΠΏΠ°Π½ΠΈΠΊΠ° Π½Π° Exim
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/exim_paniclog
ΠΠΎΠ³ΡΡ Π·Π° ΠΏΠ°Π½ΠΈΠΊΠ° ΡΠ»Π°Π²Ρ ΡΠ°ΡΠ°Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Exim β Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ», Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΏΠΎΡΡ 25, Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° TLS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΠΊΠΎ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ Π΅ ΠΏΡΠ°Π·Π΅Π½, Exim Π΅ ΠΏΡΠ΅ΡΡΡΠΏΡΠ» ΠΊΡΠΈΡΠΈΡΠ½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π°. Π ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°ΠΈ Π½Π΅ΠΏΡΠ°Π·Π΅Π½ Π»ΠΎΠ³ Π·Π° ΠΏΠ°Π½ΠΈΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΡΠ° Π΅ ΡΠΏΡΡΠ»Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΈΠ·ΡΡΠ»ΠΎ.
# Check if the panic log has content β a non-zero exit means there are critical errors
[ -s /var/log/exim_paniclog ] && echo "CRITICAL: Exim panic log has entries" && tail -20 /var/log/exim_paniclogΠΠΎΠ³ Π½Π° Dovecot
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/dovecot.log (ΠΈ /var/log/dovecot-info.log Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ)
Dovecot ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° IMAP ΠΈ POP3 Π²ΡΡΠ·ΠΊΠΈ Π² ΡΡΠ΅Π΄ΠΈ Π½Π° cPanel. ΠΠ΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΊΠ° ΠΊΡΡΠΈΡ ΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΠ²ΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΡΡΠΊ. ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ°Ρ Ρ ΠΈΠΌΠ΅ΠΉΠ» ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΈ, Π»ΠΎΠ³ΡΡ Π½Π° Dovecot Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΌΡΡΡΠΎ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° β Π½Π΅ Exim.
grep "auth failed" /var/log/dovecot.log | awk '{print $NF}' | sort | uniq -c | sort -rn | head -10ΠΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ
ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° MySQL/MariaDB
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/lib/mysql/$(hostname).err
Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ Π·Π°ΠΏΠΈΡΠ²Π° ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° MySQL/MariaDB, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° InnoDB, Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ°, ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°ΡΠ° Π³ΡΠ΅ΡΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΡΡΡΠ²ΡΡ. Π’ΠΎΠΉ Π΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΈΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΈΠ²ΠΎΠ²Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡ ΠΏΡΡ:
mysql -u root -e "SHOW VARIABLES LIKE 'log_error';"ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° InnoDB ΠΈΠ»ΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅:
grep -i "crash|corrupt|recovery|innodb" /var/lib/mysql/$(hostname).err | tail -30ΠΠΎΠ³ Π·Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π½Π° MySQL
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/lib/mysql/slowquery.log (ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½)
ΠΠΎΠ³ΡΡ Π·Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Π½Π° cPanel. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Ρ Π½Π°ΠΉ-Π²ΠΈΡΠΎΠΊΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ΅ΡΠ΅ Π½Π° ΡΡΡΠ²ΡΡ Ρ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠ³Π° Π·Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅):
mysql -u root -e "SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 1; SET GLOBAL slow_query_log_file = '/var/lib/mysql/slowquery.log';"Π‘Π»Π΅Π΄ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ mysqldumpslow Π·Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-Π»ΠΎΡΠΈΡΠ΅ Π½Π°ΡΡΡΠΈΡΠ΅Π»ΠΈ:
mysqldumpslow -s t -t 10 /var/lib/mysql/slowquery.logΠ’ΠΎΠ²Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΠΎΠΏ 10 Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ ΠΎΠ±ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ β Π½Π°ΠΉ-ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌΠ°ΡΠ° ΠΎΡΠΏΡΠ°Π²Π½Π° ΡΠΎΡΠΊΠ° Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ.
ΠΡΠΈΡΠΈΡΠ΅Π½ Π½ΡΠ°Π½Ρ: long_query_time ΠΎΡ 1 ΡΠ΅ΠΊΡΠ½Π΄Π° Π΅ ΡΠ°Π·ΡΠΌΠ΅Π½ Π½Π°ΡΠ°Π»Π΅Π½ ΠΏΡΠ°Π³ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΠΌΠΈΡΠ»ΡΡ 0,5 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ 0,25 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π·Π° Π΄Π° ΡΠ»ΠΎΠ²ΡΡ Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΎ Π±ΡΡΠ·ΠΈ, Π½ΠΎ ΠΊΡΠΌΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΡΠΏΠΈ ΠΏΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅.
ΠΠΎΠ³ Π·Π° ΠΎΠ±ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π½Π° MySQL
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΎ, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ /var/lib/mysql/general.log
ΠΠΎΠ³ΡΡ Π·Π° ΠΎΠ±ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΠ΅ΠΊΠΈ SQL ΠΈΠ·ΡΠ°Π·, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ°. ΠΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΠ²Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π±Π΅Π· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½Π° ΠΏΡΠΈΡΠΈΠ½Π°. ΠΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ ΡΡΡΠ²ΡΡ ΡΠΎΠ·ΠΈ Π»ΠΎΠ³ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°ΡΡΠ΅ Ρ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠΈ Π½Π° ΡΠ°Ρ ΠΈ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΎ Π·Π° ΠΊΡΠ°ΡΠΊΠΎ, Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π³ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅.
mysql -u root -e "SET GLOBAL general_log = 'ON'; SET GLOBAL general_log_file = '/var/lib/mysql/general.log';"
# ... reproduce the issue ...
mysql -u root -e "SET GLOBAL general_log = 'OFF';"Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
ΠΠΎΠ³ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/messages
ΠΠΎΠ³ΡΡ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π΄Π΅ΠΌΠΎΠ½. Π₯Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ (Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ Π΄ΠΈΡΠΊΠΎΠ² I/O, Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ECC), ΡΡΠ±ΠΈΡΠΈΡ Π½Π° ΡΠ±ΠΈΠ΅ΡΠ° OOM (Out of Memory), ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΡΡΠΊ. Π’ΠΎΠ²Π° Π΅ ΠΏΡΡΠ²ΠΈΡΡ Π»ΠΎΠ³ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ²ΡΡΡΡ ΡΡΠ°Π½Π΅ Π½Π΅ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ² ΠΈΠ»ΠΈ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΡΡΠ±ΠΈΡΠΈΡ Π½Π° ΡΠ±ΠΈΠ΅ΡΠ° OOM (ΡΡΡΠ²ΡΡ, Π±Π΅Π·ΡΡΠΌΠ½ΠΎ ΡΠ±ΠΈΠ²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°):
grep -i "oom|killed process|out of memory" /var/log/messages | tail -20ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π΄ΠΈΡΠΊΠΎΠ² I/O, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ:
grep -i "I/O error|blk_update_request|ata.*error" /var/log/messages | tail -20ΠΠΎΠ³ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/secure
ΠΠ°ΠΏΠΈΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° PAM: SSH Π²Π»ΠΈΠ·Π°Π½ΠΈΡ (ΡΡΠΏΠ΅ΡΠ½ΠΈ ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ), ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ sudo, ΠΎΠΏΠΈΡΠΈ su ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Π½ΠΎ ΠΎΡ cron. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π»ΠΎΠ³ Π·Π° ΠΊΡΠΈΠΌΠΈΠ½Π°Π»ΠΈΡΡΠΈΠΊΠ° Π½Π° SSH ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠΏ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ ΠΏΠΎ Π±ΡΠΎΠΉ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ SSH Π²Π»ΠΈΠ·Π°Π½ΠΈΡ:
grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -20ΠΠ΄ΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ sudo, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ Π½Π° ΡΡΡΠ²ΡΡΠ°:
grep "sudo:" /var/log/secure | grep "COMMAND" | tail -50Π Π΅Π°Π»Π΅Π½ ΠΊΡΠ°Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ: ΠΠ° ΡΡΡΠ²ΡΡΠΈ Ρ UseDNS yes Π² sshd_config, Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π·Π° Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²Π»ΠΈΠ·Π°Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ
ΠΎΡΡΠΎΠ²Π΅ Π²ΠΌΠ΅ΡΡΠΎ IP Π°Π΄ΡΠ΅ΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΡΡΡΠ°Π²Π° ΠΌΠΎΠ΄Π΅Π»Π° awk Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° IP ΠΏΠΎ-Π³ΠΎΡΠ΅. ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° ΡΠΈ sshd_config ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ.
ΠΡΡΠ΅Ρ Π½Π° ΠΏΡΡΡΡΠ΅Π½Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Π‘Π°ΠΌΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ β Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΡΠ΅Π· dmesg
ΠΡΡΠ΅ΡΡΡ Π½Π° ΠΏΡΡΡΡΠ΅Π½Π° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π΅ Π΅ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΡΠ°ΠΉΠ», Π½ΠΎ Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ, Π½Π°ΡΡΡΠΏΠ²Π°ΡΠΈ ΠΏΡΠΈ ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΡΠ»Π΅Π΄ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ syslog Π΄Π° ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° systemd (CentOS 7+, CloudLinux 7+), ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΡΠ΅Π·:
journalctl -k --since "1 hour ago"ΠΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° FTP
ΠΠΎΠ³ Π½Π° ProFTPd
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/proftpd/proftpd.log
ProFTPd Π΅ FTP Π΄Π΅ΠΌΠΎΠ½ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΡΡΠ΅Π΄ΠΈ Π½Π° cPanel. Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ Π·Π°ΠΏΠΈΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ FTP ΡΠ΅ΡΠΈΠΉΠ½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ: ΠΎΠΏΠΈΡΠΈ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΎΠ±Ρ ΠΎΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°.
ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΈ ΠΎΠΏΠΈΡΠΈ Π·Π° FTP Π²Π»ΠΈΠ·Π°Π½Π΅:
grep "USER|PASS" /var/log/proftpd/proftpd.log | grep -i "failed|incorrect" | tail -30ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ²Π°Π½ΠΈΡ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΡΡΠ°Π΄ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ):
grep "STOR" /var/log/proftpd/proftpd.log | awk '{print $NF, $0}' | sort -rn | head -20ΠΠΎΠ³ Π½Π° Pure-FTPd
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/log/pureftpd.log
ΠΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Pure-FTPd ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π² syslog ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ Π½ΡΠΊΠΎΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π² /var/log/messages Π²ΠΌΠ΅ΡΡΠΎ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠ°ΠΉΠ». ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½Π°ΡΠ° Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡ Π·Π° Π»ΠΎΠ³Π²Π°Π½Π΅:
grep "VerboseLog|AltLog" /etc/pure-ftpd.confPHP ΠΈ Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° PHP
ΠΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° PHP Π² ΡΡΠ΅Π΄ΠΈ Π½Π° cPanel ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π»ΠΎΠ³Π²Π°Ρ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ PHP ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ:
| PHP ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ | ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³Π° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ |
|---|---|
| DSO (mod_php) | ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Apache (`/usr/local/apache/logs/error_log`) |
| CGI / suPHP | ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ (`/home/user/logs/`) |
| PHP-FPM | `/opt/cpanel/ea-phpXX/root/usr/var/log/php-fpm/error.log` |
| LSAPI | ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° `logs/` Π½Π° Π°ΠΊΠ°ΡΠ½ΡΠ° |
ΠΡΡΡΡ Π½Π° Π»ΠΎΠ³Π° Π½Π° PHP-FPM ΠΏΡΠ»Π° Π²ΠΊΠ»ΡΡΠ²Π° Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° PHP. ΠΠ° PHP 8.2, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ ΠΎΡ EasyApache 4:
tail -f /opt/cpanel/ea-php82/root/usr/var/log/php-fpm/error.logΠΠΎΠ³Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° PHP Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΊΡΠΌ php.ini ΠΈΠ»ΠΈ .htaccess Π½Π° Π°ΠΊΠ°ΡΠ½ΡΠ°:
log_errors = On
error_log = /home/username/logs/php_errors.logΠΠΎΠ³ΠΎΠ²Π΅ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° cPanel
ΠΠΎΠ³ Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π½Π° cPanel
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/cpanel/logs/safeapacherestart_log
ΠΠ°ΠΏΠΈΡΠ²Π° Π²ΡΡΠΊΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅ Π·Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Apache, Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΎ ΠΎΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π½Π° cPanel, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ Π΄Π°Π»ΠΈ Π΅ ΡΡΠΏΡΠ»ΠΎ. ΠΠΎΠ»Π΅Π·Π΅Π½ Π·Π° ΠΊΠΎΡΠ΅Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅ΡΡΠΎΡ Π½Π° Apache Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°.
ΠΠΎΠ³ Π·Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° cPanel
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /usr/local/cpanel/logs/cpbackup/
ΠΡΡΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π»ΠΎΠ³ ΡΠ°ΠΉΠ» Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ Π² ΡΠ°Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ Π±Π΅Π·ΡΡΠΌΠ½ΠΎ, ΡΠ°Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°ΡΠ° Π³ΡΠ΅ΡΠΊΠ° β Π΄Π°Π»ΠΈ Π΅ Π±ΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π½Π΅ΡΡΠΏΠ΅Ρ ΠΏΡΠΈ Π΄ΡΠΌΠΏ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ°.
ls -lt /usr/local/cpanel/logs/cpbackup/ | head -10
grep -i "error|fail" /usr/local/cpanel/logs/cpbackup/username.logΠΠΎΠ³ Π·Π° AutoSSL Π½Π° cPanel
ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: /var/cpanel/logs/autossl/
AutoSSL Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Letβs Encrypt / Sectigo Π½Π° cPanel. ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΠΈ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° β Π½Π΅ΡΡΠΏΠ΅Ρ Π½Π° DCV, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ°, Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ β ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π° ΡΡΠΊ. Π’ΠΎΠ·ΠΈ Π»ΠΎΠ³ Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° HTTPS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² Π±ΡΠ°ΡΠ·ΡΡΠ°.
ls -lt /var/cpanel/logs/autossl/ | head -5
tail -100 /var/cpanel/logs/autossl/$(ls -t /var/cpanel/logs/autossl/ | head -1)ΠΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈΠ»ΠΈ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ ΠΎΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈΠ·Π²ΡΠ½ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ AutoSSL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ, SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ wildcard ΠΎΠΏΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Letβs Encrypt Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ.
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π·Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
| ΠΠΎΠ³ ΡΠ°ΠΉΠ» | ΠΡΡ | Π£ΡΠ»ΡΠ³Π° | ΠΡΠ½ΠΎΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° |
|---|---|---|---|
| ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Apache | `/usr/local/apache/logs/error_log` | Apache/LiteSpeed | PHP Π³ΡΠ΅ΡΠΊΠΈ, Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ Π½Π° `.htaccess`, Π³ΡΠ΅ΡΠΊΠΈ 500 |
| ΠΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° Apache | `/usr/local/apache/logs/access_log` | Apache/LiteSpeed | ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°, DDoS ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅, ΠΎΠ΄ΠΈΡ Π½Π° 4xx/5xx |
| ΠΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ cPanel | `/usr/local/cpanel/logs/access_log` | cPanel UI | ΠΠ΄ΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, Π½Π΅ΠΎΡΠΎΡΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎΡΡΡΠΏ |
| ΠΠΎΠ³ Π·Π° Π²Π»ΠΈΠ·Π°Π½ΠΈΡ Π² WHM | `/usr/local/cpanel/logs/login_log` | WHM | ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° API ΡΠΎΠΊΠ΅Π½ΠΈ |
| ΠΠΎΠ³ Π½Π° cPHulk | `/usr/local/cpanel/logs/cphulkd.log` | cPHulk | ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΡΠ±Π° ΡΠΈΠ»Π°, ΠΎΠ΄ΠΈΡ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ |
| ΠΡΠ½ΠΎΠ²Π΅Π½ Π»ΠΎΠ³ Π½Π° Exim | `/var/log/exim_mainlog` | Exim MTA | ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΈΠΌΠ΅ΠΉΠ», ΡΠ°Π·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΡΠΏΠ°ΠΌ |
| ΠΠΎΠ³ Π·Π° ΠΎΡΡ Π²ΡΡΠ»ΡΠ½ΠΈΡ Π½Π° Exim | `/var/log/exim_rejectlog` | Exim MTA | ΠΠ½Π°Π»ΠΈΠ· Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΈ ΠΎΡΡ Π²ΡΡΠ»ΡΠ½ΠΈΡ, Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ Π½Π° SPF/DKIM |
| ΠΠΎΠ³ Π·Π° ΠΏΠ°Π½ΠΈΠΊΠ° Π½Π° Exim | `/var/log/exim_paniclog` | Exim MTA | ΠΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈ Π½Π° MTA, ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° |
| ΠΠΎΠ³ Π½Π° Dovecot | `/var/log/dovecot.log` | Dovecot | ΠΠ΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ IMAP/POP3 ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠΎΡΠ΅Π½ΡΠΊΠ° ΠΊΡΡΠΈΡ |
| ΠΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° MySQL | `/var/lib/mysql/hostname.err` | MySQL/MariaDB | Π‘ΡΠΈΠ²ΠΎΠ²Π΅ Π½Π° ΠΠ, Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° InnoDB, ΠΏΠΎΠ²ΡΠ΅Π΄Π° |
| ΠΠΎΠ³ Π·Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π½Π° MySQL | `/var/lib/mysql/slowquery.log` | MySQL/MariaDB | ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ° |
| Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ | `/var/log/messages` | Π―Π΄ΡΠΎ/syslog | OOM ΡΡΠ±ΠΈΡΠΈΡ, Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΡΡΠΈΠ²ΠΎΠ²Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ |
| ΠΠΎΠ³ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ | `/var/log/secure` | PAM/SSH | SSH Π³ΡΡΠ±Π° ΡΠΈΠ»Π°, ΠΎΠ΄ΠΈΡ Π½Π° sudo, ΠΊΡΠΈΠΌΠΈΠ½Π°Π»ΠΈΡΡΠΈΠΊΠ° Π½Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ |
| ΠΠΎΠ³ Π½Π° ProFTPd | `/var/log/proftpd/proftpd.log` | ProFTPd | ΠΠ΄ΠΈΡ Π½Π° FTP ΡΠ΅ΡΠΈΠΈ, Π½Π΅ΠΎΡΠΎΡΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎΡΡΡΠΏ |
| ΠΠΎΠ³ Π·Π° AutoSSL | `/var/cpanel/logs/autossl/` | AutoSSL | ΠΠ΅ΡΡΠΏΠ΅Ρ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, DCV Π³ΡΠ΅ΡΠΊΠΈ |
| ΠΠΎΠ³ Π½Π° PHP-FPM | `/opt/cpanel/ea-phpXX/root/usr/var/log/php-fpm/error.log` | PHP-FPM | ΠΡΠ΅ΡΠΊΠΈ Π½Π° ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠ° Π½Π° PHP ΠΏΡΠΎΡΠ΅ΡΠΈ, Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈ Π½Π° ΠΏΡΠ»Π° |
Π’Π΅Ρ Π½ΠΈΠΊΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·
Π‘Π»Π΅Π΄Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠ³ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (Π½Π°ΠΉ-ΡΠ΅ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ):
tail -f /var/log/exim_mainlogΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΎΠ²Π΅ Ρ multitail (ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ΅Π· yum install multitail):
multitail /usr/local/apache/logs/error_log /var/log/exim_mainlogΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΈ Π±ΡΠΎΠ΅Π½Π΅ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅:
awk '{print $1}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -rn | head -20Π’ΡΡΡΠ΅Π½Π΅ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ Π½Π° ΡΠΎΡΠΈΡΠ°Π½ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅:
zgrep "keyword" /var/log/exim_mainlog.*.gzΠ€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠ³Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ:
awk '/15/Jan/2024:14:00/,/15/Jan/2024:15:00/' /usr/local/apache/logs/access_logΠΡΠΎΠ΅Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° HTTP ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄ΠΎΠ²Π΅:
awk '{print $9}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -rnΠ ΠΎΡΠ°ΡΠΈΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π² cPanel
cPanel ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° logrotate Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΎΡΠ°ΡΠΈΡ Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈΡΠ΅ ΠΎΡ cPanel Π»ΠΎΠ³ΠΎΠ²Π΅ Π΅ Π² /etc/logrotate.d/. ΠΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Apache ΡΠ΅ ΡΠΎΡΠΈΡΠ°Ρ ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ splitlogs Π½Π° cPanel, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»Ρ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ Π»ΠΎΠ³ Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° logrotate Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΡΠ»ΡΠ³Π°:
cat /etc/logrotate.d/syslogΠ ΡΡΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΡΠ°ΡΠΈΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅:
logrotate -f /etc/logrotate.d/syslogΠΡΠΈΡΠΈΡΠ΅Π½ ΠΊΠ°ΠΏΠ°Π½: ΠΠΊΠΎ ΡΠΎΡΠ°ΡΠΈΡΡΠ° Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π° ΠΈΠ»ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΅ ΠΈΠ·ΡΠ΅ΡΠΏΠ°Π½ΠΎ, Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΡΠ°ΡΠ½Π°Ρ Π΄ΠΎ Π·Π°ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ Π΄ΡΠ», ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°ΠΉΠΊΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ ΡΡΠΈΠ² Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠ°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ° Π½Π° Π΄ΡΠ»Π°, ΡΡΠ΄ΡΡΠΆΠ°Ρ /var/log ΠΈ /usr/local/apache/logs, ΠΊΠ°ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅
ΠΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ β ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π½Π° VPS Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ»ΠΈ Dedicated ΡΡΡΠ²ΡΡ β ΡΠ°Π·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π² ΠΌΠ°ΡΠ°Π±. ΠΡΠΈΠ»ΠΎΠΆΠ΅ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ:
ΠΠ³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Ρ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ rsyslog: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ /etc/rsyslog.conf Π΄Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΊΡΠΌ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ syslog ΡΡΡΠ²ΡΡ ΠΈΠ»ΠΈ SIEM ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π’ΠΎΠ²Π° Π·Π°ΠΏΠ°Π·Π²Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΡΠ°ΠΌΠΈΡΡ ΡΡΡΠ²ΡΡ Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½.
ELK ΡΡΠ΅ΠΊ (Elasticsearch, Logstash, Kibana): ΠΠΎΠ³Π»ΡΡΠ°ΠΉΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° cPanel ΡΡΠ΅Π· Π°Π³Π΅Π½ΡΠΈ Filebeat, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΈ Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π½Π° Logstash ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Kibana. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π² ΠΌΠ΅ΡΠ΅ΡΠΈ ΠΈΡΡΠΎΡΠΈΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Fail2ban: Fail2ban ΡΠ΅ΡΠ΅ /var/log/secure ΠΈ /var/log/exim_mainlog ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠ°Π²ΠΈΠ»Π° iptables Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈ IP Π°Π΄ΡΠ΅ΡΠΈ. Π’ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ cPHulk ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π·Π°ΡΠΈΡΠ΅Π½ ΡΠ»ΠΎΠΉ.
GoAccess Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π½Π° Apache: GoAccess Π΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΊΠΎΠΉΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ° HTML ΠΎΡΡΠ΅ΡΠΈ ΠΎΡ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° Apache Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠ»Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ELK:
goaccess /usr/local/apache/logs/access_log --log-format=COMBINED -o /var/www/html/report.htmlΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π² cPanel ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΡΠ΅ΠΏΡΠΎΠ΄Π°Π²Π°ΡΠΈ Π½Π° VPS Ρ cPanel, ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π°ΠΊΠ°ΡΠ½ΡΠΈ ΠΈΠ½Π°ΡΠ΅ ΡΠ° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ Π²ΡΡΠΊΠ° Π΄ΠΎΠΌΠ°ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠΎΡΠ΅Π»Π°ΡΠΈΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ Π·Π° ΠΈΠΌΠ΅ΠΉΠ» ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠ΄ΡΠ΅Π½ΡΠ²Π°Π½ΠΈΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π² ΡΡΠ΅Π΄ΠΈ Π½Π° cPanel Π΅ ΠΊΡΡΡΡΠΎΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Exim Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Dovecot ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π»ΠΎΠ³ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ»Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½ ΡΠΈΠΊΡΠ» Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ Ρ ΠΈΠΌΠ΅ΠΉΠ» ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΡΡΠΎΠ±ΡΠ°Π²Π°, ΡΠ΅ Π°ΠΊΠ°ΡΠ½ΡΡΡ ΠΌΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠΏΠ°ΠΌ, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π΅ Π½Π°ΠΏΠΈΡΠ°Π».
Π‘ΡΡΠΏΠΊΠ° 1 β ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ID Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° Exim, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π°ΠΊΠ°ΡΠ½ΡΠ°:
grep "U=username|from=<.*@userdomain.com>" /var/log/exim_mainlog | grep "<=" | head -20Π‘ΡΡΠΏΠΊΠ° 2 β ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΏΡΠΎΠΈΠ·Π»ΡΠ·Π»ΠΎ ΠΎΡ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (PHP mail()) ΠΈΠ»ΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ SMTP:
grep "1rPqXY-0003aB-Kc" /var/log/exim_mainlog | grep -E "P=esmtpa|P=local"P=esmtpa ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ SMTP ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅. P=local ΠΈΠ»ΠΈ P=pipe ΠΏΠΎΠΊΠ°Π·Π²Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠΊΡΠΈΠΏΡ (Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅).
Π‘ΡΡΠΏΠΊΠ° 3 β ΠΠΊΠΎ P=esmtpa, Π½Π°ΠΌΠ΅ΡΠ΅ΡΠ΅ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡ IP ΠΎΡ Π»ΠΎΠ³Π° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Dovecot ΠΈΠ»ΠΈ Exim:
grep "username" /var/log/dovecot.log | grep "Login" | tail -20Π‘ΡΡΠΏΠΊΠ° 4 β ΠΡΡΡΡΠΎΡΠ°Π½ΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ IP ΡΡΠ΅ΡΡ /var/log/secure Π·Π° SSH Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΡΡΠ΅ΡΡ Π»ΠΎΠ³Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ cPanel Π·Π° Π²Π»ΠΈΠ·Π°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π».
Π’Π°Π·ΠΈ ΡΠ΅ΡΠΈΡΠΈΡΡΡΠΏΠΊΠΎΠ²Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΠΊΠΎΡΠ΅Π»Π°ΡΠΈΡ Π΄Π°Π²Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π΄Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π΅ ΠΊΡΠ°ΠΆΠ±Π° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡΠ·Π²ΠΈΠΌΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ SMTP Π°ΠΊΠ°ΡΠ½Ρ, Π°ΡΠ°ΠΊΡΠ²Π°Π½ Ρ Π³ΡΡΠ±Π° ΡΠΈΠ»Π° β ΠΈ ΡΠΎΠ²Π° ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΡΡΠ»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΡΡΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅.
ΠΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΈΠΌΠ΅ΠΉΠ» ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠΌΠ΅ΠΉΠ» Ρ ΠΎΡΡΠΈΠ½Π³ Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠΈ Π²ΡΡΡ Ρ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΊΠ°ΡΠ½ΡΠΈ.
Π‘ΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° Π»ΠΎΠ³ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈ DNS
ΠΠ΅ΡΡΠΏΠ΅Ρ
ΠΈΡΠ΅ ΠΏΡΠΈ DNS ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ Π³ΡΠ΅ΡΠΊΠΈ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, Π° Π½Π΅ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ DNS Π»ΠΎΠ³. Named (BIND), ΠΊΠΎΠΉΡΠΎ cPanel ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° DNS, Π»ΠΎΠ³Π²Π° Π² /var/log/messages ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° BIND:
grep "named" /var/log/messages | grep -i "error|failed|refused" | tail -20ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° DNS Π·Π°ΡΡΠ³Π°Ρ Π½ΠΎΠ²ΠΎΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΠΊΠΎΡΠ΅Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π»ΠΎΠ³Π° Π½Π° BIND Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Π² cPanel ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ° Π΄Π°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ Π³ΡΠ΅ΡΠΊΠ° Π² Π·ΠΎΠ½ΠΎΠ² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ. ΠΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈ DNS ΡΡΠ΅Π· Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° DNS ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΠ°Π·ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½Π° Π²Π΅ΡΠΈΠ³Π°.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ° ΠΌΠ°ΡΡΠΈΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠΎΠΉ Π»ΠΎΠ³ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΏΡΡΠ²ΠΎ
| Π‘ΠΈΠΌΠΏΡΠΎΠΌ | ΠΡΡΠ²ΠΈ Π»ΠΎΠ³ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° | ΠΡΠΎΡΠΈΡΠ΅Π½ Π»ΠΎΠ³ |
|---|---|---|
| Π£Π΅Π±ΡΠ°ΠΉΡΡΡ Π²ΡΡΡΠ° Π³ΡΠ΅ΡΠΊΠΈ 500 | `/home/user/logs/domain.com-error_log` | `/usr/local/apache/logs/error_log` |
| ΠΠΌΠ΅ΠΉΠ»ΡΡ Π½Π΅ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠΎ | `/var/log/exim_mainlog` | `/var/log/exim_paniclog` |
| ΠΡ ΠΎΠ΄ΡΡΠΈΡΡ ΠΈΠΌΠ΅ΠΉΠ» ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»Ρ | `/var/log/exim_rejectlog` | `/var/log/messages` (DNS/BIND) |
| ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ°Ρ ΡΡΠ΅Π· IMAP/POP3 | `/var/log/dovecot.log` | `/var/log/secure` |
| ΠΠ°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ | `/var/lib/mysql/slowquery.log` | `/var/lib/mysql/hostname.err` |
| Π‘ΡΡΠ²ΡΡΡΡ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ° Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ | `/var/log/messages` | `journalctl -k` |
| SSH Π²Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΎ / Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ | `/usr/local/cpanel/logs/cphulkd.log` | `/var/log/secure` |
| WHM Π²Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ | `/usr/local/cpanel/logs/login_log` | `/usr/local/cpanel/logs/cphulkd.log` |
| FTP ΠΊΠ°ΡΠ²Π°Π½ΠΈΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»ΡΡ | `/var/log/proftpd/proftpd.log` | `/var/log/secure` |
| SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡΡ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π° | `/var/cpanel/logs/autossl/` | `/usr/local/apache/logs/ssl_error_log` |
| ΠΠΎΠ΄ΠΎΠ·ΠΈΡΠ°Π½ ΡΠΏΠ°ΠΌ, ΠΏΡΠΎΠΈΠ·Ρ ΠΎΠΆΠ΄Π°Ρ ΠΎΡ ΡΡΡΠ²ΡΡΠ° | `/var/log/exim_mainlog` (ΡΠΈΠ»ΡΡΡ `U=nobody`) | `/usr/local/apache/logs/error_log` |
| Π€ΡΠ½ΠΊΡΠΈΡ Π½Π° cPanel Π΅ ΡΡΡΠΏΠ΅Π½Π° ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈ | `/usr/local/cpanel/logs/error_log` | `/usr/local/cpanel/logs/access_log` |
ΠΠ»ΡΡΠΎΠ²ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·Π²ΠΎΠ΄ΠΈ
- ΠΠΈΠ½Π°Π³ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ (
/home/username/logs/) ΠΏΡΠ΅Π΄ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ Π½Π° Apache β ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Ρ Π΄ΡΠ°ΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΡΠΌ. - ΠΠ΅ΠΏΡΠ°Π·Π΅Π½
/var/log/exim_paniclogΠ΅ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ ΠΎΡ Π½ΠΈΠ²ΠΎ P1 β Exim ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΡΠΏΡΡΠ» Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠΎΡΠ° ΠΈΠ·ΡΡΠ»ΠΎ. - ΠΠΎΠ³ΡΡ Π½Π° cPHulk Π½Π°
/usr/local/cpanel/logs/cphulkd.logΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΏΡΡΠ²Π° ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΈ Π²ΡΠ΅ΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅, Π° Π½Π΅/var/log/secure. - ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π»ΠΎΠ³Π° Π·Π° Π±Π°Π²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π½Π° MySQL (
long_query_time = 1) Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ Ρ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ β ΡΠ°Π·ΡΠ·Π½Π°Π²Π°Π½Π΅ΡΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ, ΡΠΈ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ. - ΠΡΡΡΡΠΎΡΠ°Π½ΠΎ ΠΊΠΎΡΠ΅Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠΎ
P=Π½Π° Exim Ρ Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Dovecot, Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎ Π΄Π°Π»ΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ ΡΡΡ ΡΠΏΠ°ΠΌ Π΅ ΠΏΡΠΎΠΈΠ·Π»ΡΠ·ΡΠ» ΠΎΡ ΠΊΡΠ°ΠΆΠ±Π° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. - ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠΎΡΠ°ΡΠΈΡΡΠ° Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π΅ Π±Π΅Π·ΡΡΠΌΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° β ΠΏΡΠ»Π΅Π½ Π΄ΡΠ»
/var/logΡΠ΅ ΡΡΠΈΠ½Π΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. zgrepΡΠ°Π±ΠΎΡΠΈ Π½Π° ΡΠΎΡΠΈΡΠ°Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ.gzβ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΡΠ½ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.- Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ ΡΡΠ΅Π·
rsyslogΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΡΠ²ΡΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ β Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΡΠΈΡΠΈ ΠΎΡ Π°ΡΠ°ΠΊΡΠ²Π°Ρ, ΠΏΠΎΠ»ΡΡΠΈΠ» root Π΄ΠΎΡΡΡΠΏ.
Π§Π΅ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ
ΠΡΠ΄Π΅ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° cPanel?
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π»ΠΎΠ³ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ cPanel Π΅ Π½Π° /usr/local/cpanel/logs/error_log. ΠΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° Apache ΡΠ° Π½Π° /usr/local/apache/logs/error_log, Π° PHP Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΠ°ΡΠ½Ρ ΡΠ° Π² /home/username/logs/domain.com-error_log. ΠΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π»ΠΎΠ³ ΡΠ°ΠΉΠ» Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΡΡ.
ΠΠ°ΠΊ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΈΠΌΠ΅ΠΉΠ» ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ Π½Π° Exim?
ΠΡΡΠΊΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΎ ΠΎΡ Exim, ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ID Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π²ΠΈΠ΄ΠΈΠΌ Π² /var/log/exim_mainlog. ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ grep "MESSAGE_ID" /var/log/exim_mainlog, Π·Π° Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ Π·Π°ΠΏΠΈΡ Π² Π»ΠΎΠ³Π°, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΡΠΎΠ²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΡ ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½Π°ΡΠ° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΈΠ»ΠΈ Π²ΡΡΡΠ°Π½Π΅.
ΠΠ°ΡΠΎ Π»ΠΎΠ³ΡΡ Π·Π° ΠΏΠ°Π½ΠΈΠΊΠ° Π½Π° Exim Π½Π΅ Π΅ ΠΏΡΠ°Π·Π΅Π½ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ?
ΠΠ΅ΠΏΡΠ°Π·Π΅Π½ /var/log/exim_paniclog ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ Exim Π΅ ΡΡΠ΅ΡΠ½Π°Π» ΡΠ°ΡΠ°Π»Π½Π° Π³ΡΠ΅ΡΠΊΠ° β ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ΡΡΠΏΠ΅Ρ
ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ TLS Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΏΠΎΡΡ 25. ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² Π»ΠΎΠ³Π° Π·Π° ΠΏΠ°Π½ΠΈΠΊΠ°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Exim Ρ exim -bV ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΠΏΠΎΡΡ 25 Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΎΡ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ Ρ ss -tlnp | grep :25.
ΠΠ°ΠΊ Π΄Π° Π½Π°ΠΌΠ΅ΡΡ ΠΊΠΎΠΉ PHP ΡΠΊΡΠΈΠΏΡ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΡΠΏΠ°ΠΌ ΡΡΠ΅Π· Apache?
Π€ΠΈΠ»ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π»ΠΎΠ³ Π½Π° Exim Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π½Π° Apache: grep "U=nobody" /var/log/exim_mainlog. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΡΡΡΡΠΎΡΠ°Π½ΠΎ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈΡΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΡΡΠΈ Ρ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² Π»ΠΎΠ³Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° Apache, Π·Π° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ URL Π°Π΄ΡΠ΅ΡΠ°, Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π» ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΡΠ°. ΠΠ°Π³Π»Π°Π²ΠΊΠ°ΡΠ° X-PHP-Originating-Script (Π°ΠΊΠΎ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π² php.ini) ΡΡΡΠΎ ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΡΠΎΡΠ½ΠΈΡ ΡΠΊΡΠΈΠΏΡ ΡΠ°ΠΉΠ».
ΠΠ°ΠΊΡΠ² Π΅ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡ Π΄Π°Π»ΠΈ ΡΡΡΠ²ΡΡΡΡ Π΅ ΠΏΠΎΠ΄ SSH Π°ΡΠ°ΠΊΠ° Ρ Π³ΡΡΠ±Π° ΡΠΈΠ»Π°?
ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ grep "Failed password" /var/log/secure | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -10, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΏ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ IP Π°Π΄ΡΠ΅ΡΠΈ ΠΏΠΎ Π±ΡΠΎΠΉ ΠΎΠΏΠΈΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ cPHulk Π²Π΅ΡΠ΅ Π³ΠΈ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π», ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ /usr/local/cpanel/logs/cphulkd.log ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° cPHulk.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ