Archive

Archive for the ‘Uncategorized’ Category

Exim + Spamooborona + DrWeb

November 3rd, 2009 No comments

Готовим исходники

cd /usr/port/mail/exim
make configure

Скачиваем Спамооборону 1024 и кладем из нее файлик в каталог Local

cp local_scan_1024.c /usr/ports/mail/exim/work/exim-4.69/Local

Добавляем в /usr/ports/mail/exim/work/exim-4.69/Local/Makefile

LOCAL_SCAN_SOURCE=Local/local_scan_1024.c
LDFLAGS += -lz

Устанавливаем exim

cd /usr/ports/mail/exim
make LDFLAGS+=-lz install

Устанавливаем drweb

# cd /usr/ports/security/drweb
# make install clean

Добавляем в /etc/syslog.conf

!drwebd
*.*             /var/log/drwebd.log

Готовим лог

# touch /var/log/drweb.log
# chmod 600 /var/log/drweb.log 
# /etc/rc.d/syslogd restart

Добавляем в crontab

0 4 * * * /usr/local/drweb/update/update.pl

Устанавливаем ключ

# cp drweb32.key /usr/local/etc/drweb/drweb32.key

Добавляем в rc.conf:

drwebd_enable="YES"

Обновляем базы:

# /usr/local/drweb/update/update.pl

Запускаем демона:

# /usr/local/etc/rc.d/drwebd start

Проверяем что все запустилось:

# sockstat -l4|grep drwebd

Создаем EICAR:

# echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar

Проверяем сканер

# /usr/local/drweb/drwebdc -f/tmp/eicar
Results: daemon return code 0x20 (known virus is found)

Настраиваем exim, файл /usr/local/etc/exim/configure

В раздел “MAIN CONFIGURATION SETTINGS” дописываем:

acl_smtp_data = acl_check_content
av_scanner = drweb:127.0.0.1 3000

В раздел “ACL CONFIGURATION” дописываем:

acl_check_content:
deny  message = This message contains malware ($malware_name)
      malware = *
accept

Отчистка почтовой очереди Exim и Postfix

October 31st, 2009 No comments

Exim

Просмотр очереди:

exim -bp

Удаление сообщения:

exim -Mrm {message-id}

Удаление всех сообщений:

exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | bash

Postfix

Просмотр очереди:

postqueue -p

Удаление сообщения:

postsuper -d - {message-id}

Удаление всех сообщений:

postsuper -d ALL

Tags: ,

Обновление FreeBSD с 6.4 до 7.2

October 27th, 2009 No comments

Обновляем исходники через csup до RELENG_7_2, далее команды:

cd /usr/src
make buildworld
make buildkernel KERNCONF=КОНФИГ_ЯДРА
make installkernel KERNCONF=КОНФИГ_ЯДРА
reboot
(в однопользовательский режим: boot -s из командной строки ядра).
mergemaster -p
cd /usr/src
make installworld
make delete-old
mergemaster
reboot
cd /usr/ports/misc/compat6x
make install clean
cd /usr/src
make delete-old-libs

После этого не заведется половина софта ) Пересобираем командой:

portupgrade -afrR
Tags:

Пример авторизации APOP в протоколе POP3

October 20th, 2009 No comments

После включения APOP авторизация в конфиге POP3 сервера, приветственный заголовок меняется с:

+OK Dovecot ready

на

+OK Dovecot ready. <1242d.35.4addd03f.l/6dkmiI0LdHWDh0NNB7xQ==@case.net.ru>

Команда авторизации выглядит следующим образом:

APOP [USERNAME] md5(<1242d.35.4addd03f.l/6dkmiI0LdHWDh0NNB7xQ==@case.net.ru>[PASSWORD])
Tags:

Шпионаж за чужой консолью

September 14th, 2009 No comments

В стандартный состав FreeBSD входит замечательная программа watch(8), которая позволяет подсматривать за чужой консолью.

Всё. что ей для этого необходимо это snp модуль, который достаточно собрать из сурцов а программа сама его подгрузит:
# cd /usr/src/sys/modules/snp/
# make && make install

Теперь выбираем цель:
# w
9:16PM up 55 days, 52 mins, 2 users, load averages: 0.08, 0.06, 0.00
USER TTY FROM LOGIN@ IDLE WHAT
nlo1 p0 nlo.habr.ru 9:06PM – w
nlo2 p1 nlo.habr.ru 9:16PM – -bash (bash)

И подсматриваем за интересной нам консолью(TTY).
# watch p1

Оригинал статьи: http://habrahabr.ru/blogs/nix/69444/

Tags:

Многопоточная обработка с помощью xargs

August 24th, 2009 No comments

Благодаря посту Владимира Бредникова узнал, что xargs благодаря двум ключам помогает организовать многопоточную обработку файлов:

-n X
Ограничивает количество передаваемых вашей программе аргументов. По умолчанию xargs передаёт программе довольно большое число аргументов, поэтому для обработки одного файла за один раз нужно указывать эту опцию.
-P X
Устанавливает количество одновременно выполняемых процессов. По умолчанию xargs запускает только один процесс, но в нашем случае нужно увеличить это число до количества процессоров.

Например, в паре с утилитой find можно в несколько потоков обработать множество картинок, размер которых больше одного мегабайта

$ find ~/Photos -iname '*.jpg' -and -size +1M -print0 | \<br />  xargs -0 -n 1 -P 2 -I'{}' convert '{}' -resize '800x600&gt;' -quality 100 '{}'

P.S. Надо почаще заглядывать в man :)

Оригинал статьи: http://www.propheta.ru/2009/03/xargs.html

Tags:

Управление версиями в Subversion

August 24th, 2009 No comments

Просто мотивирующая заметка о том что сегодня мы разобрались с Subversion, структурами каталогов типа trunk, tags и branches. Настроили свой svn сервер, создали репозиторий, добавили туда проекты.

Полезные ссылки:

Tags:

BCWipe

July 26th, 2009 No comments
BCWipe repeatedly overwrites special patterns to the files to be destroyed.
In normal mode, 34 patterns are used (of which 8 are random).

WWW: http://www.jetico.com/
$ bcwipe
Copyright 2006 Jetico, Inc.
Usage: bcwipe [OPTIONS]... FILE...
Remove with wiping FILE(s).

  -V       output version information and exit
  -md      U.S. DoD seven pass extended character rotation wiping *
  -mg      (default) is 35 pass wiping by Peter Gutmann           **
  -mt      One pass test mode. First 4 bytes of every 512 bytes block
             will contain block number
  -mz      One pass zero wiping
  -m n     U.S. DoD n pass extended character rotation wiping     *
  -n sec   Wait sec seconds between wiping passes. (NAS mode)     ***
  -s       use system random instead of SHA-1
  -p       use random pattern instead of full random
  -v       explain what is being done
  -r       process the contents directories recursively
  -f       force wiping, never prompt        (use with caution)
  -d       do not delete file(s) after wiping
  -b       wipe contents of block devices    (use with caution)
  -S       wipe file slacks
  -F       wipe free space
  -i       prompt before any removal (y/[n]/a)
             y - yes, n - no(default), a - yes for all
  -I       disable interactive prompt
  -h       display this help and exit

*    - U.S. DoD 5200.28 (Department of Defence)
**   - Secure Deletion of Data from Magnetic and Solid-State Memory

http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html

***  - modern enterprise level storage systems (NAS, disk arrays etc.)
       employ powerful caches. To avoid undesirable caching effects
       use this option to insert delay before file deleting.

Report bugs to support@jetico.com
Tags:

Pipe Viewer (pv)

July 26th, 2009 No comments

Pipe Viewer (pv) is a terminal-based tool for monitoring the progress of data through a pipeline. It can be inserted into any normal pipeline between two processes to give a visual indication of how quickly data is passing through, how long it has taken, how near to completion it is, and an estimate of how long it will be until completion.

Author: Andrew Wood
WWW: http://www.ivarch.com/programs/pv.shtml

PV — это сокращенно от pipeviewer, то есть ни много не мало как просмотрщик пайпов. Про эффективность использования пайпов расказывать не буду, ни для кого это не секрет. Единственное, «но» в работе с ними — это то, что набрав команду и нажав Enter часто не хватает самой малости — знать сколько времени займет ее выполнение. Именно cкорость обработки данных и будет нам показывать pv.

Установка:

% cd /usr/ports/sysutils/pv; % make install clean

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

% cat rt94-171-06 | gzip > rt94-171-06.gz

Есть мысли, сколько времени займет эта операция?

Тоже самое при помощи pv

%pv rt94-171-06 | gzip > rt94-171-06.gz 
128MB 0:00:15 [ 9.1MB/s] [=====>.....................] 18% ETA 0:01:07

Наглядно видно, что через пайп за 15 секунд прошло 128Мб — это 18% от всего объема, операция займет еще минуту и 7 секунд.

Может показаться, что pv это такая замена для cat, но на самом деле ее возможности намного шире. Например, упаковываем весь каталог в сжатый архив

%tar -czf - . | pv > out.tgz
21.9MB 0:00:15 [1.47MB/s] [...<=>.....................]

Уже неплохо, но хочеться большего, чтобы показывалось время окончания работы. Для этого всего лишь надо при помощи ключа -s передать pv размер каталога в байтах

%tar -czf - . | pv -s $(du -sb | grep -o '[0-9]*') > out.tgz
44.3MB 0:00:27 [1.73MB/s] [>..........................] 0% ETA 13:36:22

Можно так же составлять команды из несколько копий pv.

%tar -cf - . | pv -cN tar -s $(du -sb | grep -o '[0-9]*') | gzip | pv -cN gzip > out.tgz
tar: 97.1MB 0:00:08 [12.3MB/s] [>......................] 0% ETA 1:50:26
gzip: 13.1MB 0:00:08 [1.6MB/s] [....<=>................]

Ключ -c нужен, чтобы несколько копий pv не выводили информацию друг поверх друга. Ключ -N дает имя шкале.

Ну и под конец забавный пример с одного англоязычного блога о Линуксе

%pv /dev/urandom > /dev/null
18MB 0:00:05 [ 3,6MB/s] [...<=>............................]

Оригинал статьи: pv — маленькая, но очень полезная утилита

Tags:

Настройка DHCP сервера для APC AP9617

July 24th, 2009 No comments

ap9617

Имеется:

  • APC Smart UPS 1000 XL
  • Плата управления APC AP9617

Задача: необходимо присвоить IP-адрес плате управления с помощью DHCP-сервера. Особенность в том что AP9617 принимает DHCP запросы только если в них установлен определенный флаг. Так же необходимо что бы DHCP сервер выдавал IP-адрес только платам управления.

Решение:

option space APC;
option APC.cookie code 1 = string;
class "APC" {
    match if substring (option vendor-class-identifier,0,3) = "APC";
    vendor-option-space APC;
    option APC.cookie "1APC";
}
 
subnet 192.168.0.0 netmask 255.255.255.0 {
    option subnet-mask 255.255.255.0;
    option routers 192.168.0.1;
    default-lease-time 30;
    max-lease-time 30;
 
    pool {
        range 192.168.0.100 192.168.0.110;
        allow members of "APC";
    }
}
Tags: