Category: FreeBSD

Дек 11 2009

FreeBSD. Memory Disk.

По скорости записи оперативная память самая быстрая память компьютера, ну в общем то, на то она и оперативная. Жесткие диски намного более медленные по сранению с ней. Но есть возможность создать в памяти диск в который удастся копировать данные доступ к которым нужно иметь быстрый доступ. Для того, что бы создать такой диск, в ядре FreeBSD должна присутствовать поддержка Memory Disk:

device          md

А сам диск создается элементарно, для этого в /etc/fstab нужно вставить строку:

md                              /mnt/sessions   mfs     rw,-s32m        2       0

Теперь при загрузке будет создан мемори диск размером 32 мегабайта и примонтирован в /mnt/sessions.

В этом примере, диск в памяти используется как хранилище файлов сессий для php. А недостатком является то, что при перезагрузке все файлы будут уничтожены и информация о сессиях будет уничтожена.

Дек 10 2009

Порядок запуска сервисов во FreeBSD.

Маленькая заметка о том как сменить порядок запуска сервисов. Чаще всего это относится к программам, для работы которых нужен SQL сервер, стартует такая программа, а настройки свои подгрузить не может. А все потому, что стартанула она до того, как запустился SQL сервер. Последний раз я на такое наступил, когда ставил самописный биллинг, который назывался billing, стартовый скрипт его назывался billing и при загрузке он сразу цеплялся к MySQL. Порядо запуска сервисов определяется так, сначала идут имена сервисов начинающихся с цифр, а потом сервисы в алфавитном порядке. В моем случае решение простое, переименовать mysql-server в 0mysql-server или billing переименовать в zbilling. Я остановился на втором варианте, что бы при обновлении MySQL не появился второй скрипт mysl-server.

Ноя 18 2009

Адаптируем newsyslog под rsyslog.

newsyslog, который входит в базовую систему FreeBSD по умолчанию, при ротации логов, отправляет сигнал HUP syslogdу. Но если мы заменили syslogd на rsyslogd, то будем получаем уведомление, что файл не будет упаковываться, поскольку syslogd не получил сигнал. Лекарство же от этого простое. Берем штатный /etc/newsyslog.conf и немного меняем. Вот так:
Read more »

Ноя 14 2009

newsyslog. Настраиваем ротацию логов.

Помимо настройки логирования есть еще не менее важная процедура ротации логов. Ротация логов, это когда текущий лог файл закрывается для записи, создается новый файл, в который начинают писаться новые события, текущий фал переименовывается, возможно архивируется, а старые файлы удаляются. Важность процедуры ротации логов, должна быть понятна любому системному администратору. Ведь если неправильно настроить ротацию, можно либо получить потерю записей о важных и еще актуальных событиях, при черезчур частых ротациях и недостаточном количестве сохраняемых архивных фалов. Или наоборот при, редкая ротация или черезмерное количество архивных файлов приведет к тому, что место для записи логов закончится и они перестанут писаться, что приведет к потере актуальной информации о событиях. А некоторые, не достаточно корректно написанные программы, могут аварийно завершать свою работу, при невозможности записать событие в лог файл.
Read more »

Ноя 10 2009

syslogd. Настраиваем логи.

Правильная настройка логов(системных журналов событий) один из важных моментов в системном администрировании. В логах находится все, что нужно сисадмину для поиска проблем в системе. В базовой системе FreeBSD есть syslogd, он занимается записью в логи сообщений от разных сервисов системы. За настройку логирования отвечает конфигурационный файл syslogd.conf.
Read more »

Ноя 06 2009

logger. Общаемся с syslog из shell скриптов.

При разработке скриптов на разных скриптовых языках, проблем с отправкой записей на syslogd не возникает. Все современные скриптовые языки умеют общаться с syslogd. С помощью утилиты logger можно отправлять для записи в логи сообщения из shell скриптов.
К примеру создадим лог файл, который будет записывать в лог сообщения с тегом test в файл /var/log/test.log
Для этого в /etc/syslog.conf добавим такую конфигурацию:

!test
*.*                                             /var/log/test.log

Read more »

Ноя 04 2009

hosts.allow. Защищаем сервисы с libwrap.

В FreeBSD многие программы собираются с поддержкой libwrap. Эта библиотека отвечает за контроль соендинений на уровне ip адреса. Файл настроек в который вносятся адреса, имена сервисов — /etc/hosts.allow.
Тот файл, что находится в системе по умолчанию, первой незакомментированной строчкой содержит:

ALL : ALL : allow

Эта строка, говорит всем сервисам, поддерживающим libwrap, что принимать соединения можно от любого адреса.
Последние же строки в стандартном файле имеет такой вид:

ALL : ALL \
: severity auth.info \
: twist /bin/echo "You are not welcome to use %d from %h."

Эта строки запрещают обращение ко всем сервисам. Но в случае наличия первой строки, до последних дело не доходит.
Итак, если мы решили регулировать доступ с помощью libwrap, то первую строчку нужно удалять или комментировать.
А далее, описывать каждый сервис, к которому мы хотим ограничить доступ. Как описывается сервис рассмотрим на примере sshd. Разрешим доступ по ssh для адреса 89.252.34.107 и сети 192.168.0.0/24, от всех остальных адресов запретим:

sshd : 89.252.34.107 : allow
sshd : 192.168.0.0/255.255.255.0 : allow
sshd : ALL : deny

Последняя строка в этих правилах не обязательна, в случае если в конце файлов присутствует запрет на соединение для всех сервисов, но так наглядней. Если последней в файле hosts.allow, запрещающей все сервисы сроки нет, то нет необходимости описывать все сервисы. Нужно описать, приведенным выше способом только важные сервисы.
Следует обратить внимание на то, что в адресе сети задается именно маска, а второй нюанс имя сервиса — это имя исполняемого файла.

Окт 07 2009

Portaudit.

Как известно FreeBSD состоит из базовой системы и системы портов. Достаточно подписаться на список рассылки freebsd-security-notifications и вы будете получать уведомления о найденных уязвимостях в базовой системе. Но это абсолютно не относится к софту, установленному из портов. В портах масса софта, по мере использования, установленной FreeBSD, число установленнх портов растет и отследить уязвимый софт практически не реально. Не реально вручную, но если установить portaudit — все становится значительно проще.
Read more »


Украинская Баннерная Сеть