Рубрика - 'О работе'

Смена имени интерфейса после подключения (Linux)  19.06.2007

Столкнулся с необходимостью привязать имя интерфейса к ip-адресу при входящем подключении VPN.

Нашел вот такое решение:
/etc/ppp/ip-up дописать следующее:
if [ $5 = "remote_ip_addr" ];
then
/sbin/ifconfig $1 down
/sbin/ip link set $1 name iface_name
/sbin/ifconfig iface_name up
fi

P.S. Не надо ругаться, что я не даю никаких разъяснений. Эта запись скорее для себя, чтобы не забыть. Но если у Вас есть вопросы по теме, то я с удовольствием на них отвечу...

Тривиальная задачка — Squid / MySQL / Postfix / Courier-IMAP / ClamAv / SpamAssassin (Linux, О работе)  07.05.2007

Внимание задача:

  1. Авторизация и учет трафика по каждому пользователю
  2. Почтовый сервер и почтовые ящики каждому пользователю
  3. Возможность самостоятельно добавлять пользователей и ящики не обладая специальными навыками
  4. Разумная стоимость решения
  5. Возможность масштабирования
  6. Отсутствие привязки к домену Windows

Внимание решение:
Сервер на базе ОС Linux

  1. Прокси Squid с авторизацией через базу MySQL
  2. SMTP-сервер Postfix с хранилищем данных в базе MySQL и администрированием через веб-интерфейс PostfixAdmin
  3. Фильтрация спама (SpamAssassin) и вирусов (ClamAv)
  4. IMAP-сервер Courier-IMAP с авторизацией через MySQL базу
  5. Веб-интерфейс для работы с почтой с функциями Groupware работающий по с сервером по протоколу IMAP
  6. Инсталляция и настройка всего комплекса обошлась заказчику в 10 т.р. (+ средней мощности персональный компьютер, используемый в качестве сервера)
  7. Масштабирование ограничено лишь фантазией заказчика и аппаратным обеспечением (Celeron 1,8 Ггц/1024 мб оперативной памяти/80 Ггб свободного пространства на жестком диске – хватило без проблем на 200 пользователей)

В дополнение ко всему сделал импорт таблицы логинов и паролей из файла Excel (база пользователей изначально была создана секретарем в экселе). Сейчас дописываю скрипт веб-интерфейса для управления учетными записями доступа к Интернету через прокси-сервер.

Теперь подробнее о том, как я это сделал.
Установку Squid, MySQL и Courier-IMAP я описывать не буду, т.к. она ничем не отличается от установки любого другого ПО в ОС Linux. Для авторизации пользователей использовался squid helper написаный на C (взять можно здесь).
Postfix обязательно должен быть собран с поддержкой MySQL. В процессе настройки main.cf я использовал следующие конфиги связей с mysql (не забудте изменить пароли и логины MySQL пользователя).

Для осуществления фильтрации почты на спам и вирусы необходимо взять скрипт прописав в нем свои пути к clamav и сокету spamd, и указать его в master.cf следующим образом:
smtp inet n - n - - smtpd -o content_filter=clamassassin
clamassassin unix - n n - - pipe
flags=Rq user=clamav argv=/etc/postfix/clamassassin.sh -f ${sender} -- ${recipient}

Основные тезисы я изложил. Дальше писать сейчас не времени.
Если буду вопросы по описанной мной схеме, буду писать более детальное продолжение...

Командировка в столицу (О работе)  23.04.2007

Уж послали так послали. 10, 11 и 12 апреля провел в столице нашей родины. Привез от туда немного фотографий, заряд бодрости и не самую лучшую определенность в том что будет завтра. В целом поездка удалась.

Зарабатывать в Москве можно.  Причем в Москве можно много зарабатывать, но жить там абсолютно расхотелось после поездки. Тем более деньги можно зарабатывать и в Ростове достаточно приятные. 🙂

В последнее время все больше углубляюсь в информационную безопасность и  все больше не люблю майкрософт. Как бы банально это не звучало, но линукс (как серверная ОС) намного гибче и безопасней. Проблемы ИБ это далеко не проблемы конкретной ОС или отдельно взятого приложения, это система, над которой надо постоянно работать совершенствуя её.

MySQL Warning 1052 Column ‘url’ in group statement is ambiguous (Linux)  27.03.2007

Наткнулся на занятную ошибку в MySQL.

Делаем следующий запрос: select sum(size) as size,trim(leading "http://" from substring_index(url,'/',3)) as url from table_name where to_days(date)>=to_days("20070315") and to_days(date)<=to_days("20070331") and user='user' group by url order by size desc;
В системе учета трафика над которой я работаю таким запросов можно увидеть сайты посещенные пользователем за определенный период времени с группировкой по адресу и сортировкой по суммарному объему данных полученных с каждого ресурса.

Получаем ответ без группировки по урлам и с примерно вот таким окончанием: 113 rows in set, 1 warning (21.28 sec)

Рассматриваем проблемму более детально:
mysql> show warnings;
+---------+------+----------------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------------+
| Warning | 1052 | Column 'url' in group statement is ambiguous |
+---------+------+----------------------------------------------+

Причем пару недель назад все работало как часы.
Решение нашел модифицировав запрос таким образом: select sum(size) as size,trim(leading "http://" from substring_index(url,'/',3)) as url_col from table_name where to_days(date)>=to_days("20070315") and to_days(date)<=to_days("20070331") and user='user' group by url_col order by size desc;

Теперь копаюсь в логах и ищу причину начала такого поведения... Если раскопаю, напишу...

Gentoo Portage на Mac OS X — рождение! (Linux)  21.03.2007

Долго ли, коротко ли.....становится постепенно макинтош похож на человека 🙂

В процессе участвуют:
1. Документация с офф.сайта gentoo
2. Достаточно прямые для этого дела руки
3. Желание добиться результата
4. И немного классической музыки... 🙂

Процесс еще идет, но я уже наткнулся на грабли. В процессе компиляции coreutils-6.7-r1 на сборке sha512 процессор ушел в "сотку", а компилятор в петлю. Проблема решилась временной сменой версии компилятора:
# gcc_select 3.3
# emerge  --oneshot --nodeps sys-apps/coreutils
# gcc_select 4.0

Процесс пошел дальше... Если наткнусь еще на какие нибудь грабли, обязательно напишу здесь об этом.

SMTP-авторизация пользователей из MySQL базы (Linux)  20.03.2007

Сейчас наткнулся на документацию о настройке этого чуда и вспомнил как подкидывался пытаясь заставить её работать на одном из сових серверов. Убил больше недели на разнообразные извращения с pam_mysql пока не сделал все намного проще через saslauthd.

Вот статья на которую я наткнулся сегодня

Могу смело рекомендавать связку Postfix + MySQL + Courier-IMAP + ClamAV + Spamassasin всем желающим запустить на своем сервере гибкую почтовую систему. В документации этой не хватает только проверки на вирусы и спам. Если дойдут руки выложу здесь свою схему фильтрации спама и вирусов на почтовом сервере.

Windows Server 2003 SP2 (Windows)  20.03.2007

Microsoft выпустила второй пакет исправлений для Windows Server 2003. Этот сервис пак является кумулятивным, т.е. выключает в себя предыдущий. Поддерживаются разные редакции следующих операционных систем: Windows Server 2003; Windows Server 2003 R2 (32-Bit x86); Windows Server 2003 Service Pack 1; Windows Small Business Server 2003.

Ссылка на скачивание x86 версии
Ссылка на скачивание x64 версии

Скачал и поставил себе x86. Работает вроде стабильно. Ближе к концу недели буду разбираться более деталиьно в нововведениях. Результаты "разборок" буду описывать здесь, если времени хватит.

P.S.
На выходных скорее всего буду в Шахтах. Если есть шахтинцы щелающие получить SP2, но не имеющие возможности скачать, пишите, привезу на болванке.

Mac OS X (Linux)  20.03.2007

Страшнее макинтоша может быть только два макинтоша 🙂
На новой работе у меня как раз два макинтоша: ноутбук и сервер. Ноутбуку я ума дал достаточно быстро. 🙂 Стал с него серфить по инету, сидеть в аське, приучил к нему firefox и thunderbird. Вобщем сделал из него человека, а с маршрутизатором дела идут пока сложнее. Сегодня нашел сносную документацию и теперь хочу прикрутить к нему систему портеджей из Gentoo Linux, потом адаптировать его под хостинг и сделать на нем полноценный фаервол на базе iptables, а не ipfw. Незнаю насколько мои задумки реально осуществить, но буду пытаться.

Если кто нибудь уже делал что либо подобное со своим зверьком, пишите как и чего вам удалось добиться в этом направлении.

Максимум и минимум (О работе)  19.03.2007

В пятницу пока ехал домой (теперь у меня есть масса времени пока я еду домой и на работу) задумался в очередной раз о новой работе и своих приоритетах в отношении неё.

В работе для меня всегда существует:

  • "программа минимум" - минимальные требования руководства, которые необходимо выполнять. Все оставшееся время пускается на саморазвитие, дополнительные заработки и самореализацию в других сферах жизни.
  • "золотая середина" - как правило недостижимое состояние. Баланс между полной выкладкой и "программой минимум". Оставляешь себе достаточно времени на отдых, думаешь о работе только во время рабочего дня, но при этом стараешься стремиться вперед и периодически проявлять инициативу.
  • "программа максимум" - наиболее продуктивное состояние сотрудника. Стремление к совершенству, предложения по автоматизации рабочего процесса, энтузиазм (само собой адекватный), стремление выполнить работу на 200%, постановка себе новых целей и стремление быстрее их осуществить.

По моим наблюдениям люди чаще всего стремяться к наиболее деструктивному для них состоянию - программе минимум. Как можно меньше работать и как можно больше за это получать денег. В моем случае все происходит обычно с точностью наоборот. Не могу сказать что я готов работать бесплатно, но желание побеждать, добиваться результатов и стремление идти вперед обычно преобладают над банальным желание заработать максимальное колличество денег. Хотя с другой стороны работая на хорошо оплачиваемой работе требующей выполнения ТОЛЬКО программы минимум можно благополучно заниматься саморазвитием "на стороне".

Вот такая вот своеобразная дилема в очередной раз стоит передо мной. 🙂