Обновить
52
Тим Евдокимов@zeehond

Пользователь

9
Подписчики
Отправить сообщение
считать, что мировых войн с участием ядерного оружия будет больше одной, это уже само по себе достаточно оптимистический сценарий
и ещё одна нелишняя деталь:
для нагиоса поставил этот плагин, если бэкап какой-то машины не делается сутки — звенит звонок
для бэкапа файловой системы виртуальных машин я остановился на rdiff-backup
вот такой скриптик запускается по крону на родительском хосте

#!/bin/sh
# local dom0 host
HOST=zzzzzzz
# volume group
VG=vg00
# file containing volume names
LV=$1
# PID file
PID=/tmp/rdiff-backup-lv.pid
# remote path to backup server (requires SSH-RSA auth)
BACKUP_PATH=remote@xxxx.xxxx.com::/opt/remote-backups
# period to keep old backups 
KEEP_BACKUPS_FOR=2W

echo "Backing up $LV from $VG"
SNAP=snap_$LV

if [ -f $PID ]; then
	if [ `ps ax | grep \`cat $PID\`| grep $0 | wc -l` -eq 0 ]; then
		echo "Previous run didn't end well; removing process $PID" 
		rm $PID
	else
		echo "Backup still runs, can't start another instance" 
		exit 1
	fi
fi	
	echo $$ >$PID
	(	
		if [ -e /dev/$VG/$SNAP ]; then
			umount /mnt/snap
			lvremove -f /dev/$VG/$SNAP	
	  	fi	
		if ! lvcreate --size 1G --snapshot --name $SNAP /dev/$VG/$LV; then
			exit 1
		fi

		if ! mount -o ro /dev/$VG/$SNAP /mnt/snap; then
			lvremove -f /dev/$VG/$SNAP
			exit 1
		fi
	) 1>&2 </dev/null || exit 1

	if [ -f /mnt/snap/exclude-from-backup ]; then
		rm -f /tmp/exclude-from-backup
		for l in `cat /mnt/snap/exclude-from-backup`; do echo /mnt/snap$l >> /tmp/exclude-from-backup; done
		OPTIONS="--exclude-filelist /tmp/exclude-from-backup"
	else
		OPTIONS="--exclude-device-files  --exclude-sockets"
	fi

	if [ ! -d /mnt/snap/etc ]; then
		echo "Image doesn't seem to be mounted properly"
		umount /mnt/snap
		exit 1
	fi
	
	rdiff-backup $OPTIONS /mnt/snap $BACKUP_PATH/$HOST-$LV
	rdiff-backup --force --remove-older-than $KEEP_BACKUPS_FOR $BACKUP_PATH/$HOST-$LV

	(
		umount /mnt/snap
		lvdisplay /dev/$VG/$SNAP
		lvremove -f /dev/$VG/$SNAP
		rm $PID
	) 1>&2 </dev/null

> Многие начинающие хостеры жалеют деньги даже на SSL-сертификат.

зато опытные хостеры знают, где халява
но «перестроить коаксиальную сеть» — это вообще очень немаловажный такой фактор, да

в нашем королевстве, я вот, например, имею дома честных 100 мегабит downstream/10 upstream по кабелю (там же HD-телевидение и телефон)
оптика мне в принципе не нужна, а пока нет в интернет HD-телевидения — видимо и не потребуется

то есть я к тому, что технология может быть и не самой передовой, но лет пару десятков ещё будет актуальна, а может и дольше
в Европе покрытие коаксиальными телевизионными кабелями почти 100%, а дома в основном — мелкие, распределены по большой территории
поэтому оптикой всё это покрыть — получается очень недёшево в пересчёте на отдельное жилище
в нашем королевстве все банки используют устройства VASCO DIGIPASS или аналогичные



в него вставляется карточка с чипом (та же самая, которая используется в банкоматах), набирается пин и выдаётся пароль на вход (I) или на подписание платежа (S) по входным данным, которые показываются на сайте

для получения пароля нужны три компонента — устройство + карта + пин
никаких SMS и никаких USB, можно с телефона использовать, можно в интернет-кафе

по существу, эксплойтится только одним способом — сделать сайт 1:1 похожий на банковский, и убедить жертву его использовать
но при крупных платежах (больше пары сотен евро) надо вводить как челлендж в т.ч. и сумму, и часть номера счёта бенефициара
поэтому такой хак заставить эффективно работать тоже не совсем понятно как
мм, ну если вы бота забанили правилом в iptables, то от него же не будет ни слуху ни духу непосредственно с момента введения этого правила? или я где-то опять торможу?
насчёт -t raw -I PREROUTING спасибо всем сообщившим (вам тоже) — буду знать, полезно
(я же ведь на самом деле не настоящий сварщик админ… )
хотя ipset мне всё же очень понравился, вариантами сетов и скоростью работы, которая по определению (поиск по хеш-таблице) будет _существенно_ быстрее, чем перебор нескольких тысяч правил iptables, хоть бы и на -t raw

по поводу вашего решения
на самом деле, log2ban — это в принципе примерно одно и то же, но
1. с возможностью авторазбанивания (для этого нужна база данных)
2. с гибкой логикой по поводу того, какие запросы игнорировать
3. с гибким определением того, какие запросы считать идентичными (см. ниже *)
4. с анализом логов в реальном времени (10 минут это слишком много — в данной конкретной атаке каждую минуту появлялись новые боты взамен заблокированных), а не в момент ротации
5. с читаемым кодом :)) (ничего личного, на перле я тоже раньше много писал)

*) то есть, скажем, в тот момент, когда боты вдруг поумнеют и начнут слать не один и тот же запрос а, скажем, с какими-то вариациями — в log2ban есть конкретная изолированная функция, куда можно добавить сколь угодно нелинейную логику для анализа
ну да, при этом в _большом_ количестве, от каждого клиента до нескольких десятков в секунду
то есть именно боты, а не кнопка рефреш в браузере
при этом User Agent постоянно разный, видимо случайно генерируемый
аа, вот вы что имели в виду…
тогда ваш вариант вполне имеет право на жизнь

я не знал про mod_evasive (т.к. апачем давно уже не пользуюсь), который, я так понимаю, умеет отслеживать запросы в т.ч. по URI
это ключевой момент
во-первых была важна не частота запросов с одного айти, а частота _одинаковых_ запросов, при этом _игнорируя_ статический контент
это в т.ч. форум, с кучей статического контента
одна страница вполне может дать 50 хитов
если просто считать запросы с айпи (что умеет разумеется, и nginx — это давало неприемлемое количество false alarm-ов

во-вторых, iptables на тысяче правил в iptables уже начинает мрачнейше тормозить, ipset тянет десятки тысяч

в-третьих, вы всерьёз рекомендуете апач для высоконагруженных сайтов??
при наличии гораздо более эффективного nginx?

image
далее к бенчмарку
у HP сейчас всё плохо — потому что эффективный менеджер Лео Апотекер просрал все полимеры
товарищ сам из SAP, поэтому пытался из HP сделать софтверную компанию
например зачем-то прикупил за 10 ярдов $ компанию под названием Autonomy — актив прикольный и наукоёмкий, но для HP ваще ни разу не профильный

но теперь его слава богу выперли, пришла эта тётя Мег Уитмэн
я надеюсь, ума у неё хватит ничего дальше не улучшать, а просто послушать тех людей в компании, кто реально разбирается, в чём компания лидирует и где зарабатывается бабло

а, собственно я это к чему?
а это я к тому, что в решениях HP бесполезно искать какую-то логику, компания сейчас ведёт себя непредсказуемо, как подросток, который «ищет себя»
статья собственно о решении, а не о проблеме
сервер nginx+php-fpm+mysql

армия ботов — откуда я знаю, какие там боты
в банлисте было от 2 до 5 тысяч IP-адресов
боты достаточно примитивные — все долбили один и тот же захардкоженный запрос простоянно
иногда запрос менялся

количество запросов в пике было до 1000 в секунду, то есть просто забивали все соединения, до 50 тысяч ESTABLISHED в netstat
всякие твики в tcp/ip параметрах не особо помогали

как-то в общем так

а блокировка на уровне IP работает отлично, особенно ipset — могучая штука, поначалу пробовали использовать iptables… не надо даже и пробовать было
изначально мы посмотрели на fail2ban, откуда и название, но он показался уж очень громоздким

архитектура задумывалась достаточно гибкая, чтобы перенастроить на автоматическую блокировку IP-адресов по любым доступным наблюдению критериям
да ничем не закончилось, кому он нужен, гадкий хулиган
к тому же я и ресурс — уже давно совсем не в России
это вы шутите так?
вообще там вроде серьёзно 25/31 тыщ фунтов в год предлагают

наверное должны прилагаться ещё и бесплатный детский сад, гранты на образование детей, пенсия, отпуск 60 дней и прочий социализм западноевропейской госслужбы
в континентальной Европе, северно-западной её части, и конкретно в том богоспасаемом королевстве, где я последнее время обитаю, для пап — нормальная практика при рождении ребёнка перейти на 36- или 32-часовую рабочую неделю (4 дня или 4/5 чередование), или даже ещё более короткую, для того, чтобы проводить с ним время

и работодатели тоже в курсе, и идут навстречу

с 3 месяцев можно отдавать ребёнка в ясли-сад (с 6 месяцев, с года — на усмотрение родителей)
а с 4 лет ребёнок уже идёт в школу, там его занимают всяким разным креативным… и можно возвращаться работать на полную нагрузку

вообще, с точки зрения детоводства практически идеальный вариант
я лично два раза проверил…
это распространённое заблуждение
каждый, кто прожил хотя бы две недели в часовом поясе ± 8 часов от своего знает, что такое jet lag и когда он прекращается

а по возвращению домой опять надо привыкать

когда летишь на запад — легко, становишься мега-плюс-плюс-жаворонком, в 4 утра готов подорваться и в 8 вечера уже готов спать
а вот на восток обратно — вот это жесткач… спишь-спишь-спишь, до 2-3 часов дня, а выспаться не можешь

так что Исландия и Бразилия помогут, но не надолго
ничего не мешает

я понял, вам не понравилось моё выражение «нет программирования JS как такового»

наверное, я должен был сказать иначе
к примеру:
«программирование JS как таковое необходимо лишь для отдельных специфических случаев, например для интеграции с JS-библиотеками»
а вы подумайте, сколько слоёв и абстракций между процессом фотосинтеза и салатом у вас на столе
это вполне естественно — чем больше у устройства функций и чем человеку приятнее с ним работать, тем сложнее становится устройство
главное — чтобы всё работало в целом надёжно

а вообще всё зависит от решаемой задачи

цель программирования в бизнес-контексте — это добиваться удовлетворительного результата за вменяемое время
я бы рекомендовал использовать JSF только если цель — сделать _быстро_, за счёт возможной потери в качестве user experience, ну да ладно, бизнес-гуй не обязан быть идеальным

если надо вылизывать производительность/UX на клиенте и по возможности снижать нагрузку на сервер — надо использовать всё что ниже, вплоть до голого JS

JavascriptContext — это средство для интеграции, а не разработки

например в данном проекте с его помощью был подключен CodeMirror
иначе бы пришлось как-то грязно хакать в обход всей сложной машинерии ICEFaces, с риском потери совместимости со следующим ихим релизом

Информация

В рейтинге
Не участвует
Откуда
Amsterdam, Noord-Holland, Нидерланды
Зарегистрирован
Активность