FreeBSD

Ротация логов OpenVPN под FreeBSD

OpenVPN под FreeBSD по умолчанию пишет логи через syslogd в /var/log/messages.
Если настроить передачу логов в файл с помощью директивы в openvpn.conf

log /var/log/openvpn/openvpn.log
или
log-append  /var/log/openvpn/openvpn.log
,то логи будут записываться в указанные файлы, но у меня не получилось в этом случае настроить ротацию логов. Если кто подскажет, буду признателен, а пока сделал так:
в /etc/syslog.conf
*.err;kern.warning;auth.notice;mail.crit /dev/console
## Обо всем кроме openvpn писать сюда
!-openvpn

Postgrey для остеивания спама

Postgrey - сервер, использующий грейлистинг для Postfix.

Ставится под FreeBSD из портов. Очень хорошее описание настройки в

man 1 postgrey

После установки добавляем что-то вроде этого в /usr/local/etc/postfix/main.cf:
smtpd_recipient_restrictions =
 permit_mynetworks
 ...
 reject_unauth_destination
 check_policy_service inet:127.0.0.1:10023

В файл /usr/local/etc/postfix/postgrey_whitelist_recipients помещаем список пользователей для которых не нужен грейлистинг, см. man postgrey. Внимательно смотрим man если нужно настроить postgrey более тонко.

Ejabberd 14.12 на FreeBSD

Для настройки оповещений в системе мониторинга Zabbix решил использовать jabber, поскольку он является штатным средством оповещения.
Итак, имеется сервер FreeBSD-9.3. Ставим на него из портов jabber сервер - ejabberd. Настройки сделаем простейшие, будем использовать шифрование для соединения с клиентами.
Приступаем к установке.

portsnap fetch update
portmaster -D -b --force-config net-im/ejabberd
что установит ejabberd со всеми зависимостями, при этом в начале процесса будут вызваны диалоговые окна конфигурации опций сборки портов.

Выход в интернет через впн туннель

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

push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"

см. https://openvpn.net/index.php/open-source/documentation/howto.html
http://allanmcrae.com/2013/09/routing-traffic-with-openvpn/

SquidClamav

SquidClamav - антивирус для squid на основе ClamAv. По информации с сайта разработчика
http://squidclamav.darold.net/ :
Использование SquidClamav позволяет повысить безопасность web трафика в сети. SquidClamav наиболее эффективный squid реддиректор и icap антивирус для http траффика который доступен бесплатно, написан на С и может обрабатывать тысячи содинений. SquidClamav создан с учетом скорости и безопасности, впервые использован и протестирован для обеспечения безопасности сети с более чем 2500 пользователей. Известно также что он быстро работает с 15000+ пользователями.

syslogd для логирования событий удаленного хоста

Полезные ссылки
http://www.opennet.ru/base/sys/syslog_howto.txt.html

Понадобилось записать лог удаленного хоста (маршрутизатор dlink) в системный лог.
Для этого на удаленном хосте настроил пересылку лога, где указал на какой ip и порт слать лог, категорию(facility) - local0 и уровень(level)- info для логирования событий.
На хосте под freebsd создал файл /var/log/remoteservice/remoteservice.log, и добавил строки в /etc/syslog.conf
local0.info     /var/log/remoteservice/remoteservice.log

Настройка screen через конфиг screenrc

Наконец-то дошли руки до настройки опций запуска screen. Настроил далеко не все что можно, см. man screen. Глобальное поведение настраивается через /usr/local/etc/screenrc , поведение для конкретного пользователя - через .screenrc в домашнем каталоге, см. man screen - CUSTOMIZATION.

Сборка ядра FreeBSD при загрузке с LiveCD

Возникла задача пересборки ядра на системе FreeBSD, перенесенной на виртуальную машину с другого сервера по аналогии с процедурой, описаной в http://nixadmin.ru/move_freebsd_filesystem. Особенностью перенесенной системы было изменение размера диска и использование одного диска вместо двух дисков с GMIRROR. Оказалось что после переноса часть нового (виртуального) железа не поддерживается ядром перенесенной системы, в том числе сетевой адаптер и клавиатура. Причина в том что в кастомном ядре на старом сервере отсутствуют требуемые опции и девайсы. Требовалась пересборка ядра.

Изменение разрешений на вновь создаваемые файлы для пользователей

Понадобилось изменить стандартные разрешения при создании файлов, копируемых на сервер по sftp.
Для этого воспользовался параметром login class пользователя.

pw usermod user1 -L ftpusers
- установил login class для user1 - ftpusers, затем в конец /etc/login.conf для ftpusers прописал:
ftpusers:\
    :umask=002:
это устанавливает разрешения 775 и 664 для вновь создаваемых файлов. Чтобы возымело действие, пересобрал файл бд
cap_mkdb /etc/login.conf

sftp chroot

Для ограничения пользователей при работе по sftp через ssh можно использовать chroot.
В /etc/ssh/sshd_config добавить

Subsystem   sftp   /usr/libexec/sftp-server
AllowUsers user1
Match user user1
ChrootDirectory /home/user1
X11Forwarding no
AllowTcpForwarding no    
ForceCommand internal-sftp

Все каталоги от корня до домашнего каталога пользователя включительно должны быть доступны для записи только руту, иначе chroot не будет работать, в нашем случае каталог /home/user1 должен быть
drwxr-xr-x  5 root       wheel      512  3 apr 07:54 user1

Ленты новостей