ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архивные статьи в категории ‘Программы’

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

Участились вопросы по сабжу.

Случается, что сетевая карта в серваке на FreeBSD ну никак не хочет подниматься и вязаться со свичем. Или случаются ситуации когда на порту свича full-duplex, а на сетевой карте FreeBSD его нет и соответственно работает half-duplex, что приводит к ошибкам и потерям. Для исправления ситуации можно попробовать жестко задать скорость и дуплекс.

Рассмотрим метод ручного задания режимов, что приведет к отключению autoselect режима.

Все выполняется командой ifconfig с использованием опций:

  • media — задает скорость
  • mediaopt — задает дуплекс

Посмотрим состояние сетевой карты em0 ДО изменений:

/sbin/ifconfig em0

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:02:a5:4e:92:48
inet 172.16.10.14 netmask 0xffffff00 broadcast 172.16.10.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

Видим что на карте, по умолчанию, работает autoselect.

Принудительно поставим 100baseTX и full-duplex на сетевой карте с именем em0:

/sbin/ifconfig em0 media 100baseTX mediaopt full-duplex

Посмотрим что получилось:

/sbin/ifconfig em0

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:02:a5:4e:92:48
inet 172.16.10.14 netmask 0xffffff00 broadcast 172.16.10.255
media:  Ethernet 100baseTX <full-duplex>
status: active

Видим, что теперь жестко выставлено 100baseTX и full-duplex.

В случае с гигабитными линками команда ессно та же, но скорость другая:

/sbin/ifconfig em0 media 1000baseTX mediaopt full-duplex

Для того, чтобы после ребута выставленная руками скорость и дуплекс оставались, необходимо внести это в /etc/rc.conf:

ifconfig_em0=»inet 172.16.10.14 netmask 255.255.255.0 media 100baseTX mediaopt full-duplex»

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Николаев Дмитрий (virus (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

Jabber ( болтовня, трёп) — система для быстрого обмена сообщениями и информацией о присутствии (в контакт-листе) между любыми двумя пользователями Интернета на основе открытого протокола XMPP.
В наше время, стал очень распространён протокол обмена сообщениями — Jabber. Сейчас я расскажу, как установить собственный Jabber-сервер на FreeBSD при помощи OpenFire.

Итак, поехали…

1. Для начала устанавливаем из портов сервер OpenFire:

cd /usr/ports/net-im/openfire
make install clean

Если в процессе инсталляции программа установки попросит Вас загрузить дополнительное ПО — загрузите, иначе, программа может начать работать неправильно или не будет работать вообще.

2. Подготовка:

Если инсталляция прошла успешно (а она должна пройти успешно), смело приступайте к запуску сервера:
Для начала нужно добавить следующую строку в /etc/rc.conf:

openfire_enable=”YES”

3. Запускаем:

/usr/local/etc/rc.d/wildfire start

Затем проверяем, загрузился ли он:

/usr/local/etc/rc.d/wildfire status
The daemon is running.

Если всё нормально, открывайте браузер и соединяйтесь с сервером (если он не локальный, на его внешний IP-адрес) на порт 9090, или подключаемся 127.0.0.1:9090 (если он локальный).
Находим строку «Domain» и вводим имя домена, на котором будет располагаться Jabber-сервер (можно ввести IP-адрес вашего сервера)
В качестве СУБД выбираем «Embedded DataBase» (хотя можно установить и выбрать другую СУБД)
Раз всё закончено жмём «Continue» и вводим пароль администратора Jabber-сервера.

4. Добавляем пользователей:

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

Для начала переходим по ссылке «Registration & Login», тут нужно выбрать могут или нет пользователи самостоятельно создавать аккаунты. Для добавления пользователей переходим в раздел «Users/Group». Для создания нового пользователя щёлкаем по «Create New User». Для создания новой группы щёлкаем по «Create New Group».

Ну думаю всё основное уже ясно. Удачи.

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: souriz
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 6, среднее: 4,33 из 5)
Загрузка...
Отправить на почту Отправить на почту

Очень часто у новичков возникает вопрос:

«Что нужно настроить на Cisco Catalyst с нуля?»

или встречается запрос в google:

«Скачать дефолтовый конфиг для Cisco Catalyst»

или

«catalyst 2960 2950 3560 ip адрес по умолчанию»

или

«как настроить cisco catalyst «

Попробую немного помочь этим людям 🙂

  1. Дефолтовых конфигов не бывает, т.к. у каждого своя сеть и свои «правила»
  2. Нету у Cisco IP-адреса по умолчанию (это же не Dlink), все настраивается ручками и сначала через консоль.

Итак, попробуем разобраться в том, что желательно настроить на нулевом Cisco Catalyst ?

Например, часто встречающиеся:

  • Cisco Catalyst 2950
  • Cisco Catalyst 2960
  • Cisco Catalyst 3550
  • Cisco Catalyst 3560
  • Cisco Catalyst 3560G

Я использовал Cisco Catalyst 3560G

0. Подключаемся к cisco по консольному кабелю через com порт:

FreeBSD через com порт:

cu -l /dev/cuad0

FreeBSD через переходник USB->Com:

  • kldload uplcom.ko
  • kldstat | grep uplcom (убедиться что подгрузился)
  • подключить переходник к USB порту
  • cu -l /dev/cuaU0

в Windows можно использовать Hiper Terminal для подключения к com порту

1. Зададим пароль на enable режим

Switch> enable

Switch# configure terminal

Switch(config)# enable password my-secret-password

2. Установим пароль для входа по telnet

Switch(config)# line vty 0 15

Switch(config-line)#password my-telnet-password

3. Сразу разрешим вход по telnet

Switch(config-line)# login

Switch(config)# exit

4. Зашифруем пароли, чтобы по sh run они не показывались в открытом виде

Switch(config)# service password-encryption

5. Зададим имя девайсу, например будет c3560G

Switch(config)# hostname c3560G

6. повесим / присвоим IP-адрес нашему девайсу

c3560G(config)# interface vlan 1

c3560G(config-if)# ip address 192.168.1.2 255.255.255.0

c3560G(config-if)# exit

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

c3560G(config)# no ip domain-lookup

8. Зададим имя домена

c3560G(config)# ip domain-name my-domain.ru

9. Зададим IP-адрес DNS сервера

c3560G(config)# ip name-server 192.168.1.15

10. Зададим время

если у вас есть доступный NTP сервер

c3560G(config)# ntp server 192.168.1.1 version 2 source vlan 1

c3560G(config)# ntp clock-period 36029056

c3560G(config)# ntp max-associations 1

где 192.168.1.1 — это IP-адрес NTP сервера

а используя «добавку» source vlan вы можете четко задать номер vlan с IP которого будет отправляться NTP запрос

если нет NTP сервера, то можно задать время вручную, но для этого придется выйти из режима конфигурирования

c3560G(config)# exit

c3560G# clock set 20:00:50 23 Aug 2008

11. Зададим переход с зимнего на летнее время и наоборот

c3560G# configure terminal

c3560G(config)# clock timezone MSK 3

c3560G(config)# clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00

12. Сделаем так, чтобы по команде show logging отображалось нормальное время, а не кол-во дней и т.п.

c3560G(config)# service timestamps log datetime localtime

13. Зададим дефолтовые настройки сразу всем портам на девайсе (у меня catalyst 24 порта + 4 SFP)

c3560G(config)# interface range gi 0/1 — 28

c3560G(config-if-range)# description not_used

c3560G(config-if-range)# shutdown

c3560G(config-if-range)# no cdp enable

c3560G(config-if-range)# switchport nonegotiate

c3560G(config-if-range)# switchport mode access

c3560G(config-if-range)# exit

Рекомендую: все неиспользуемые порты держать выключенными, а ещё лучше создать влан (например 999) и все выключенные порты переместить в него:

c3560G(config)# vlan 999

c3560G(config-vlan)# name unused_ports

c3560G(config-vlan)# shutdown

c3560G(config-vlan)# exit

c3560G(config)# interface range gi 0/1 — 28

c3560G(config-if-range)# description not_used

c3560G(config-if-range)# shutdown

c3560G(config-if-range)# no cdp enable

c3560G(config-if-range)# switchport nonegotiate

c3560G(config-if-range)# switchport access vlan 999

c3560G(config-if-range)# switchport mode access

c3560G(config-if-range)# exit

14. Выключим web-интерфейс, командная строка рулит 😉

c3560G(config)# no ip http server

15. Зададим gateway по умолчанию (допустим это будет 192.168.1.1, т.к. мы присвоили девайсу IP 192.168.1.2/255.255.255.0)

c3560G(config)# ip default-gateway 192.168.1.1

16. Если этот свич будет моддерживать маршрутизацию (будет router`ом), то включим функцию маршрутизации (если это позволяет сам девайс и его прошивка)

3560G прекрасно справляется с функцией маршрутизации

c3560G(config)# ip routing

c3560G(config)# ip classless

c3560G(config)# ip subnet-zero

17. Если вы выолнили пункт 16-ть, то снова необходимо задать gateway по умолчанию, но уже другой командой

c3560G(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1

18. Настроим access-list для доступа к свичу только с определенных IP-адресов

c3560G(config)# ip access-list standard TELNET

c3560G(config-std-nacl)# permit 192.168.1.1

c3560G(config-std-nacl)# permit 192.168.1.15

c3560G(config-std-nacl)# exit

19. Применим этот access-list

c3560G(config)# line vty 0 15

c3560G(config-line)# access-class TELNET in

20. Зададим timeout неактивности telnet сессии, по истечении указанного времени, если вы в консольке ничего не вводили, то telnet соединение будет автоматически закрываться

c3560G(config-line)# exec-timeout 5 0

c3560G(config-line)# exit

21. Включим SNMP, но только read only (RO) и доступность только с хоста 192.168.1.1

c3560G(config)# snmp-server community RO-MY-COMPANY-NAME RO

c3560G(config)# snmp-server trap-source Vlan1

c3560G(config)# snmp-server source-interface informs Vlan1

c3560G(config)# snmp-server location SWITCH-LOCATION

c3560G(config)# snmp-server contact my-email@my-domain.ru

c3560G(config)# snmp-server host 192.168.1.1 RO-MY-COMPANY-NAME

c3560G(config)# exit

22. Ну и наконец сохраним свои труды

c3560G# copy running-config startup-config

или можно проще и короче 🙂

c3560G# wri

Море документации по catalyst`ам, и не только по ним, вы можете найти, ессно, на сайте производителя: www.cisco.com

23. Если хочется включить на девайсе ssh, чтобы подключаться к cisco по ssh (если это позволяет установленный IOS), то выполним следущее:

а) Обязательно указываем имя домена (необходимо для генерации ключа) см. пункт 8.

б) cisco(config)# crypto key generate rsa

в) cisco(config)# line vty 0 15

г) cisco(config)# transport preferred none

д) cisco(config)# transport input ssh

е) cisco(config)#transport output ssh

Подробнее по настройке ssh: Configuring Secure Shell on Routers and Switches Running Cisco IOS

24. Устранение критической уязвимости в коммутаторах Cisco, которой подвержен Smart Install (работает по TCP порт 4786).
cisco(config)#no vstack
Затем убедиться что сиё зло отключилось, команда:
cisco#show vstack config

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Николаев Дмитрий (virus (at) subnets.ru)
Configuring Secure Shell on Routers and Switches Running Cisco IOS
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 18, среднее: 4,83 из 5)
Загрузка...
Отправить на почту Отправить на почту

FreeBSD сервера используют не только как роутеры, но и нередки те случаи, когда их используют для поднятия web серверов и в основном используют MySQL в качестве Базы Данных.

Раз используется база данных значит перед вами встанет задача в её бекапа (database backup).

Как сделать бекап базы данных ? В этой статье я постораюсь «пролить свет» на этот вопрос.

Пример perl скрипта который сдампит (dump) (сохранит) указанные вами БД, при этом каждая таблица этих БД будет в отдельном файле.

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

/usr/ports/databases/p5-DBD-mysql40/
/usr/ports/databases/p5-DBD-mysql41/
/usr/ports/databases/p5-DBD-mysql50/
/usr/ports/databases/p5-DBD-mysql51/
/usr/ports/databases/p5-DBD-mysql60/

#!/usr/bin/perl

use DBD::mysql;

#Задаем вывод дебага, значения: 0 или 1
my $debug=0; 

#Перечисляем названия баз для бекапа
my @databases=("blog","mydb","mysql");
#Аутентификационные данные для коннекта к серверу sql
my $host="localhost";
my $user="root";
my $password="root-password";
my $port="3306";
#Путь до программы mysqldump
my $sqldump_path="/usr/local/bin/mysqldump";
#В какую папку кладем бекапы
my $backup_dir="usr/backup/sql-tables";

$mkdir=0;
my $dtime=`date +%Y-%m-%d/%H`;
chomp($dtime);
for ($i=0;$i<@databases;$i++){
    my $bdir=sprintf("%s/%s/%s",$backup_dir,$databases[$i],$dtime);
    opendir(D,$bdir) or $mkdir=1 ;
    closedir(D);
    if ($mkdir){
         #Если папки, куда будет положен бекап, ещё не существует - создать её
        `/bin/mkdir -p $bdir`;
    }
    $bdir[$i]=$bdir;
}

$scr_st_date=`/bin/date "+%d.%m.%Y %H:%M:%S"`;
chomp($scr_st_date);
if ($debug){print "Script starting at: $scr_st_date \n\n";}
my $cs;
#Задаем кодировку для указанной базы, если не указать по умолчанию будет кодировка cp1251
%charset=("blog"=>"utf8");

for ($i=0;$i<=$#databases;$i++){
    $db=$databases[$i];
    if (!exists($charset{$db})){
        $cs="cp1251";
        $qc=mys("set names cp1251",$dbh);
        $qc2=mys("SET character_set_client = cp1251;",$dbh);
    }else{
        $cs=$charset{$db};
    }
    print "DB: $db [$cs]\n";

    my $dsn = "DBI:mysql:database=$db;host=$host;port=$port";
    my $dbh = DBI->connect($dsn, $user, $password);

    #Узнаем, из каких таблиц состоит данная база
    $q=mys("SHOW TABLES",$dbh);
    while (@t=$q->fetchrow){
        if (!exists($no_backup{$t[0]})){
            if ($debug){
                print "DB $db => $t[0]\n";
                print "$t[0]\n$sqldump_path --host=$host --port=$port --user=$user -p$password --opt $database[$i] $t[0] > $bdir[$i]/$t[0].sql\n";
            }
            `$sqldump_path --host=$host --port=$port --user=$user -p$password --default-character-set=$cs --opt $db $t[0] > $bdir[$i]/$t[0].sql`;
            if ($debug){print "Done\n";}
        }
    }

}

#Функция для обращения к sql серверу
sub mys {
        my $q=shift;
        my $dbh=shift;
        my $a;
        $a = $dbh->prepare($q);
        $a->execute;
        return $a;
    }

$scr_ed_date=`/bin/date "+%d.%m.%Y %H:%M:%S"`;
chomp($scr_ed_date);
if ($debug){print "Script end at: $scr_ed_date \n\n";}

После отработки скрипта, в папке указанной в переменной $backup_dir, появится папка с названием базы, а в ней папка с текущий_год-текущий_месяц-текущий_день/текущий_час

Например: /usr/backup/sql-tables/blog/2008-08-23/16

Импортируем данные из бекапа в базу, на примере БД blog:

Создаем пустую базу blog, а затем выполняем скрипт:

#!/usr/bin/perl
#Задаем путь к нужному бекапу
my $srclogdir='/usr/backup/sql-tables/blog/2008-08-23/16';
#Задаем название базы
my $db="blog";
#Аутентификационные данные для коннекта к серверу sql
my $user="root";
my $pass="root-password";
#Задаем расширение искомых файлов
my $filemask='.sql$';

opendir DIR,$srclogdir or die "Can't open logdir\n";
my @f=grep /$filemask/, readdir DIR or print "Can't read logdir\n";
closedir DIR or print "Can't close logdir\n";
@f=sort @f;
for ($i=0;$i<=$#f;$i++){
    $f[$i]=~s/\.sql$//;
    #Импортируем найденные .sql файлы в нашу базу
    $tmp=sprintf "mysql -u %s --password=%s -e \"use %s; set names utf8; source %s/%s.sql;\"",$user,$pass,$db,$srclogdir,$f[$i];
    print "$tmp\n";
   `$tmp`;
}

Заметка:
1. Не забудьте после создания скриптов сделать их исполняемыми !

пример корманды: chmod a+x /path/to/backup-sql-script.pl

2. Скрипт можно поставить в cron, чтобы бекап делался автоматически 😉


Удачного вам бекапа !

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Николаев Дмитрий (virus (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

Вступление

Одна из самых активных угроз, с которыми мы сталкиваемся сегодня на Интернете — кибер преступления.

Преступники постоянно выдумывают все более и более искушенные средства для получения прибыли от преступной деятельности. Одно из таких средств Fast flux.

Fast flux это botnet с большим количеством зомби машин которые используются для сокрытия фишинга, сайтов распространяющих вредоносные программы, а так же для массовых рассылок электронных писем (spam) и DDoS атак.

Как работает Fast flux (вкратце)

Fast-flux основывается на DNS, когда один домен «откликается» на множественные IP-адреса.

Например домен pill-us.com:

nslookup pill-us.com

Name: pill-us.com
Address: 24.90.114.185
Name: pill-us.com
Address: 59.149.201.184
Name: pill-us.com
Address: 68.144.184.77
Name: pill-us.com
Address: 77.41.123.70
Name: pill-us.com
Address: 78.107.250.1
Name: pill-us.com
Address: 79.111.8.130
Name: pill-us.com
Address: 79.111.18.116
Name: pill-us.com
Address: 79.111.75.16
Name: pill-us.com
Address: 79.113.25.52
и т.д.

Список IP адресов связанные с именем домена может меняться каждые 5-ть секунд. Таким образом данный домен постоянно остается online и когда Ваш браузер заходит по адресу данного домена, то он, по сути, соединяется с одной из бот-машин (зараженный компьютер). Так же злоумышленники проверяют бот-машины на доступность и полосу пропускания интернет канала, чтобы более эффективно использовать данные компьютеры.

Графические примеры работы:

Fast-flux сети представляют реальную угрозу, т.к. количество зараженных машин исчисляется сотнями тысяч. Для провайдеров (ISP) это дополнительная нагрузка на каналы и оборудование, спам из их сети, а значит и проблемы с внешними спам-листами.

Более подробно, о Fast flux можно прочесть на сайтах:

Как бороться ?

Найти домен относящийся к Fast-flux сети можно из приходящего к вам спама. Достаточно сделать DNS запрос по имени сайта указанного в письме. Если сайту соответствует множественные IP-адреса и они постоянно меняются, то вы нашли то, что искали.
Составте список таких доменов и с помощью небольшого perl скрипта можно искать бот-машины в своей сети. Техника работы скрипта проста. Он читает список доменов из файла и делает DNS запросы по каждому их них, собирает DNS ответы и если обнаруживает указанные вами IP-адреса шлет вам e-mail сообщение. Как только достигнут конец файла с именами доменов скрипт «засыпает» на 60 секунд и процесс начинается сначала.

Есть скрипты с использованием базы данных: http://honeynet.org.au/release/Tracker-V1.1.zip

Так же рекомендую посетить http://www.malwaredomains.com чтобы пресечь распространение вредоносных программ (Malware) используя Domain Blocking (Black Hole DNS).

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 4,33 из 5)
Загрузка...
Отправить на почту Отправить на почту