Pull to refresh
2
0
Александр Нелидов @FeaMor

User

Send message
Хостинг Jino (система «Джино»)
Наименование: ООО «Авгуро Технолоджис»
ИНН/КПП: 7706641390/770201001
Юридический адрес: 127051, Мал. Сухаревская пл., д.6, стр.1
Почтовый адрес: 127083, Москва, Юннатов ул., 18, офис 709
Телефон/факс: +7 495 229-30-31
Генеральный директор: Магдесиев Евгений Львович
*данные взяты с публичной договора-оферты по адресу www.jino.ru/about/offer

Долго искал хостинг под CMS Joomla, выбрал Jino. Установил самые суперские настройки (все по-максимуму), оплатил сразу на год, т.к. переходил с тремя десятками сайтов с американского хостера, побоялся всяких санкций. На следующий же день после переноса начались проблемы с зависаниями сайтов, якобы перегрузов серверов, и, что самое обидное, сайты начали постоянно заражаться вирусами спам-рассылок, что ни на каких других хостингах за 9 лет я не встречал. После всяких манипуляций, мне был предложен вип-хостинг по тысячи с каждого сайта, что мне не нужно вообще. Зачем платить по 30 тыс руб за хостинг, если уже можно vps взять и не зависеть от хостеров. Через несколько дней решено было переехать на другой хостинг, а все неистраченные средства вернуть. Техподдержка и раньше не отвечала, но сейчас вообще игнорирует, раз в месяц ответят, что все передано в бухгалтерию и опять молчок. С бухгалтерией и руководством не связаться, т.к. все контакты, которые можно найти, — это только техподдержка и вопросы с деньгами они не решают. Денег не вижу уже второй месяц. Вопрос можно решить видимо только через суд.
Ужасное отношение к клиентам как со стороны техподдержки, так и со стороны руководства. Не советую этот хостинг использовать ни при каких условиях, сайт не будет работать (думаю специально занижены все производительности, чтобы покупали отдельный тариф для каждого сайта по 1,2 тыс руб в год), и ладно бы если так, но и еще заражают именно там. т.к. сравнивал бэкапы закаченные туда и скачанные обратно — они были чистые изначально, Видимо рассчитано на «тупых» пользователей. которые эту процедуру не могут сделать.
Не, ну может я все равно что-то не так сделал, вот и написал сюда свое же решение.
Интересный вопрос, а при ДДОС атаках страдает при этом бэкэнд-сервер или этот прокси-сервер?
Фиг знает почему, но убрав все из фронтэнда прокси прекрасно заработал и по доменам и по IP

frontend http
    bind *:80
    default_backend site_vp


да, еще в бэкенде поменял имя сервера на новый:

backend site_vp
	balance roundrobin
#	option httpchk HEAD /show.fcgi?show=stat HTTP/1.1\r\nHost:olddomain.td
	stats enable
	fullconn 200
	server newdomain.td 123.123.123.123:80 minconn 30 maxconn 70

Наверняка тупой вопрос, но я нигде нормального решения не нашел (
На данный момент есть сервер, на котором крутится сайт. Взял отдельную VPS и доменное имя.
Нужно, чтобы пользователи никак не видели IP самого сервера при заходе на новый сайт, а видели только адрес VPS (как-то подменять заголовки). VPS должен выполнять роль полной проекции сайта с сервера, как выдавать страницы, так и принимать комментарии и любые другие данный из форм.
Так вот, нифига не получается у меня (( При вводе IP VPS-ки сайт отображается с сервера, в адресной строке адрес VPS, все как нужно, а вот при вводе нового доменного имени, ничего не происходит «Веб-страница недоступна»
Может поможете с конфигурацией haproxy, и нужно ли что-нить добавлять в конфигураторе nginx на сервере?

frontend http
	bind *:80
	acl is_vp hdr(host) -i newdomain.td
	acl is_ip hdr(host) -i 123.123.123.123
	option forwardfor header X-Real-IP
	use_backend site_vp if is_vp
	use_backend site_ip if is_ip
	default_backend site_vp

backend site_vp
	balance roundrobin
	option httpchk HEAD /show.fcgi?show=stat HTTP/1.0\r\nHost:olddomain.td
	stats enable
	fullconn 200
	server olddomain.td 123.123.123.123:80 minconn 30 maxconn 70
backend site_ip
	balance leastconn
	option httpchk HEAD / HTTP/1.0\r\nHost:olddomain.td
	stats enable
	server olddomain.td 123.123.123.123:80 check inter 2000 fall 3


где 123.123.123.123 — IP адрес сервера
olddomain.td — доменное имя сайта на сервере
newdomain.td — доменное имя сайта на VPS (отличное от olddomain.td)
Не могли бы поподробнее описать?
Я хочу Сокрыть свой сервер с сайтом и поднять отдельный сайтик, который как проекция этого сервера отображала бы все с него. Не спрашивайте меня зачем такой замут, сложно объяснять )
Анонимусы не подходят потому что сайт перепичкан яваскриптами и флешками, многое из них перестает работать (
Думаю лучше купить отдельно VPS и сделать ssh-tunnel, но вот беда — совсем не знаю как это сделать…
Дельное замечание! Спасибо!
SniFFeR:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n | grep -v "Ваш IP сервера" > /tmp/ddos.iplist
— с помощью данной команды можно исключить из проверки на количество подключение IP адрес самого сервера
А как обновлять курсы валют, кладр, если система не имеет выхода в интернет? оффлайн версии где скачивать и как ставить7
Я могу ошибаться, но всякие куки, скрипты редиректов, по-моему, отсеивают роботов поискоиковиков…
Ну просто такая запись была общепринятой в инете )
Везде она в таком виде использовалась
у мне было 10К соединений и очень быстро работал нетстат
Буду рад, если внесете исправление ;)
я за наиоптимальнейший способ отражение атаки!
Да, конечно, нажми на «Say It» на сайте text-to-speech.imtranslator.net

А вообще отличие от других скриптов — это захват всех айпишников, которые контачат с сервером, без какой-либо дополнительной нагрузки, типа открывания логов ошибок…
это скорее старое обычное действие при зависании системы «а вы пробовали выключить и включить?» ;)
а вообще он и не нужен, так уж, для переперестарховки (пере — это не опечатка, а усиление акцента)
Ну и еще как вариант, скрипт активировать только во время атак, а у меня лично со всего мира редко бывают случаи, когда с одного айпишника идут одновременно больше 10 человек ;)
Ну тогда просто поднять планку не 20, а 50 или 100 в строке
# создаем DROP правила для 50 самых агрессивных ботов
awk '{if ($1 > 20) {print "/sbin/iptables -I INPUT -p tcp --dport 80 -s " $2 " -j DROP" }}' /tmp/ddos.iplist >> /tmp/iptables_ban.sh
На самом деле я не знаю что это )
Но логи соединения именно такие были:
2013/11/26 13:58:15 [error] 737#0: *16080 limiting connections by zone "perip", client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:15 [error] 737#0: *16077 limiting connections by zone "perip", client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:15 [error] 737#0: *16081 limiting connections by zone "perip", client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:15 [error] 737#0: *16038 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:3000/", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:15 [error] 737#0: *16035 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:3000/", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:15 [error] 737#0: *16023 connect() failed (110: Connection timed out) while connecting to upstream, client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:3000/", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:17 [error] 737#0: *16082 limiting connections by zone "perip", client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:19 [error] 737#0: *16051 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:3000/", host: "mysite.ru", referrer: "http://mysite.ru/"
2013/11/26 13:58:19 [error] 737#0: *16090 limiting connections by zone "perip", client: 91.191.234.194, server: mysite.ru, request: "GET / HTTP/1.0", host: "mysite.ru", referrer: "http://mysite.ru/"
Ну до того, как написал свой скрипт, готовые решения не всегда срабатывали и перезагрузка помогала выйти на минуточку из зависания от ддоса и запускать новые вариации скриптов. Ну и здесь, если все-таки система ляжет, то перезагрузка поможет снова запуститься. Мне сложно объяснить зачем это, но вот два логичных объяснения:
1) перезапуск правил iptables, например если айпишник не от ддоса, а просто глюк какой-нить, тогда перезагрузка поможет пользователю на следующий день попасть на сайт.
2) если скрипт блокировки айпишников не смог запуститься через 10 минут, т.к. система уже легла от новой атаки, тогда перезагрузка может оживить сервер
ну и так, для профилактики на одну минутку мона выключать сервер) в 4 часа утра все равно мало кто полезет на сайт ))
у меня в /etc/logrotate.d/nginx:
/var/log/nginx/*.log {
	daily
	missingok
	rotate 9
	compress
	delaycompress
	notifempty
	create 640 root adm
	sharedscripts
	postrotate
		[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
	endscript
}

как его еще настроить можно?
Сайт все равно вешается (( Поработает полчасика и все…
пришлось даже ставить каждые полчаса перезагрузку сервака (

может все-таки как-нить так сделать? лучше будет ли?
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

Сам нашел причину неработоспособности скрипта (
1) ддосят так, что /var/log/nginx/error.log у меня на несколько сотен гигов (сам в шоке), причем у меня он создается ежедневно новый, а старый архивируется… И соответственно, нужно много времени на сканирование этого файла…
2) ддосят так, что система виснет и скрипт тупо сам висит (

возможно целесообразнее не логи читать каждый раз, а смотреть какие соединения вообще есть? Например:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n


Подскажите, если этот способ лучше, то как его применить к данному скрипту?
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity