Едва ли има някой който не знае кавко е CloudFlare. В този пост ще споделя как да виждаме реалните айпи адреси на посетителите ни в логовете на нашият сайт, който работи на WHM сървър и е зад CloudFlare.
В продължение на предния ми пост за оптимизация на WHM сървъри, сега ще споделя и как се защитавам срещу brute force атаки към wordpress сайтове, хостнати на WHM сървър, с помощта на modsecurity!
За целта е нужно първо да имаме инсталиран modsecurity с активиран OWASP ModSecurity Core Rule Set V3.0.
Правилата се добавят от : Home »Security Center »ModSecurity™ Tools »Rules List - Add Rule Още..
Както може би повечето от вас знаят, аз съм голям фен на nginx! В работата ми обаче неизбежно присъства и apache – главно заради WHM/Cpanel сървърите които поддържам!
Накратко – до сега използвах преправен от мен скрипт (engintron) който кръстих fosnginx!
Той работи на принципа на прокси, като слага nginx на порт 80 и сменя порт-а на apache-то на 8081, но праща всички php заявки към apache! Така всичко що го има в .htaccess файловете на клиентите продължава да работи! До тук добре, обаче се появи letsencrypt!
Благодарение на него, вече имаме безплатни валидни SSL сертификати което е супер! Обачеее в моят случай всички HTTPS заявки продължават да се обработват от apache!
Тук идва и въпросът с оптимизацията на apache, за да могат тези сайтове да зареждат еднакно бързо както на http, така и на https!
Аз много харесвам онлайн туул-а varvy.com и с него правя тестове когато ми се налага да оптимизирам сайт!
В този пост ще споделя как глобално се активира gzip компресията във WHM/Cpanel за да може да се спести излишен трафик при зареждане на сайт (Apache global gzip compression in WHM/Cpanel)!
Логваме се във WHM/Cpanel сървъра и отиваме до : Home »Service Configuration »Apache Configuration »Include Editor и отваряме Pre VirtualHost Include и слагаме следните редове в „All Versions“ на апачето :
В тази публикация ще споделя за един много странен проблем който борих днес.
Става дума за apache2 http2 proxy problem, като накратко схемата ми беше следната :
Имам сайт domain.com който се намира на сървър с nginx и php-fpm.
Имам blog.domain.com който се намира на WHM сървър с apache2.4 с последните му обновления
Направил съм прокси настройка на domain.com така че, когато се достъпи domain.com/blog да зарежда садържанието от blog.domain.com (от WHM/cpanel сървъра).
Така настроен domain.com/blog се отваря без проблем на всички браузъри без на safari. При safari върти и върти.. и накрая нищо. В логовете на WHM сървъра наблюдавах изключително много заявки от моя айпи адрес които все едно флудваха сървъра.
Решението
Решението на проблемът се оказа изключително просто. Бяхме сложили mod_http2 на WHM сървъра, след като прочетохме, че пичовете от Cpanel са го пуснали като stable модул за WHM. Оказа се , че именно в него беше и нашия проблем. След като го махнахме domain.com/blog започна да се зарежда без проблеми отново от safari.
До това решение стигнахме, след като тествахме с blog.domain.com от друг сървър който беше също изцяло на nginx.
Извода
Максимата „щом нещо работи, не го пипай“ за пореден път се оказа вярна, особенно когато сървърната ни топология е толкова сложна.
Днес се натъкнах на много странен мейл отнасящ се за един от сървърите ни – CentOS 7 с WHM. MySQL-а неможеше да се обнови поради някаква грешка . Ето и мейла :
[check_cpanel_rpms] Altered RPMs found on “linux.server.org”.
The system detected problems with the following cPanel-provided files that the RPM controls:
RPM
Status
Additional Information
MySQL55-server-5.5.45-1.cp1148
Missing
If you did not make these changes intentionally, execute the following command as the root user to correct them:
/usr/local/cpanel/scripts/check_cpanel_rpms –fix
This notice is the result of a request from “rpmcheck”.This notice was generated on “Friday, October 9, 2015” at “4:39:09 AM UTC”.
root@alexbg01 [~]# /usr/local/cpanel/scripts/check_cpanel_rpms --fix
[2015-10-09 09:02:25 +0100]
[2015-10-09 09:02:25 +0100] Problems were detected with cPanel-provided files which are RPM controlled.
[2015-10-09 09:02:25 +0100] If you did not make these changes intentionally, you can correct them by running:
[2015-10-09 09:02:25 +0100]
[2015-10-09 09:02:25 +0100] > /usr/local/cpanel/scripts/check_cpanel_rpms --fix
[2015-10-09 09:02:25 +0100] The following RPMs are missing from your system:
[2015-10-09 09:02:25 +0100] MySQL55-server-5.5.45-1.cp1148
[2015-10-09 09:02:35 +0100] Removing 0 broken rpms:
[2015-10-09 09:02:35 +0100] rpm: no packages given for erase
[2015-10-09 09:02:36 +0100] Downloading http://httpupdate.cpanel.net/RPM/11.48/centos/7/x86_64/rpm.sha512
[2015-10-09 09:02:36 +0100] Successfully verified signature for cpanel (key types: release).
[2015-10-09 09:02:37 +0100] MySQL55-server-5.5.45-1.cp1148.x86_64.rpm already downloaded
[2015-10-09 09:02:37 +0100] Disabling service monitoring.
[2015-10-09 09:02:38 +0100] Hooks system enabled.
[2015-10-09 09:02:38 +0100] Checking for and running RPM::Versions 'pre' hooks for any RPMs about to be installed
warn [check_cpanel_rpms] program "/scripts/premysqlup" is not executable
[2015-10-09 09:02:38 +0100] All required 'pre' hooks have been run
[2015-10-09 09:02:38 +0100] No RPMS need to be uninstalled
[2015-10-09 09:02:38 +0100] Installing new rpms: MySQL55-server-5.5.45-1.cp1148.x86_64.rpm
[2015-10-09 09:02:38 +0100] Preparing packages...
[2015-10-09 09:02:38 +0100] Some previous upgrade was not finished:
[2015-10-09 09:02:38 +0100] -rw-r--r-- 1 mysql mysql 139 Jul 14 10:48 /var/lib/mysql/RPM_UPGRADE_MARKER
[2015-10-09 09:02:38 +0100] Please check its status, then do
[2015-10-09 09:02:38 +0100] rm /var/lib/mysql/RPM_UPGRADE_MARKER
[2015-10-09 09:02:38 +0100] before repeating the MySQL upgrade.
[2015-10-09 09:02:38 +0100] error: %pre(MySQL55-server-5.5.45-1.cp1148.x86_64) scriptlet failed, exit status 1
[2015-10-09 09:02:38 +0100] error: MySQL55-server-5.5.45-1.cp1148.x86_64: install failed
[2015-10-09 09:02:38 +0100] error: MySQL55-server-5.5.42-4.cp1148.x86_64: erase skipped
[2015-10-09 09:02:38 +0100] W Error Code: 1
[2015-10-09 09:02:38 +0100] E The following possible errors were detected while installing RPMs:
[2015-10-09 09:02:38 +0100] E %pre(MySQL55-server-5.5.45-1.cp1148.x86_64) scriptlet failed, exit status 1 MySQL55-server-5.5.45-1.cp1148.x86_64 MySQL55-server-5.5.42-4.cp1148.x86_64
[2015-10-09 09:02:38 +0100] The Administrator will be notified to review this output when this script completes
[2015-10-09 09:02:38 +0100] Hooks system enabled.
[2015-10-09 09:02:38 +0100] Checking for and running RPM::Versions 'post' hooks for any RPMs about to be installed
warn [check_cpanel_rpms] program "/scripts/postmysqlinstall" is not executable
warn [check_cpanel_rpms] program "/scripts/postmysqlup" is not executable
[2015-10-09 09:02:38 +0100] All required 'post' hooks have been run
[2015-10-09 09:02:38 +0100] Restoring service monitoring.
Решението е кратко, бързо и лесно :
root@alexbg01 [~]# rm /var/lib/mysql/RPM_UPGRADE_MARKER
rm: remove regular file ‘/var/lib/mysql/RPM_UPGRADE_MARKER’? y