пятница, 18 мая 2012 г.

Скриптовая замена fail2ban для Mikrotik.

Взято отсюда: http://wiki.mikrotik.com/wiki/Bruteforce_login_prevention_(FTP_%26_SSH)

ip firewall filter

add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
comment="drop ssh brute forcers" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \
address-list-timeout=1h comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \
address-list-timeout=20s comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \
action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=20s comment="" disabled=no

add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \
address-list=ssh_stage1 address-list-timeout=20s comment="" disabled=no

Динамически банит IP на 1 час

Сброс к заводским настройкам Mikrotik (RB751).

Взято отсюда: http://sysadminblog.ru/mikrotik/2011/08/18/kak-sbrosit-nastroyki-mikrotik-750rb.html
нужно на выключенном Mikrotik удерживать reset, потом включить питание и продолжать удерживать reset пока не замигает act.

воскресенье, 22 апреля 2012 г.

Прошивка BIOS из Ubuntu (утилита flashrom)

Основной порядок действий взят отсюда: http://kubuntu.ru/node/3257

Предварительно получаем информацию о "железной" части материнки:
sudo biosdecode
sudo apt-get install hwinfo
sudo hwinfo --bios | less
sudo dmidecode --type bios
sudo lshw
Сохраняем настройки BIOS - они хранятся в NVRAM:
sudo modprobe nvram
sudo dd if=/dev/nvram of=/home/путь_к_каталогу_сохранения/BIOS_GA-MA78G-DS3H/bios_cfg.bin
Собираем или устанавливаем из репозитория flashrom.
Запускаем его для сбора информации о материнке:
sudo flashrom
Скачиваем с официального сайта обновленные прошивки (там exe файлы, но это просто архивы). В моем случае непосредственно файл прошивки назывался MA78GD3H.F8
Бэкапим старую прошивку:
sudo flashrom -r /home/путь_к_каталогу_сохранения/BIOS_GA-MA78G-DS3H/2012-04-16-1-oldBIOS.bin -c SST25VF080B
(-c SST25VF080B - код чипа, полученный при сборе информации flashrom'ом).
Записываем новый код BIOS:
sudo flashrom -Vw MA78GD3H.F8
После перезагрузки смотрим, все ли в порядке...

пятница, 30 марта 2012 г.

Подключение машин Virtual Box к виртуальному свичу VDE

После установки свича в систему (Ubuntu)
sudo apt-get install vde2
создаем конфигурационный файл для портов на свиче, например, такой:
vim vde_switch1.cfg

port/create 1
port/create 2
port/create 3
port/create 4
port/create 5
port/create 6
vlan/create 2
vlan/create 3
port/setvlan 1 2
port/setvlan 2 2
port/setvlan 3 2
port/setvlan 4 2
port/setvlan 5 3
port/setvlan 6 3

здесь создаются 6 портов, 2 VLAN'а и эти порты раскидыватся 4 порта на 2й ВЛАН и 2 порта на 3й
порты не тегированные (в терминах cisco - это switchport access vlan 2 ... vlan 3 порты).

Свич можно запустить, например, такой командой (не требует спец прав):
vde_switch -s /tmp/switch1 -f /home/mik17/VDE/vde_switch1.cfg
указанные в файле команды можно вводить в консоли свича (приглашение vde$)

На сетевых интерфейсах виртуальных машин Virtual Box настраиваем:
Attached to: Generic Driver
Name: VDE
Advanced
...
Generic Properties: network=/tmp/switch1[1]
где network=/tmp/switch1 путь к запущенному VDE свичу, а [1] - номер порта

!ВАЖНО! Перед стартом виртуальных машин необходимо создать ссылку на библиотеку подключения VDE, иначе будет выведена примерно такая ошибка:
rtldrNativeLoad: dlopen('libvdeplug.so', RTLD_NOW | RTLD_LOCAL) failed: libvdeplug.so: cannot open shared object file: No such file or directory
Исправляется так:
sudo ln -sf /usr/lib/libvdeplug.so.2 /usr/lib/libvdeplug.so

четверг, 29 марта 2012 г.

TinyCore SSH сервер

Устанавливаем из консоли штатной утилитой OpenSSH сервер:
ab openssh
в выборе (у меня он был единственный) указываем номер нужного пакета (1)
будет выведена информация о пакете (версия, описание и пр.), выходим из этого экрана - q
Предложение на установку - i
пакет будет скачан с настроенного зеркала, зависимости разрешаются автоматически.
После окончания установки снова попадем на приглашение к установке - из него выходим - q
Проверяем, что демон попадает в автозагрузку
cat /mnt/sda1/tce/onboot.lst (должна быть запись openssh.tcz)
Копируем из примера конфигурационный файл
sudo cp /usr/local/etc/ssh/sshd_config.example /usr/local/etc/ssh/sshd_config
Стартуем сервис, при этом будут сгенерированны ключи
sudo /usr/local/etc/init.d/openssh start
Чтобы при перезагрузке не затирались наши правки, добавим каталог с настройками SSH в файл
/opt/.filetool.lst
строка - /usr/local/etc/ssh
Для запуска сервиса при старте системы добавляем запись в
/opt/bootlocal.sh
строка - /usr/local/etc/init.d/openssh start
Бэкапим всю конфиграцию (для сохранения изменений при перезагрузке)
/usr/bin/filetool.sh -b

TinyCore добавление пользователей (sudoers)

Для добавления пользователей необходимо защитить от изменений файлы каталога /etc
в файл /opt/.filetool.lst добавляем строки
/etc/group
/etc/passwd
/etc/shadow
/etc/sudoers
Добавляем пользователя, которому позднее будут предоставлены права sudoer'а
sudo adduser -h /home/mik17 mik17
указываем для него пароль
Создадим пользователя, например, для запуска сервисов quagga
sudo adduser -D -H -s /bin/sh quagga
-D - не задается пароль
-H - не создается домашний каталог
-s - задается командная оболочка (login shell)
Наделяем пользователя mik17 большими правами
sudo visudo
добавляем строки
mik17 ALL=(ALL) ALL
сохраняем (стандартно для vi- Esc :wq)
Не забываем бэкапить все сделанные изменения
/usr/bin/filetool.sh -b

Удаление SSH сигнатуры (отпечатка) при строгой настройке проверки подлинности сесии.

При смене ключей или при миграциях сервисов, когда на адрес с имеющейся сигнатурой переезжает другой сервак с SSH доступом, возможно такое сообщение от клиента:
**:~$ ssh IP
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
***
Please contact your system administrator.
Add correct host key in */.ssh/known_hosts to get rid of this message.
Offending key in */.ssh/known_hosts:10
RSA host key for IP has changed and you have requested strict checking.
Host key verification failed.
Так как мы точно уверены, что никакой MITM атаки нет, нужно затереть ненужную строку (некоторые советуют вообще удалить файл known_hosts, но это не тот метод...).
Для удаления строки (в данном случае, это 10я запись в файле - */.ssh/known_hosts:10) достаточно:
sed -i "10 d" ~/.known_hosts
Позже при первом удачном входе, нужная сигнатура будет добавлена.