Прикладная дебианавтикаhttp://uptimebox.ru/2011-01-13T15:58:00Zзаписки об opensource, debian, python, провинциальных провайдерах и о жизни посреди всего этогоMailman + nginx + fcgiwrap2011-01-13T15:58:00Zuptimeboxtag:uptimebox.ru,2011-01-13:/entry;2011/1/13/mailman-%2B-nginx-%2B-fcgiwrap<p>Воткнулся в проблему с тем, что веб-интерфейс mailman развёрнутый на такой связке частично неработоспособен. Страницы на первом уровне вложенности показывает, глубже - показывает так же, как и на первом уровне. Путь к пониманию проблемы нашёлся <a href="http://old.nabble.com/nginx-%2B-fcgiwrap,-web-interface-problems-td29718870.html">здесь</a>. Оказалось fcgiwrap не передаёт в cgi-окружение переменную PATH_INFO. Простое решение - обновить до 1.0.3 из Sid.</p>Debian vs Ruby2010-10-07T09:16:00Zuptimeboxtag:uptimebox.ru,2010-10-07:/entry;2010/10/7/debian-vs-ruby<p><a href="http://www.lucas-nussbaum.net/blog/?p=566">Прочитал</a> <a href="http://gwolf.org/blog/ruby-dissonance-debian-again">несколько</a> <a href="http://sheddingbikes.com/posts/1285659877.html">постов</a> на тему разногласий между сообществами Debian и Ruby. Ознакомиться рекомендую, поучительно.</p>
<p>Lucas Nussbaum делится в <a href="http://www.lucas-nussbaum.net/blog/?p=582">одной из своих статей</a> интересным наблюдением:</p>
<blockquote>
But I’m really wondering why the Ruby community generates so many poisonous people.
</blockquote>
<p>Я на это обращал внимание ещё несколько лет назад, когда делал выбор между Python/Django и Ruby/Rails. Враждебность сообщества была одним из веских аргументов против. Хотя в рунете это не так заметно, здесь все сообщества довольно агрессивно настроены по отношению друг к другу. Когда-то меня чуть не побили на сходке любителей FreeBSD: пытался вести дискуссию о преимуществах apt+dpkg перед портами.</p>
<br>
<br>Апгрейд сервера до Squeeze2010-08-11T06:03:00Zuptimeboxtag:uptimebox.ru,2010-08-11:/entry;2010/8/11/%D0%B0%D0%BF%D0%B3%D1%80%D0%B5%D0%B9%D0%B4-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0-%D0%B4%D0%BE-squeeze
<p>Очередной тестинг <a href="http://www.debian.org/News/2010/20100806">на днях заморозили</a> и я решил, что пришло время по крайней мере личные сервера апнуть. Расскажу о тех проблемах с которыми столкнулся при апгрейде своего основного web-хоста и как их победил.</p>
Djapian прокрался в squeeze2010-05-28T08:28:00Zuptimeboxtag:uptimebox.ru,2010-05-28:/entry;2010/5/28/djapian-%D0%BF%D1%80%D0%BE%D0%BA%D1%80%D0%B0%D0%BB%D1%81%D1%8F-%D0%B2-squeeze
<p>Между делом обнаружил в почте сообщение от Debian testing watch:</p>
<blockquote>
<pre>
FYI: The status of the python-django-djapian source package
in Debian's testing distribution has changed.
Previous version: 2.3.1-1
Current version: 2.3.1-3
</pre>
</blockquote>
<p><a href="http://code.google.com/p/djapian/">Djapian</a> - это подключаемое приложение Djago, позволяющее довольно легко и при этом гибко реализовать поиск по моделям. Подробнее о нём можно почитать в <a href="http://webnewage.org/tags/indeksirovanie/">блоге Александра Кошелева</a>, одного из авторов.</p>
<p>Похоже <a href="http://packages.qa.debian.org/p/python-django-djapian.html">мой пакет</a> попадёт в следующий стабильный выпуск. Версия 2.3.1-3 снабжена патчем, который позволяет Djapian работать на Xapian 1.2, что в свою очередь снимает последнее препятствие на пути в stable.</p>
Семейство пакетов harden2009-09-24T14:29:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-6120281080348538980
<p>Вчера писал про пакет <a href="/2009/09/harden-servers.html">harden-servers</a>. При ближайшем рассмотрении оказалось, что имеется целое семейство пакетов:</p>
<div class="body">
<p>
</p><dl>
<dt><a href="http://packages.debian.org/lenny/harden-clients">harden-clients</a></dt>
<dd>этот конфликтует с небезопасными клиентами типа ftp, а за одно зависит от openssh-client;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-doc">harden-doc</a>
</dt><dd>этот устанавливает соответствующую случаю документацию: Securing Debian Manual из Debian Documentation Project;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-nids">harden-<abbr title="Network Intrusion Detection System">nids</abbr></a></dt>
<dd>зависит от <a href="http://ntop.org/">ntop</a> или <a href="http://www.snort.org/">snort</a>;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-servers">harden-servers</a></dt>
<dd>с этим всё уже ясно;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-ещщды">harden-tools</a></dt>
<dd>этот предлагает утилиты, предназначеных для усиления или анализа безопасности локальной системы;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-development">harden-development</a></dt>
<dd>а этот предлагает единственную тулзу, про которую я даже не знал — <a href="http://packages.debian.org/lenny/rats">rats</a>; ознакомлюсь на досуге;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-environment">harden-environment</a></dt>
<dd>написано, что «предоставляет более безопасное окружение или, по крайней мере, инструменты для его настройки», предлагает кучку всего и harden-nids;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-remoteaudit">harden-remoteaudit</a></dt>
<dd>зависит от сервера <a href="http://www.openvas.org/">OpenVAS</a>, предлагает его же клиент, всякие снифферы, опять harden-nids и <a href="http://nagios.org/">Nagios</a>;</dd>
<dt><a href="http://packages.debian.org/lenny/harden-surveillance">harden-surveillance</a></dt>
<dd>зависит от любой из версий Nagios, включая ископаемый NetSaint.</dd>
</dl>
<p></p>
<p>Мне за всю практику на своих серверах не приходилось сталкиваться с вторжениями, хотя специальных хитрых мер я как-то не предпринимал за ненадобностью. Хотя была инсталляциия, на которой разворачивался Nagios. Он там для других целей был, но уж за одно и безопасность мониторил. Ну, ещё chkrootkit по привычке везде ставлю. Бывает ещё аудит паролей в некоторых местах провожу.</p>
<p>Ещё имею привычку незнакомые web-приложения (всё что не обновляется из дебиановских репов или из других надёжных источников) запускать на отдельном сервере, где они ещё по отдельным клеткам разогнаны.</p>
<p>А вы из всего этого великолепия чем-нибудь пользуетесь?</p>
</div>Пакет harden-servers2009-09-24T07:47:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-8748112272205426157 <p>Сегодня пришлось разворачивать ftp-сервер. Не связывался с этой гадостью уже наверное лет 8. Стал смотреть что предлагается в дебиановских репозитариях, остановился на <a href="http://vsftpd.beasts.org/">vsftpd</a>. Но пост не об этом.</p>
<p>Как вариант рассматривал <a href="http://www.proftpd.org/">ProFTPd</a>. Обнаружил у него в конфликтах интересный пакет <a href="http://packages.debian.org/lenny/harden-servers">harden-servers</a>. Он конфликтует с целым ворохом пакетов (цитирую):
</p><ul>
<li>сетевые службы, которые требуют пароля простым текстом;</li>
<li>пакеты, которые могут дать кому-либо доступ к локальному хосту без разрешения;</li>
<li>пакеты, выдающие системную информацию удалённым пользователям.</li>
</ul>
<p></p>
<p>Приписка в конце описания:
</p><blockquote>NOTE! This package will not make your system uncrackable, and it is not intended to do so. Making your system secure involves a LOT more than just installing a package.</blockquote>
<p></p>
<p>Update: harden-servers конфликтует и с vsftpd тоже. Не даром я давно проклял этот протокол.</p>Сборка драйверов Broadcom для ядра 2.6.292009-04-18T12:01:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-7045546920087856090
<p>В прошлом году <a href="http://www.broadcom.com/support/802.11/linux_sta.php">Broadcom выпустил «приоткрытые» драйвера</a> для некоторых своих беспроводных чипов. Для поддержки беспроводки на моём старом Dell Inspiron 2200, мне довелось перепробовать все возможные варианты: ndiswrapper, bcm43xx, b43. Купив недавно новый Dell Inspiron 1525, решил, что раз уж его BCM4312 в списке подерживаемых родным драйвером, то нужно пробовать.</p>
Настройка окружения разработки на Python2009-03-17T16:14:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-1199729808925283925
<p>Сегодня писал для своих сотрудников мануал по созданию и поддержке окружения для разработки на Python. В нашем случае - сприцелом на <a href="http://djangoproject.com">Django</a>, но мануал довольно обобщённый.</p>
<p>Ничего нового здесь нет и не предполагалось, просто описана методика совместного использования нескольких инструментов разного уровня для создания стабильной эко-системы, не подверженной колебанию настроения пользователя (кто активно использовал easy_install, тот поймёт о чём я). Пост, на первый взгляд, несколько в стороне от заявленной темы блога, но писалось с прицелом на пользователей Debian/Ubuntu и подходы использованные для решения задачи - очень в духе Debian. Любые конструктивные отзывы приветствуются.</p>
Перенос почты из одного аккаунта Gmail в другой2008-11-21T11:49:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-7967271416469936089
<p>Нужно было перенести почту из одного ящика Gmail в другой. Один из них на самом деле в домене на Google Applications, но принципиально это дела не меняет. Метод переноса предельно прост: подключаемся к обоим аккаунтам по IMAP4 и из аккаунта-источника копируем все сообщения, лежащие в папке download в папку upload аккаунта-получателя.</p>
<p>На малых объёмах почты процедуру наверное можно произвести с помощью какого-нибудь почтового клиента. Но мне нужно было перенести несколько тысяч сообщений. Icedove не справился, а Sylhead Claws я решил не настраивать, поскольку быстрее и надёжнее - наскриптовать.</p>
Рекордный аптайм2008-08-22T08:04:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-53377376916738698<p>Сегодня мне придётся потушить машину, которая провела в аптайме 1110 дней.
Жаль, но всё когда-нибудь кончается. Зато обнаружил, что эта машина попала в
top10 по аптайму. Правда всего лишь на 10 место, но тоже достижение.</p>
<p><a href="http://static.uptimebox.ru/articles/20080822/1.png" target="_blank"><img src="http://static.uptimebox.ru/articles/20080822/1-tn.png" alt="скриншот с консоли"></a> <a href="http://static.uptimebox.ru/articles/20080822/2.png" target="_blank"><img src="http://static.uptimebox.ru/articles/20080822/2-tn.png" alt="скриншот с counter.li.org"></a> </p>
<ul>
<li><a href="http://counter.li.org/person/show-automach.php?uniqueid=764724854">информация о машине на counter.li.org</a></li>
<li><a href="http://counter.li.org/reports/uptimestats.php">рекордные аптаймы на counter.li.org</a></li>
</ul>Разница в выводе GNU tar и BSD tar2008-08-19T10:36:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-6939023803940408612<p>Писал скрипт развёртывания web-проекта на сервер, работающий под управлением FreeBSD. Наткнулся на одну фишку, сначала даже не понял в чём дело. BSD tar и GNU tar оказывается по ключу <code>verbose</code> выводят информацию по-разному. Пример. Одна и та же команда:</p>
<pre><code>tar -cvf /dev/null / >/dev/null
</code></pre>
<p>Даёт разный эффект. На GNU-системе (в моём случае Debian, но думаю, что на любом Linux будет так же) вывода нет, всё уходит в <code>/dev/null</code>. На BSD список файлов всё равно выводится. А всё потому, что BSD tar валит информацию по <code>verbose</code> в <code>stderr</code>. Ни объяснений, ни упоминаний по этому поводу в манах не нашел.</p>
Подключение к Корбине через l2tp2008-08-01T11:27:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-6337425229734803990
<p>Некоторое время назад поднимал на Debian Etch подключение через Корбину.
Столкнулся с тем, что вроде информации на тему l2tp много, но так чтобы всё было
debian way и одним куском - нигде. Решил написать свой мануал.</p>
Автоматические обновления с помощью cron-apt2008-02-17T13:53:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-7117115602144284734
<p>Когда количество серверов на поддержке переваливает за второй десяток, поневоле начинаешь думать как бы так сделать, чтобы удобные, но очень скучные <cite>aptitude update && aptitude upgrade</cite> происходили без вмешательства со стороны занятого более творческой работой администратора. В бытность свою молодым джедаем, меня посещала гениальная мысль засунуть эти команды в шедулер. Ничего хорошего из этого, разумеется, не вышло. При желании, конечно, можно написать скрипт автоматизирующий эту задачу, но это уже будет велосипедостроение.</p>
<p>Пакет <a href="http://opalsys.net/software/cron-apt" class="reference">cron-apt</a> представляет собой утилиту, с помощью которой автоматизируется скачивание, а при желании и установка обновлений. Расскажу как я обычно настраиваю его и apt sources.</p>
Вести с полей. Разбираем урожай спама.2008-02-09T15:13:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-31877947101918231
<p>Неожиданно остро встала проблема спама. 500 и более писем в день, из которых фильтром отсеивается большая часть, но с десяток всё равно прорывается. А иногда, видимо когда спамеры придумывают как обходить фильтры, прорывается сразу 3-4 десятка в течение получаса. В общем напрягает. Такое количество сыплется потому, что на меня стоят редиректы системных почтовых ящиков (webmaster, hostmaster, postmaster, abuse) примерно с сотни доменов. Я бы уже и рад перенаправить их в /dev/null, но не привык отступать от RFC. По моему глубокому убеждению, интернет стал таким какой он есть (интероперабельным и глобальным) только потому, что соблюдались RFC. В случае с электронной почтой <a href="http://www.faqs.org/rfcs/rfc2142.html">RFC 2142</a> явно требует существования в каждом домене как минимум адресов postmaster и abuse. Для нежелающих соблюдать это требование, даже придуман <a href="http://rfc-ignorant.org/">специальный чёрный список</a>.</p>
<p>И вообще, отказаться от получения почты только потому, что туда сыплется спам - это не наш путь. Мне, например, гордость не позволяет. В войне со спамерами я не намерен капитулировать.</p>
<p>Один из самых эффективных методов борьбы со спамом, которые я когда-либо видел - это <a href="http://ru.wikipedia.org/wiki/Серый_список">greylisting</a>. Но у него есть неприятный побочный эффект - задержка первой доставки по триплету хост-отправитель-получатель.</p>
Traffic Shaping/Control с помощью Shorewall2007-10-19T11:45:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-4019797705189290241
<p>Есть vpn-сервер. К vpn подключается несколько клиентов. Подключения в течение рабочего времени висят практически постоянно. На том же самом канале, к которому подцеплен vpn-сервер висит десяток пользователей. Всё бы ничего, но один из этих пользователей иногда делает рассылки на несколько сотен адресов (он не спамер, адреса получены вполне легально из опросников клиентов). Мзт-сервер так же является маршрутизатором (что логично) и почтовым сервером (что не очень логично, но так уж получилось). Для пользователя отправка происходит в один момент. Но после этого вся ширина канала забивается smtp-соединениями. Это почтовый сервер спешит доставить почту. Разумеется, по vpn пользователи работать какое-то время не могут.</p>