Hello and welcome to #root.bg!
Here you can find tutorials about linux, networks and their firewall, games and fun, as well as hobbies – rollers, drones and many more.
Here you can find tutorials about linux, networks and their firewall, games and fun, as well as hobbies – rollers, drones and many more.
Николай Николов Howto apache, brute force, cpanel, modsecurity, whm, wordpress 0
Привет отново!
В продължение на предния ми пост за оптимизация на WHM сървъри, сега ще споделя и как се защитавам срещу brute force атаки към wordpress сайтове, хостнати на WHM сървър, с помощта на modsecurity!
За целта е нужно първо да имаме инсталиран modsecurity с активиран OWASP ModSecurity Core Rule Set V3.0.
Правилата се добавят от : Home »Security Center »ModSecurity™ Tools »Rules List -
Add Rule
Николай Николов Howto apache, cpanel, deflate, fosnginx, gzip, nginx, optimization, whm 0
Привет!
Както може би повечето от вас знаят, аз съм голям фен на 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” на апачето :
Николай Николов Howto backup, delayed, mysql, replication 0
Привет,
Днес ще споделя как лесно се слага MySQL delayed replication (закъсняла репликация).
Идеята е проста – имаме слейв сървър който е винаги изостанал от мастъра си. Това се прави с цел, той да седи като онлайн бекъп, и ако без да искаме изтрием нещо от главния сървър като таблица или база (или пък някой кадърен девелопър е truncate-нал таблица но вместо на дев го е направил на лайв – случвало ми се е!! 🙂 ), да можем бързо да вземем информацията от този изостанал слейв.
Да подчерая, че тази функция я има във версия на MySQL 5.6 и нагоре.
Ето и как се прави това :
Николай Николов Howto haproxy, http2, letsencrypt, pfsense 0
Здравейте,
От около седмица-две започнах тестове с pfSense 2.4.2, а от няколко дни го използвам в production среда!
В този пост (pfSense HAproxy LetsEncrypt http2 ) ще споделя как да инсталираме, конфигурираме и използваме HaProxy с Let’s Encrypt и най-новия http протокол – http2!
Трябва да инсталираме следните пакети за pfsense : acme (let’s encrypt) и haproxy-devel (dev версията е 1.8 която поддържа http2).
След като сме инсталирали HaProxy, е необходимо да създадем backend чрез който да може да инсталираме и подновяваме Let’s Encrypt сертификати.
Избираме си име – примерно localacmeserver който да работи на localhost на порт 8126 (порта е много важен за frontend частта!)
Следва да направим и два frontend-а които да работят на порт 80 и порт 443.
Първия HTTP-to-HTTPS ще служи за препращане на всичкия трафик от порт 80 към HTTPS (порт 443) с едно изключение – заявките от Let’s Encrypt ще бъдат обработвани локално от localacmeserver (порт 8126). Това се прави ето така :
Намираме Default backend, access control lists and actions и създаваме acme. За expression избираме Path starts with: , на Not избираме yes, и за Value слагаме : /.well-known/acme-challenge
Така всички заявки от типа /.well-known/acme-challenge ще бъдат обработвани от backend-а ни който кръстихме acme.
По-долу на Actions се описва и 302 redirect-а от HTTP към HTTPS:
Накрая избираме за default backend “acme”
Следва конфигурирането на HTTPS frontend-a ни.
Тук важното е при Access Control lists да изберем за Not – no , и да сложим същото Value – /.well-known/acme-challenge/ и при Actions да посочим, че ще използваме backend : acme.
Нужно да си на настройм ACME акаунта от Services -> Acme certificates -> Account keys. Избераме за сървър Acme server – Let’s Encrypt production, след това кликваме на Create new account key, и след това на Register acme account key и накрая save.
Отиваме на Certificates и си създаваме нов, като тук важното е да спазим следното :
За method да изберем : standalone HTTP server а за порт да изберем 8126 , а на Action lists да спожим следните две команди :
Restart the GUI on this firewall: Select “Shell Command” and enter /etc/rc.restart_webgui
Restart HAProxy on this firewall: Select “Shell Command” and enter /usr/local/etc/rc.d/haproxy.sh restart
Така когато ни се поднови автоматични сертификата след 60 дни, HaProxy сървъра ще се рестартира автоматично и ще вземе новият сертификат за съответният домейн.
Включването на http2 в haproxy 1.8 е много лесно.
Избираме HTTPS backend-a ни и срещу IP адреса му в полето Advanced добавяме следното : alpn h2,http/1.1
Препорачително е да изключим старите SSL протоколи – SSLv2 , SSLv3 , TLSv10 и TLSv11
На Advanced ssl options слагаме :
force-tlsv12 no-tls-tickets
На
ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
След като приключим с настройките е хубаво да тестваме всичко дали е ок. В моят случай всичко мина нормално и ето и резултатите от
https://tools.keycdn.com/http2-test и https://www.ssllabs.com/ssltest/analyze.html?d=nqma.net
Това е! 🙂