Posts Tagged ‘linux’
Friday, July 5th, 2013
Вот таким печальным образом некто mikus@hostnet.lv делает бэкапы удалённых linux серверов. Тут вам в 10 строках и создание полной копии в /tmp папке без ограничения прав доступа, и передача через сеть в нешифрованном виде, и использование национальных слов наряду с английскими, и запутывание логики в следствии то ли отсутствия логического мышления, то ли неумения пользоваться командой man.
“Ietaupiet līdz pat 80% no saviem IT izdevumiem, izmantojot ārpakalpojumu LINUX serveru administrēšana” – написанно на сайте hostnet.lv. Вот что бывает при экономии 80% – linux начинают администрировать сельские сторожа.
#!/bin/bash
LOCALHOST=cargomix.hostnet.lv
DATE=$(date +%Y-%m-%d)
HOST=”webconcept.lv”
LOGIN=”backup”
PASS=”XXXXXX”
PORT=”21″
REMOTEDIR=”www/”$DATE
BACKUPDIR=”/tmp/all_backup/”;
ADMINEMAIL=”mikus@hostnet.lv”
mkdir -p $BACKUPDIR/;
# var/log
for directory in etc root var/spool/cyrus var/lib/mysql var/lib/cyrus; do
cd /$directory;
echo “Backuping /$directory…”
mkdir -p $BACKUPDIR
dir2=$(echo $directory | cut -d “/” -f 2)
tar cfz /tmp/all_backup/$dir2.tar.gz . > /dev/null ;
#rm -rf $BACKUPDIR$directory
done
if
ncftpput -u $LOGIN -p $PASS -P $PORT -Rm -r 10 -DD $HOST $REMOTEDIR $BACKUPDIR*;
then
echo “Backup Succsefull”;
echo “Backup was succesfull at $LOCALHOST” | mail -s “$LOCALHOST all backup succsesfull – $laiks” $ADMINEMAIL;
else
echo “Backup Error”;
echo “Backup ERROR at $laiks.” | mail -s “ALL BACKUP ERROR $LOCALHOST” $ADMINEMAIL;
fi
rm -rf $BACKUPDIR/;
Tags:linux, sucks
Posted in tech | 2 Comments »
Thursday, July 29th, 2010
Возникла задача защитить сетевой трафик в отдельно взятом канале связи, проложенном через канализации и кроссы офисного здания с одного этажа на другой. Чтобы не усложнять топологию локальной сети VPN туннелями, решили сделать прозрачное шифрование Ethernet на входе и выходе небезопасного канала.
В интернете можно найти готовые устройства типа L2 Ethernet Encryptor от BlackBox ценой от $5K, но можно и самим сваять такой черный ящик на linux используя vtun (или openvpn). К тому же есть неплохое готовое описание. Разве что в нашем случае не нужны IP адреса на интерфейсе моста и промежуточные адреса мы так же не хотим светить:
# hide ip on interconnection link
net.ipv4.conf.eth1.arp_filter = 1
net.ipv4.conf.eth1.arp_announce = 2
net.ipv4.conf.eth1.arp_ignore = 2
При использовании схемы “сервер” <-> “много клиентов” опцию “device” надо убирать. Иначе только первый клиент может установить соединение, а при попытки подключения остальных возникает ошибка
Can’t allocate tap device tap. Device or resource busy(16)
Железку можно взять на hacom.net. 270-ый Atom с шифрованием blowfish128ecb без компрессии пропускает 56Mbps видео в mpeg4, а netperf с lzo:1 на 100baseT/Full выдаёт аж 160Mbps !
Tags:linux
Posted in tech | No Comments »
Sunday, June 13th, 2010
Забился двухтерабайтник, решил попробовать прозрачное сжатие на файловой системы под линуксой. К моему удивлению, из всего многообразия всяких ext4, jfs, xfs и иже с ними обнаружилось всего два кандидата – свежевыпиленный btrfs, но в ванильном ядре, и шестилетней давности reiser4, но патчем.
Хотелось бы, конечно, насладится передовые технологии, однако у btrfs до сих пор нестабильный формат, и, судя по комментарию разработчика reiser4, ребята не осилили математику в школе. К тому же, lzo побыстрее zlib-a будет.
Хотя небольшая практика показала что и reiser4 иной раз в кору падает:
# mkfs.reiser4 -o create=ccreg40,compress=gzip1,compressMode=force,cluster=4K,key=key_short /dev/sdb1
mkfs.reiser4 1.0.7
Copyright (C) 2001-2005 by Hans Reiser, licensing governed by reiser4progs/COPYING.
Block size 4096 will be used.
Linux 2.6.28 is detected.
Uuid f813fede-b138-4203-8e61-6a7b68419d41 will be used.
Reiser4 is going to be created on /dev/sdb1.
(Yes/No): yes
Creating reiser4 on /dev/sdb1 … Segmentation fault
P.S. А Шишкин оказывается на redhat работает :)
Tags:linux
Posted in tech | 8 Comments »
Wednesday, November 18th, 2009
Позвонил мне тут бывший коллега с пожарки – решил он сменить поле деятельности: надоело ему менять картриджи и теперь он настоящий одмин. И кто-то даже доверил ему настроить почтовый сервер. И он даже сумел поставить туда Debian. А дальше начинается трагикомедия…
Интернет не работал – на всех трёх сетевых адаптерах был прописан один и тот же IP адрес, и даже шлюз по умолчанию был настроен на первых двух. Провод был воткнут в третий интерфейс. Похоже, именно эта проблема заставила одмина позвонить мне.
Вторым моментом, впечатлившим меня, оказалось разбиение дисков. В сервере установленно три диска – hdb, hdc и hdd. Понятно, что не каждый одмин может поставить диск как мастер, но вот одинокий hdb1 в зеркале с самим собой повеселил. И это на с нуля установленном-то сервере…
Почему-то начинающие одмины думают, что достаточно установить одну из веб приблуд типа ispcp и дальше всё автоматически заработает. И страшно удивляются, когда сообщаешь им о необходимости что-то настраивать дополнительно. А вопросы типа “ну что там было ?” от человека, который ничего не понимает в предмете просто ставят меня в тупик. И главное – о чём думают люди, нанимающие таких одминов ?
Tags:linux
Posted in Латвийский ИТ | 2 Comments »
Friday, September 11th, 2009
В восьмой версии nginx появилась поддержка асинхронного файлового ввода-вывода (aio). Это означает, что теперь файловый io не блокирует весь сервер и запросы продолжают выполняться.
Практический пример может быть таким: есть два диска, на одном html файлы, на другом rar архивы. Если диск с архивами занят чтением, то тот же lighttpd ждёт результата и не обслуживает запросы к html, не смотря на то, что первый диск свободен – сервер висит.
По правде говоря, в lighttpd aio тоже вроде как есть, но только в версии 1.5 которую никак не могут выпустить. Похоже, пора менять lighttpd на nginx.
Tags:linux, nginx
Posted in tech | No Comments »
Tuesday, June 30th, 2009
Вот в чём вопрос.
Вот что говорит разработчик vserver:
Linux-VServer
– community driven project
– lightweight isolation
– small and unintrusive patch
– supports all kernel archs
– provides highly advanced jails
OpenVZ
– FOSS version of commercial product
– virtualization (e.g. network)
– rather large (grown) patch
– focused on a few (x86/ppc/sparc)
– provides VPS (e.g. live migration)
Except for that, give or take a feature the functionality is mostly the same.
Tags:linux
Posted in tech | No Comments »
Sunday, April 19th, 2009
Отличнейший экслойт объявился для последнего бага в udev. Кому всю жизнь не хватало прав рута – налетайте !
Оригинал здесь:
http://seclists.org/fulldisclosure/2009/Apr/att-0198/udev_txt
Tags:bugs, linux
Posted in hack | No Comments »
Saturday, January 10th, 2009
В новой версии openssh появилась встроенная возможность запирать пользователей в chroot. Вкупе со встроенным sftp сервером эта фича предоставляет простую и безопасную замену устаревшему ftp на хостинговых площадках.
Подробное описание конфигурации можно посмотреть здесь. Стоит только упомянуть об одной особенности: все директории в пути chroot должны быть под владением пользователя root, иначе не работает – в логах появляется ошибка “fatal: bad ownership or modes for chroot directory”. Нашёл здесь.
Tags:linux
Posted in hack | No Comments »
Friday, January 2nd, 2009
На днях знакомый прислал мне классную ссылку на интернет сайт, размещённый на хостинговой площадке фирмы nano.lv. Оказывается, за неполных три LVL несложными манипуляциями можно получить удалённый доступ в основную систему сервера со всеми вытекающими – начиная от сбора информации и заканчивая атаками DoS и получением рутовских прав.
Что бы я хотел сказать treck-у по этому поводу… Внешний клиент для админа это всегда враг, главной целью которого является полный захват сервера либо выведение его из строя. Именно исходя из этого утверждения следует строить хостинговую систему и всегда думать о балансе между предоставляемыми возможностями и общей безопасностью системы.
С другой стороны, предоставляя пользователям удалённый доступ к системе с возможностью запуска приложений, очень трудно (скорее даже невозможно) обеспечить разделение ресурсов и безопасность основной системы без использования полной виртуализации для каждого клиента. До тех пор, пока пользователь обслуживается системным ядром, любая ошибка в его коде может быть использована для отказа в обслуживании всего сервера. А ошибки и сплойты для linux это естественная и бесконечная история его развития. И grsecurity тут не поможет. Аминь.
Tags:bugs, linux, php, sucks
Posted in hack, Латвийский ИТ | 3 Comments »
Thursday, October 30th, 2008
find (GNU findutils) 4.3.13
find: arithmetic overflow while converting 30 minutes to a number of seconds
Что бы это значило ?
Tags:bugs, linux
Posted in tech | No Comments »
Saturday, October 18th, 2008
Есть у меня один могильничек… Точнее сервер на RedHat 7.2 с ядром серии 2.4.
Всё бы ничего, да в модуле ipt_recent для netfilter-а оказывается есть крутой баг, делающий этот самый ipt_recent совершенно бесполезным. Нашли его ещё в 2005-ом и благополучно исправили в ветке 2.6, но забыли портировать на 2.4 – в текущем ядре 2.4.36.7 модуль всё ещё кривой.
Так что пришлось мне править оригинальную заплатку что бы она накладывалась на ядро серии 2.4. Так же отправил письмо в linux-kernel, надеюсь в следующем релизе исправят.
Patch: http://dg.sad.lv/files/ipt_recent.2.4.patch
Tags:bugs, linux
Posted in hack | 2 Comments »
Sunday, September 14th, 2008
Опция TCP window scale позволяет динамически согласовывать (увеличивать) количество передаваемых данных в одном пакете. Что, в теории, ведёт к более эффективному использованию интернет соединений и увеличению реальной пропускной способности. Данная фича уже давно присутствует в Linux и даже была включена в новейшем Windows Server 2008 ;)
Однако, в реальной жизни всё не так уж радостно. В случае, если в результате некорректной реализации масштабирования окна в ОS либо неправильной настройки, не удаётся согласовать размер окна, происходит повторная, порой многократная, передача пакетов. К сожалению, многие из купивших Cisco или установивших *BSD по пошаговой инструкции 3-4 года назад, никогда в дальнейшем не утруждают себя обновлениями.
В результате, на высоконагруженных серверах, включение TCP window scaling приводит к заметному снижению производительности. 5-10 клиентов с кривой реализацией TCP стэка посылающие 100 сообщений по 5 мегабайт увеличивают нагрузку на канал передачи данных и CPU принимающего сервера в несколько раз !
Tags:bugs, linux
Posted in hack | 1 Comment »
Friday, July 18th, 2008
В этом я сегодня смог убедится лично.
Раньше я видел только сотрудников высокотехнологичных компаний (собственно inbox.lv), выполняющих свои служебные обязанности за рабочими столами KDE или Gnome. Но вот чтобы делопроизводитель транспортной компании смог сломать xfce и рассказывал как по форумам искал manual вернуть пропавшие иконки… При чём, женщине лет этак за сорок… Был в шоке.
Так и не понял как ей удалось так испортить сессию, что ни xfdesktop, ни xfce4-panel не запускались после авторизации. Зато курсор работал исправно ;) Хотя… надо признаться, xfce я видел второй раз в жизни :)
Tags:linux
Posted in Мысли в слух | 3 Comments »
Sunday, March 23rd, 2008
Винда:
Приветствую тебя, мой повелитель!!!
Вы действительно хотите удалить этот каталог, о мой повелитель?!!!
Извините, я не могу удалить этот файл, мой повелитель, без него моё существование станет невозможным, о мой повелитель!!!
Линукс:
Дарофф, чувак!
Хочешь это сделать? Валяй!!!
Что ой бля?
Я тебя просил это делать?
Тряси теперь бубен, я послушаю!!!
Tags:linux
Posted in Разное | No Comments »
Friday, March 7th, 2008
Для нового мега проекта Danaki для inbox.lv (уже в стадии подготовки к запуску) необходимо было установить последний lighttpd версии 1.5 которого ещё нет в официальном Gentoo.
Ставить из tarball’а не кошерно, решил сделать свой ebuild из существующего для 1.4.18. Делал подобное первый раз без каких-либо познаний в этом деле. За 20 минут я:
- исправил URL для 1.5
- добавил нашу заплатку для кода
- добавил новую зависимость (aio)
- добавил новый USE флаг
- изменил конфигурационные файлы для lighttpd по умолчанию
Ничего сложного :)
Tags:gentoo, linux
Posted in hack | 4 Comments »
Friday, February 1st, 2008
Иногда возникает необходимость шейпить траффик по определённому порту. В моём случае исходящий SMTP траффик убивал DSL линк когда кто-нибудь посылал видео ролик на 7 мегов 3-10 адресатам. С помощью пакета iproute2 в linux можно творить маленькие чудеса :)
- Устанавливаем очередь CBQ на интерфейс:
tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 100mbit
- Создаём класс на 256kbit:
tc class add dev eth1 parent 1: classid 1:1 cbq rate 256kbit allot 1500 prio 5 bounded isolated
-
Загняем траффик по шаблону ip dport 25 0xffff через фильтр u32:
tc filter add dev eth1 parent 1: protocol ip prio 16 u32 match ip dport 25 0xffff flowid 1:1
В результате исходящий траффик на 25 порт не превышает 260kbit/s в любой ситуации.
Больше здесь:
Rate limiting a single host or netmask
The u32 classifier
Tags:linux
Posted in hack | 3 Comments »
Saturday, January 26th, 2008
Пришлось на днях поразвлекаться с gdb и падающим в segmentation failure PHP. Вот несколько советов по получению удовлетворительного результата под hardened Gentoo:
- ставим размер coredump’a бесконечным:
ulimit -c unlimited
- прописываем путь для коры:
echo "/tmp/core.%p-%t" > /proc/sys/kernel/core_pattern
- переключить компилятор gcc на vanilla (ВАЖНО!):
gcc-config i686-pc-linux-gnu-3.4.6-vanilla
- запускаем сборку с дополнительными опциями:
EXTRA_ECONF=" --enable-debug" FEATURES="nostrip" emerge -a php
После падения по segfault смотрим результат:
gdb /usr/bin/php-cgi /tmp/core.bla-bla-bla
Tags:gentoo, linux
Posted in hack | 2 Comments »
Sunday, January 20th, 2008
На днях столкнулся с проблемами при использовании ядра, собранного из sys-kernel/hardened-sources в Gentoo с включенными опциями grsecurity. Долго не мог понять в чем дело – gcc постоянно падал в segfault при сборке большинства пакетов, в то время как tar паковал пару гигов через bzip2 на ура. Поменяли проц и мамку – без результата.
Дело оказалось в опции CONFIG_PAX_NOEXEC из раздела Security options->PaX->Non-executable page. После полного отключения фичи Non-executable pages компилятор всё таки заработал.
Данная проблема явилась для меня сюрпризом, так как я уже долгое время работаю с ядрами линукс с включенным PAX’ом под amd64 без каких-либо нареканий. В этом же случае, система оказалась i686 на базе процессора Pentium4 без поддержки NX бита.
Tags:gentoo, linux, security
Posted in hack | No Comments »
Saturday, December 1st, 2007
Как это ни печально, но весьма неплохой серверный rpm-based дистрибутив Trustix, согласно объявлению на оффициальном сайте, закончил своё существование. Так сказать, “всем спасибо, все свободны”.
Что я буду теперь делать с теми 15 серверами, которые я поставил на Trustix за последние пять лет ?!?! Жопа, блин.
Tags:linux
Posted in tech | 3 Comments »