Архив рубрики: OpenBSD

Блокируем подбор паролей в pf стандартными средствами

PF — очень мощный инструмент и в его арсенале имеются штатные средства для блокировки паролей. И так нужна такая конструкция:

table <badhosts> persist
...
block drop in quick on $ext_if from to any label "ssh bruteforce"
block drop out quick on $ext_if from any to label "ssh bruteforce"
...
pass in quick on $ext_if proto tcp from any to ($ext_if) port 22 flags S/SA keep state (max-src-conn-rate 1/60, overloadflush global)

Читать далее

Динамические библиотеки

Если у ваш бинарник пишет, что не может найти библиотеку, а она физически есть — выход один, путь к библиотеке не прописан. И так: как быть и что делать?

1) Проверка

#ldd /usr/local/bin/exim:
        Start    End      Type Open Ref GrpRef Name
        1c000000 3c039000 exe  1    0   0      /usr/local/bin/exim
        0301f000 23028000 rlib 0    2   0      /usr/lib/libm.so.7.0
        0cbba000 2cbbf000 rlib 0    1   0      /usr/lib/libwrap.so.4.0
        02974000 22a53000 rlib 0    1   0      libiconv.so.6.0 => not found

как видим, для бинарника exim требуется библиотека libiconv.so.6.0, которую он не может найти.

Читать далее

abort trap

Если это сообщение появляется при запуске приложений, таких как ls, top, ps и других, то это значит, что кто-то заменил бинарники их исходниками. Проще говоря, при распаковке папки src.tar.bz2 она была распакована не в /usr/src, а в /usr.

Решение: с рабочей системы скопировать (можно по scp, она кстати будет работать) все бинарники в папку /bin, /usr/bin, /usr/sbin.

Группируем интерфейсы в файерволах

Предположим, вам нужно будет создать одно правило для целой кучи интерфейсов вида int0, int1, …, intN, … Создавать на каждый интерфейс отдельное правило — слишком сложно, а если на каждый интерфейс не одно правило, а интерфейсов 20 или 100? на помощь приходят записи для группировки. И так, будет рассмотрены варианты для разных файерволов (для примера взяты интерфейсы tun0, tun1, …).

Читать далее

wd4, wd5, … или заставляем видеть больше 4 дисков

Тестовый стенд: OpenBSD 5.0 i386

По умолчанию доступно максимум только 4 диска:

#fdisk wd4
fdisk: wd4: No sush file or directory

Но что делать, если нужно больше? Точнее, диски увидяться все, но доступны через файлы устройств (/dev/wdX) будут только первые 4. Выход из этой ситуации есть — нужно создать файлы устройств. Создадим wd4 и wd5:

#cd /dev && /dev/MAKEDEV wd4 && /dev/MAKEDEV wd5

NAT, redirect => nat-to, rdr-to

В OpenBSD начиная с версии 4.7 убраны привычные конструкции nat/rdr (при использовании старых конструкций генериться ошибка). Теперь вместо них используются такие:

— RDR

pass in on $ext_if proto tcp from any to $ext_if port 5555 rdr-to 192.168.1.100 port 3389

— NAT

pass out on $ext_if proto tcp from 192.168.0.0/24 to any nat-to $ext_if

В ранних реализациях можно было применять обе конструкции.

Вот ещё небольшие дополнения

  • nat-to, rdr-to, binat-to заменяют nat, rdr и binat
  • route-to, reply-to, dup-to и fastroute теперь включены в filteropts

Пример.

Было

pass in on $ext_if route-to (em1 192.168.1.1) from 10.1.1.1
pass in on $ext_if reply-to (em1 192.168.1.1) to 10.1.1.1

Стало

pass in on $ext_if from 10.1.1.1 route-to (em1 192.168.1.1)
pass in on $ext_if to 10.1.1.1 reply-to (em1 192.168.1.1)

Примечание.

Учитывая, что правила NAT’a теперь могут идти в перемешку с остальными правилами, могут возникнуть проблемы, когда адреса не будут NAT’ится, так как они сработали на другом правиле. Поэтому, либо писать правила NAT’a в самом вверху и с ключевым словом quick, либо в самом низу и без него. Так же, будьте внимательны при составлении правила NAT.

Определяем системное железо: память, процессор, swap

Как быстро узнать что у вас установлено на сервере с помощью подручных средств?

Рассмотрим команды для следующих систем: Linux, FreeBSD/OpenBSD, Solaris

Читать далее

[pf] Авторизация на базе authpf

Что же это такое? Это очень удобный механизм предоставления доступа после авторизации по ssh. Чем-то напоминает port knoking. Идея заключается в следующем: пользователь авторизируется через ssh (можно использовать пароль, но ключи удобнее) и после успешной авторизации запускаются соответствующие правила файервола pf. В них-то можно указать разрешения или нужные пробросы.

Читать далее

Смотрим нагрузку на диски

Иногда бывают ситуации, когда в top’e вроде бы всё нормально, но сервер всё равно тормозит. Тогда нужно обратить внимание на нагрузки дисковой подсистемы. В статье мы рассмотрим варианты для Unix систем: FreBSD, OpenBSD, Linux, Solaris.

Читать далее