Несколько IP адресов на одном интерфейсе

Новости Комментариев нет

Иногда бывает необходимо повесить на интерфейс несколько IP адресов. Особенно полезно это в период реорганизации ИТ структуры организации, когда одну IP адресацию надо заменить на другую, при этом не прерывая работу сервисов.

К слову в Linux это до жути элементарно:

Read the rest of this entry »

Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong

Внесите свой вклад в борьбу со спамом!

Spam Комментариев нет

Все прекрасно знают, откуда происходит наполнение спаммерских баз Email’ов: из скаченных и отсканированных веб-страниц, из логов мелких продажных хостинг-провайдеров, из ICQ и т.д. Есть просто способ испортить роботов, которые сканируют интернет и вырезают с веб-страниц почтовые адреса.

Программа ниже генерирует старницу, содержащую множество ссылок на несуществующие Email. Если на такую станичку попадер спам-робот, то база спаммера пополниться 500 левыми и заведомо не работающими адресами. Кроме самих адресов на странице будет содержаться ссылки на мнимые страницы, которые робот ломанется скачивать, что в свою очередь будет каждый раз выдавать все новые и новые горы неработающих почтовых адресов (но такое зацикливание не вечно, а ограничено до 1000 страниц).

Чтобы на такие страницы не попали роботы поисковых машин, стоит META тег запрещающих индексирование. Это сделано потому, что, вероятно, спам-робот не обратит вниамние на META, а честный робот поисковика не будет индексировать генерируемый мусор.

Чтобы запустить эту программу, скачайте файл, переименуйте его в какое-нибудь безобидное название, типа userlist.php, и поставьте с главной страницы вашего сайта (или других мест) невидимую ссылку на эту программу. Примерно, поместите такой код:

<a href=”имя_скрипта.php” style=’text-decoration: none’><font color=white>.</font></a>

Особо скрывать ссылку не нужно, пользователи сайта все равно не будут по такой программе ползать – не интересно. Ссылочкой заинтересуются лишь роботы.

Программа очень простая. В начале генерит в среднем 5 ссылок для дальнейших заходов роботом, и ниже выдает в среднем 500 адресов email. Ссылки на саму себя программа выдает в зависимости от текущего дня. Т.е. если сегодня спам-робот выкачает все, то завтра ссылки станут уже другими и робот пойдет по новой. Всего, в течении дня, робот выкачает около 1000 страниц (500 000 адресов за раз).

Примите участие в коллективной атаке спаммерских баз email – разместите скрипт у себя на сайте!

Текст программы:

################################################################################
#
# fake_mail.php
#
# version 1.0, 2002-12-15
#
# (c) Dmitry Borodin, http://php.spb.ru/php/fake_mail.php
#
################################################################################

ini_set("display_errors",1);

// создать согласную
function s() {
$word="qwrtypsdfghjklzxcvbnm";
return $word[mt_rand(0,strlen($word)-1)];
}
// создать гласную
function g() {
$word="euioam";
return $word[mt_rand(0,strlen($word)-1)];
}

// разные последовательности гласных/согласных, которые дают человеко-подобные слова
function name0() { return s().g().s(); }
function name1() { return s().g().s().g(); }
function name2() { return s().g().g().s(); }
function name3() { return s().s().g().s().g(); }
function name4() { return g().s().g().s().g(); }
function name5() { return g().g().s().g().s(); }
function name6() { return g().s().s().g().s(); }
function name7() { return s().g().g().s().g(); }
function name8() { return s().g().s().g().g(); }
function name9() { return s().g().s().g().s().g(); }

// эти "клевые" числа люди любят использовать в адресах email
$cool=array(1,2,5,10,99,100,111,666,1999,2000,2001,2002,2003);

// создать случайное слово
function randword() {
global $cool;
$func="name".mt_rand(0,9);
$func2="name".mt_rand(0,9);
switch (mt_rand(0,10)) {
case 0: return $func().mt_rand(1,99);
case 1: return $func()."-".$func2();
case 2: return $func().$cool[mt_rand(0,count($cool)-1)];
case 3:
case 4: return randpass(mt_rand(3,12));
default: return $func();
}
}

// тоже, но заданной долины из совершенно случайных букв
function randpass($len) {
$word="qwertyuiopasdfghjklzxcvbnm1234567890";
$s="";
for ($i=0; $i<$len; $i++) {
$s.=$word[mt_rand(0,strlen($word)-1)];
}
return $s;
}

// в 33% случаях брать домен из этого списка (случайный домен)
$domain1=array("hotmail.com","microsoft.com","mail.com","imail.com","microsoft.ru");
$d1c=count($domain1);

// в 66% случаях генерить домено случайным образом
$domain2=explode(" ","gs ac af al dz as ad ao ai aq ag ar am aw au at az bs bh bd bb by be bz bj bm bt bo ba bw bv br io bn bg bf bi by kh cm ca cv ky cf td cl cn cx cc co km cg ck cr ci hr hr cu cy cs dk dj dm do tp ec eg sv gq ee et fk fk fo fj fi fr gf pf tf ga gm ge de de gh gi gr gl gd gp gu gt gn gw gy ht hm hn hk hu is in id ir iq ie il it jm jp jo kz ke ki kp kr kw kg la lv lb ls lr ly li lt lu mo mk mg mw my mv ml mt mh mq mr mu mx fm md mc mn ms ma mz mm na nr np nl an nt nc nz ni ne ng nu nf mp no om pk pw pa pg py pe ph pn pl pt pr qa re ro ru rw kn lc vc ws sm st sa sn sc sl sg si sb so za es lk sh pm sd sr sj sz se ch ch sy tw tj tz th tg tk to tt tn tr tm tc tv ug ua ae uk gb us um uy su uz vu va ve vn vi vg wf eh ye yu zr zm zw com edu net mil org gov kp kr la su sk cz");
$d2c=count($domain2);

// Пометка для роботов поисковых машин, что эту страницу нельзя индексировать
echo "\n\n";

// Имя текущего скрипта
$fn=getenv("SCRIPT_NAME");

// выдать 0-10 ссылок (примерно 5 за раз)
$cnt=mt_rand(0,10);
for ($i=0; $i<$cnt; $i++) {
$rnd=randpass(mt_rand(1,3));
$day=date("d_m");
echo "

  • Cool Link! Click here -- $rnd \n";
    }

    echo "

    \n\n\n";

    // выдать 0-1000 email'ов (примерно 500 за раз)
    $cnt=mt_rand(0,1000);
    for ($i=0; $i<$cnt; $i++) {
    $u=randword();
    if (mt_rand(0,2)==0) $d=$domain1[mt_rand(0,$d1c-1)];
    else $d=randword().".".$domain2[mt_rand(0,$d2c-1)];
    echo " $u@$d \n";
    }

    ?>

    Пример запущенного скрипта:

    * http://php.spb.ru/php/fake_mail_demo.php

    Я прекрасно понимаю, что программа весьма примитивна и можно написать лучше. Да, и спаммеры могут создавать защиту от явной накрутки их баз. Но, мне кажется, это будет очень эффективно в первое, достаточно длительное, время.

  • Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong
    Метки: ,

    Модуль full_audit в samba

    Samba Комментариев нет

    Недавно понадобилось постомтреть на samb’e кто куда лазил, удалял, создавал файлы и папки и к своему удевления не обнаружел не чего :(  Но не беда подумав я… полез в гугл и нашол статейку в OpenNET’e

    Ниже описывается настройка samba модуля full_audit, который позволяет увидеть кто и к какому файлу обращался, кто создал, удалил или переименовал конкретный файл или каталог.

    В результате настройки необходимые данные будут записываться в лог-файл /var/log/samba/log.audit. 

    (Настройка производилась в дистрибутиве Debian Etch, версия Samba 3.0.24).

    1. В секцию [global] добавляется строка

            syslog = 0

    Данный параметр устанавливает приоритет сообщений, которые будут направлены в syslog. Чем выше значение, тем большее количество сообщений будет выводиться. Указав значение 0 можно отключить запись сообщений в syslog.

    2. Количество сообщений, записываемых в лог-файлы, для всех VFS модулей может быть задано следующим параметром в секции [global]:

            log level = 0 vfs:2

    3. Если планируется сохранять лог-файлы длительное время, может быть полезным указание параметра

             max log size = 0

    Размер лог-файла задается в килобайтах. При достижении указанного значения файл будет переименован, путем добавления к имени файла расширения .old. Значение 0 отключает проверку размера (в этом случае необходимо самостоятельно позаботиться о размере лог-файла, к примеру, настроив соответсвующим образом logrotate).

    4. Для активации модуля аудита, в секции, которая описывает расшаренный ресурс, добавляется строка

            vfs objects = full_audit

    В результате данные о доступе к файлам будут записываться в syslog, либо в лог-файл по умолчанию (log.smbd). Здесь же, через пробел, могут быть заданы другие VFS модули.

    5. Можно указать дополнительные параметры модулю full_audit.

    Префикс, сообщений в лог-файле:

            full_audit:prefix = %u|%I

    (каждая строка будет начинаться с user|ip_adress)

    Какие ошибки должны отображаться в лог-файле:

            full_audit:failure = none

    (не протоколируем ошибки)

    Действия пользователей, которые записываются в лог-файл (для наглядности текст разбит на строки, в конфигурации нужно переписать в одну строку, убрав “”):

            full_audit:success = connect disconnect opendir mkdir

            rmdir closedir open close read pread write pwrite sendfile

            rename unlink chmod fchmod chown fchown chdir ftruncate lock

            symlink readlink link mknod realpath

    Параметры, позволяющие управлять записью в журналы демоном syslogd:

            full_audit:facility = local5

            full_audit:priority = notice

    Данные два параметра описывают селектор, он обозначает программу (”средство” в терминологии системы syslog), которая посылает регистрационное сообщения и уровень серьезности этого сообщения.

    Прим. Несмотря на опцию syslog = 0, samba направляет сообщения в syslog.

    Возможно в других версиях samba такое поведение будет изменено.

    Последние два параметра модуля full_audit позволят в дальнейшем исключить попадание нежелательных сообщений в журанал syslog.

    Собрав все вместе получим примерно следующее:

            [global]

            …

                    log level = 0 vfs:2

                    max log size = 0

                    syslog = 0

            …

            [incomig]

                    comment = Samba server’’s incoming directory

                    writable = yes

                    locking = no

                    path = /home/samba/incoming

                    public = yes

                    browseable = yes

                    only guest = yes

                    vfs objects = full_audit

                    full_audit:prefix = %u|%I

                    full_audit:failure = none

                    full_audit:success = connect disconnect opendir mkdir rmdir closedir open close read pread write pwrite sendfile rename unlink chmod fchmod chown fchown chdir ftruncate lock symlink readlink link mknod realpath

                    full_audit:facility = local5

                    full_audit:priority = notice

    После перечитывания конфигурации сервисами, строки лог-файла будут

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

            …

            Feb 23 18:13:31 kirill smbd_audit: nobody|192.168.4.2|connect|ok|incoming

            Feb 23 18:13:32 kirill smbd_audit: nobody|192.168.4.2|chdir|ok|chdir|/home/samba/incoming

            Feb 23 18:13:35 kirill smbd_audit: nobody|192.168.4.2|opendir|ok|.

            Feb 23 18:13:35 kirill smbd_audit: nobody|192.168.4.2|closedir|ok|

            Feb 23 18:13:35 kirill smbd_audit: nobody|192.168.4.2|opendir|ok|./

            Feb 23 18:13:48 kirill smbd_audit: nobody|192.168.4.2|opendir|ok|New Folder

            Feb 23 18:13:48 kirill smbd_audit: nobody|192.168.4.2|closedir|ok|

            Feb 23 18:13:48 kirill smbd_audit: nobody|192.168.4.2|rmdir|ok|New Folder

            Feb 24 11:45:10 kirill smbd_audit: root|192.168.4.2|disconnect|ok|incoming

            Feb 24 11:45:10 kirill smbd_audit: root|192.168.4.2|chdir|ok|chdir|/

            …

    7. Дополнительные настройки

    Далее может понадобиться дополнительная настройка демонов syslogd и logrotate.

    (Прим. В данном примере используются sysklogd 1.4.1 и logrotate 3.7.1)

    7.1 В стандартном файле конфигурации syslog.conf демона syslogd имеется строка

            *.*;auth,authpriv.none           -/var/log/syslog

    для того чтобы сообщения модуля full_audit не попадали в syslog, нужно изменить эту строку следующим образом:

            *.*;local5,auth,authpriv.none           -/var/log/syslog

    Чтобы сообщения записывались в заданный файл, нужно добавить в syslog.conf такую строку:

            local5.notice                   -/var/log/samba/log.audit

    7.2 Для того чтобы лог-файл не разрастался, в каталоге /etc/logrotate.d можно изменить соответсвующую секцию конфигурационного файла samba,

    чтобы она выглядела примерно так:

            /var/log/samba/log.smbd /var/log/samba/log.audit {

                    weekly

                    missingok

                    rotate 7

                    postrotate

                            invoke-rc.d –quiet samba reload > /dev/null

                    endscript

                    compress

                    notifempty

            }

    Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong
    Метки: , , , ,

    SWAT для Samba

    Samba Комментариев нет

    Вчера ко мне подошел Юра (по работе) и говорит следующее:
    - Какой-то казёл зашел в конфигуратор (1с) и теперь я не могу попасть туда? Как я могу посмотреть кто сидит на шаре?
    - Впринцепе не как – ответил я и задумался……

    Немного подумав над этой проблемкой нашел решение в виде красивого Веб интерфейса для мониторинга и управлением самой Самбой. Что для Юры вполне сгодится чтоб посмотреть кто присоединен к той или иной базе данных на Шаре для 1с.

    И так для того чтоб поставить SWAT надо всего-то:

    sudo apt-get install inetutils-inetd swat

    Для надёжности перезапустим initd:

    sudo /etc/init.d/inetutils-inetd restart

    Ну и заходим в браузер по ссылке:

    http://ip-host:901

    После чего нас спрашивают логин и пасс. Подходит любой логин от системы.

    Linux foreva =)

    Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong
    Метки: ,

    Фильтрация почты на сервере Postfix при помощи postgrey

    Postfix Один комментарий

    И снова решил немного улучить систему фильтрации спама на работе. Посредством так называемых “Серых списков“.

    Идею о этом дал мой “препод” по Cisco Бурковец Дмитрий.

    “Работает эта технология следующим образом. Есть списки так называемых “белых” почтовых серверов, с которых почта приходит сразу и без проблем. Если почта приходит с незнакомого сервера, то он считается “серым” (grey) и ему сообщается, что мы пока не можем принять его почту – то есть имитируем так называемые временные проблемы приема (tempfail). Расчет идет на то, что по стандарту почтовые роботы после получения подобного отлупа должны повторить попытку доставить письмо. Принимающая сторона обычно ждет какое-то ограниченное время – например, дает отправляемой стороне “окно” в 4 часа. Если за это время вторая попытка не состоится – сервер остается в “черном” списке. Если состоится, то его заносят в “белый” список и больше не проверяют (или не проверяют в течение какого-то срока – например, в течение месяца). Вот и вся система. В чем суть? В том, что почтовые роботы спамеров, как правило, работают по принципу: отправил – а там трава не расти. То есть они не будут перепосылать заново письма со своим чертовым спамом, получив сообщение о проблемах приема.” – сказал Дмитрий.

    Я немного задумался и решил реализовать у себя подоную систему на работе.Темболее такаяже система стоит и у нашего интернет провайдера “Sacura“.

    Нуссс… Приступимссс….

    Устанавливаем саму программу:

    sudo apt-get install postgrey

    Далее мы можем отредактировать конфиги postgrey, они находятся в каталоге /etc/postgrey , там два файла whitelist_clients и whitelist_recipients в первом файле содержится список хостов которым разрешено присылать нам почту без пятиминутной задержки, во втором файле хранятся ящики на которые письма будут так же приходить без всяких задержек.

    Далее отредактируем файл /etc/postfix/main.cf в строке smtpd_recipient_restrictions = добавим в ее конец запятую и check_policy_service inet:127.0.0.1:60000 (также не забудем что обезательно перед словом permit иначе не будет работать).

    Теперь перезапустим postfix и postgrey

    sudo /etc/init.d/postfix reload
    sudo /etc/init.d/postgrey restart

    После этого заглянем в логи, там видны результаты работы postgrey

    Nov 21 11:30:40 server postfix/smtpd[23433]: NOQUEUE: reject: RCPT from wind.pbank.com.ua[xxx.xxxx.xx.xxx]: 450 4.7.1 <xxxxxxxxxxx@mashzavod.com>: Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/mashzavod.com.html; from=<xxxxxxxxxxx@pbank.com.ua> to=<xxxxxxxxxxx@mashzavod.com> proto=ESMTP helo=<wind.pbank.com.ua>

    На этом настройка окончена, можно наслаждаться отсутствием немалой доли спама, результат меня сильно порадовал….

    Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong
    Метки: ,

    Не рабочий TAB

    Bash Комментариев нет

    Давно хотел разобратся с нерабочим табом……..
    Лечицо как всегда просто:

    Как я понял на АМД не хочет баш_комплишн работать без дополнения в .bashrc

    if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi

    ставил раньше на интел – все ок было, ставил на амд, не работало НО теперь буду знать.

    Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong
    Метки:

    Свершилось……

    Новости Комментариев нет

    Наконец-то добрался и до своего персонального блога, а то всё ручёнки не доходили сделать хорошо и красиво :)

    Данный сайт сделан с целью записать то, что я делал – больно уж дырявая память у меня.
    А вообще цель существования данного ресурса – это просто записная книжка и попытка сделать Linux более популярной. Мне нравится эта ОС – надёжная, удобная, быстрая, и самое главное – управляемая. А в частности буду описывать то что я делаю на работе (ООО “Машзавод”), и дома на серверах своей сети Synapsis.

    Google Bookmarks Reddit News2.ru БобрДобр.ru Ваау! Memori.ru МоёМесто.ru Mister Wong
    Метки:
    Designed by AracooL.