Разходка до зоопарка
Днес беше един от първите слънчеви дни за тази година, и по повода решихме да се разходим с малките до зоопарка в Добрич 🙂
Изкарахме си много хубаво! Двете братовчедки доста се забавляваха 😎
Днес беше един от първите слънчеви дни за тази година, и по повода решихме да се разходим с малките до зоопарка в Добрич 🙂
Изкарахме си много хубаво! Двете братовчедки доста се забавляваха 😎
Днес ъпгрейднах няколко сървъра с последната версия на PHP 5.5.12 (нали съм фен на ъпдейтването) .. Тоя път стана проблеммм 🙂 След ъпдейта започна да ми дава 502 – bad gateway , а в лога излизаше permission denied. Излезе че в новата версия на PHP-fpm е задължително да се използват listen.owner и съответно за owner да се сложи същият потребител през който работи и уеб сървъра – в моя случай nginx.
След като го оправих, видях нова грешка.. още по-смотана и нахална :
2014/05/07 14:10:58 [error] 1951#0: *5 inflate() failed: 4, -3, client: *.*.*.*, server: friendbg.net, request: "GET / HTTP/1.1", host: "friendbg.net" 2014/05/07 14:11:58 [error] 1951#0: *44 inflate() failed: 4, -3, client: *.*.*.*, server: friendbg.net, request: "GET / HTTP/1.1", host: "friendbg.net"
Тук якото беше следното – през уеб браузър сайта се отваря , през lynx или curl дава : unexpected error и съответно pingdom.com ми съобщи че сайта ми е DOWN 🙂
След няколко часово тестване, ровене и мъчение реших кардинално да оправя проблема, като сваля версията на PHP* до 5.5.11 която си работеше без проблеми.
Сторих го по следния начин :
dpkg -i /var/cache/apt/archives/php5*5.5.11*
тъй като в хранилището на dotdeb вече всичко беше с новата версия.
Извод 1 – за сега ще изчакам с ъпдейтване на нови версии на PHP по сървърите ми, че явно промените не са никак малки и могат да ми причинят доста главоболия.
Извод 2 – трябва да спра с тея ъпдейти веднъж завинаги..!!
Хелоу,
Днес нашето малко момиченце става на 6 месеца! По повода искам да кажа, че времето от както се е родила минава изключително бързо. Иска ми се много да ни слуша но едва ли … 😀
Да ни е жива и здрава, безгрижна и засмяна!
Добавих няколко нови нейни снимки в галерията и за спомен 🙂
Идеята е fail2ban да се грижи за сигурността на нашият load balancer сървър – в случая – haproxy. 1. HAProxy трябва да може да логва всички конекции като опишем следните опции в /etc/haproxy/haproxy.cfg :
option httplog clf option tcplog clf # option dontlognull log 127.0.0.1 local5 info
2. Да имаме работещ rsyslog и да добавим следното в конфигуранционният му файл:
$ModLoad imudp $UDPServerRun 514 local5.* /var/log/haproxy.log
3. Logrotate – това не е задължително но е хубаво да го имаме. Добавяме в /etc/logrotate.d/haproxy.cfg :
/var/log/haproxy*.log { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate reload rsyslog >/dev/null 2>&1 || true endscript }
4. Следва и самият код за fail2ban в /etc/fail2ban/filter.d/haproxy-get-dos.conf
# Haproxy Fail2Ban Regex using CLF format # [Definition] failregex = haproxy\[\d+\]: .* "(GET|POST) .*https?:// ignoreregex =
5. След това в /etc/fail2ban/jail.conf:
[haproxy-get-dos] enabled = true port = http,https filter = haproxy-get-dos logpath = /var/log/haproxy* maxretry = 500 findtime = 120 bantime = 3600 action = tarpit[name=HTTP, port=http, protocol=tcp] sendmail-whois[name=haproxy-get-dos, dest=alerts@root.bg, sender=fail2ban@root.bg]
6. Следва инсталирането на пакета xtables който е необходим да работи TARPIT 7. Добавяме следното в /etc/fail2ban/action.d/tarpit.conf :
# Tarpit trap [Definition] actionstart = iptables -N fail2ban-TARPIT- iptables -A fail2ban-TARPIT- -j RETURN iptables -I INPUT -p -j fail2ban-TARPIT- actionstop = iptables -D INPUT -p -j fail2ban-TARPIT- iptables -F fail2ban-TARPIT- iptables -X fail2ban-TARPIT- actioncheck = iptables -n -L INPUT | grep -q fail2ban-TARPIT- actionban = iptables -I fail2ban-TARPIT- 1 -s -j TARPIT actionunban = iptables -D fail2ban-TARPIT- -s -j TARPIT[Init] name = default port = http protocol = tcp
8. Рестартираме haproxy и fail2ban и готово 🙂
Онлайн пазаруването се развива стремглаво нагоре, и поради това, сигурността и бързината на уеб сайтовете е много важна за всеки един уеб администратор. От както google пуснаха на пазара своя протокол наречен SPDY, аз започнах да експериментирам със SSL техники на блога си, защото освен че съм голям фен на така нареченият “performance”, обичам и сигурността.
Поради тази причина искам да споделя сайта http://www.startssl.com/ който предлага безплатен SSL сертификат за един или повече домейни + 1 суб домейн. Хубавото в случая е, че сертификатите на startssl се разпознават безпроблемно от почти всеки браузър, което значи че ще избягваме досадните съобщения за self signed certificate. Разбира се това не е вариянт за големите компании и за страници на големи онлайн магазини които искат най-голямата възможна надежност предоставена от SSL сертификатите, но е добро начало, и идеално за блогове като моя 🙂
Обаче стигнах до заключение, че изцяло изването на този сертификат (тоест пълен 301 редирект от http към https) ще ни навреди за SEO позициите на сайта. Причината е че един прост curl -I не вижда сертификата като валиден. Също така се вижда невалиден и за ботовете и популярните SEO тулчета. Поради тази причина не съм направил 301 редирект все още, въпреки че много ме блазни отново да пусна SPDY.
Сигурно има и други сайтове които предлагат безплатни сертификати, и съм обеден че не откривам топлата вода със startssl (за което искам да се извиня предварително) , но ще се радвам ако някой сподели друг по-добър сайт за да мога да продължавам да тествам 🙂 Благодаря!