В продължение на предния ми пост за оптимизация на 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” на апачето :
In this post I will share about the most commonly used methods by me for the so-called webserver monitoring.
The idea is clear – as a web administrator, it is very important for me to always know what is happening behind the wheel of the web server.
A typical example of the need for monitoring is when our server has lifted a high load, and we need to understand where it comes from.
netstat
netstat is my best friend in such situations. Over the years I have improved in its use and I have found the best combination of parameters with which to easily find out which server my “flood” is.
When we have IP addresses, you can quickly and easily through whois find out who is coming from where and take appropriate action.
And we can block them :
iptables -I INPUT -s $IP -j DROP
Access Logs
It is very important to properly rely on the logs of the web server. We are often attacked by so-called “bots” that open wp-login.php and try to enter our wordpress. However, each such attempt opens a new request to our php and mysql servers, and “eats” CPU time and memory.
top is the command I use most often for real-time monitoring – it shows me which process loads our server the most and so I can easily find out where to look for the problem.
mytop is an alternative to top specialized in monitoring mysql servers. Through it we can monitor the requests in real time on the machine, as we can kill directly by IDs, monitor replication (if any) and much more!
graphics
Of course, where are we without the graphics.
I personally use LibreNMS and Netdata to monitor my servers and draw their graphs.
I used cacti for many years, but for a number of reasons I migrated to LibreNMS (formerly Observium)
Of course, there are many other ways to monitor our web server, but for me the ones listed above are the best.
Наскоро ми беше хрумнала идея за видео сайт с детски филмчета за малката. За целта на една виртуална машина (ubuntu 14.04) инсталирах clip-bucket, и в този пост ще покажа стъпка по стъпка как става това. Само да отбележа, че след инсталацията всичко работи перфектно! Качването и конвертирането на големи клипове функционира безупречно!
Днес ще пиша за един наболял за мен проблем свързан с толкова омразното apache и проблема му със symlink защитита. Оказва се че при apache 2.2 такава защита по подразбиране няма. Има опция която може да се пусне : -FollowSymLinks , но тя лесно може да бъде заобиколена, от слагането на един прост .htaccess файл със следните неща:
А проблема в случая е следния. Имаме cpanel сървър и много умрели Joomla и wordpress сайтове пълни с какви ли не стари и по-стари темплейти и плугини.
Някой псевдо хакер намира дупка в тях, и качва така накеченият експлойт (по-долу ще го покажа)
След като го стартира, самият експлойт прави symlink на всички home директории и на главната / . С опциите пуснати по-горе (+Indexes и +FollowSymLinks) хакерът вече може съвсем спокойно да си разцъка из директориите на другите потребители и да разгледа техните конфиг файлове на сайтовете. Тук е ясно какви могат да бъдат последствията.
Аз много съжалявам, че на тези наши сървъри apache-то още работи, но докато от Cpanel.net не накарат WHM/Cpanel да работят изцяло с nginx и php5-fpm примерно, ще имаме тези проблеми. Само да вметна , че за nginx има една проста опция :
disable_symlinks on;
която оправя този проблем…. но когато използваме nginx пред apache само за прокси, трябва да търсим решение на проблема в самото apache.
Решението:
Решението се оказа доста просто, но беше необходимо време докато го намеря.
Изпълнява се следният код :