Fail2ban — защита от брутфорса SSH и прочих сервисов

Наверняка в лог-файле auth.log вы наблюдали попытки перебора логинов-паролей по SSH для доступа на ваш сервер. Пресечь подобные попытки можно блокированием доступа к серверу с недоверенных IP адресов. Но что делать, если у вас динамический IP или вы выходите в сеть из разных мест, например из кафе где есть WiFi или прочих публичных мест доступа в интернет? В этом случае есть утилита, которая может решить эту проблему — fail2ban.

Если вас пугают подобные проблемы, можно не мучиться и выбрать хостинг, например от ISPserver.com. Цены у них довольно низкие и при этом качество на очень хорошем уровне. Shared хостинга в большинстве случаев хватает за глаза.

Но если эти трудности вас не волнуют — идём дальше. Поставим пакет:

gateway:~# apt-get install fail2ban

Согласно документации, править конфигурационный файл /etc/fail2ban/jail.conf нежелательно и изменения опций лучше вынести в файл /etc/fail2ban/jail.local. Приведу пример моего файла:

gateway:~# cat /etc/fail2ban/jail.local
# The DEFAULT allows a global definition of the options. They can be override
# in each jail afterwards.

[DEFAULT]

# «ignoreip» can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1, 192.168.0.0/24
bantime = 600
maxretry = 3

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = alexey@www.local

К слову сказать, fail2ban защищает от брутфорса не только SSH, но и многие другие сетевые сервисы, например, Apache, Courier, Exim, Named (bind), Postfix, FTP и другие. Полный список фильтров можно посмотреть в каталоге /etc/fail2ban/filter.d/ 🙂

rkhunter — охотник за руткитами

Как известно, злоумышленики в сети не дремлют и ваша система может стать следующей целью их атаки. Один из популярных инструментов для проверки системы на наличие в ней руткитов и прочей подозрительной живности — Rootkit Hunter.

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

Пользоваться им довольно просто. Ставим:

gateway:~# apt-get install rkhunter

обновляем базы до актуального состояния:

gateway:~# rkhunter —update

запускаем проверку систему:

gateway:~# rkhunter —check

Результат проверки можно будет потом найти в файле /var/log/rkhunter.log. Также есть возможность отправки подозрительных результатов на почту. Для этого в конфигурационном файле /etc/rkhunter.conf нужно раскомментировать опцию MAIL-ON-WARNING и добавить в неё свой e-mail.

Обновления баз данных rkhunter’а можно запускать по cron’у.

Rootkit Hunter выполняет сигнатурный поиск, поэтому вероятность необнаружения какого-нибудь оригинального руткита очень даже существует. Впрочем, это не значит, что не нужно защищаться вообще. 😉

К сожалению, и, к счастью, не могу продемонстрировать лог захваченной машины, но в недрах интернета такие логи вполне могут существовать, так что если есть желание, можете посмотреть их сами.

Icecast — ещё одно онлайн-радио: установка и настройка

У Icecast по сравнению с Shoutcast есть одно неплохое преимущество: он умеет работать с OGG-потоками.

Скачаем и распакуем архив с исходниками:

warehouse:~# wget http://downloads.xiph.org/releases/icecast/icecast-2.3.2.tar.gz
warehouse:~# tar zxf icecast-2.3.2.tar.gz
warehouse:~# cd icecast-2.3.2

Для сборки потребуются дополнительные исходники библиотек:

warehouse:~/icecast-2.3.2# apt-get install libogg-dev libvorbis-dev libtheora-dev libspeex-dev libcurl4-openssl-dev libxslt-dev

Теперь можно приступить к конфигурации:

warehouse:~/icecast-2.3.2# ./configure —prefix=/usr/local/icecast —with-ogg —with-theora —with-curl —with-vorbis —with-openssl

А затем к сборке и установке:

warehouse:~/icecast-2.3.2# make && make install

После установки редактируем конфигурационный файл:

warehouse:~# mcedit /usr/local/icecast/etc/icecast.xml

В целях безопасности рекомендуется найти ветку:

<security>
<chroot>0</chroot>
<!—
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
—>
</security>

и активировать chroot:

<security>
<chroot>1</chroot>
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
</security>

Приведу здесь свой рабочий конфиг. У меня настроена ретрансляция двух сетевых радиостанций:

<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>

<authentication>
<source-password>pass1</source-password>
<relay-password>pass2</relay-password>
<admin-user>admin</admin-user>
<admin-password>admin_pass</admin-password>
</authentication>

<shoutcast-mount>/live.nsv</shoutcast-mount>
<hostname>radio</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<relay>
<server>xx.xx.xx.xx</server>
<port>xxxx</port>
<mount>/</mount>
<local-mount>/radio1.ogg</local-mount>
<on-demand>0</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

<relay>
<server>xx.xx.xx.xx</server>
<port>xxxxx</port>
<mount>/</mount>
<local-mount>/radio2.ogg</local-mount>
<on-demand>0</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

<fileserve>1</fileserve>

<paths>
<basedir>/usr/local/icecast/</basedir>
<logdir>/var/log/icecast/</logdir>
<webroot>/share/icecast/web</webroot>
<adminroot>/share/icecast/admin</adminroot>
<pidfile>/usr/local/icecast/icecast.pid</pidfile>
<alias source=»/» dest=»/status.xsl»/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!— 4 Debug, 3 Info, 2 Warn, 1 Error —>
<logsize>10000</logsize> <!— Max size of a logfile —>
</logging>

<security>
<chroot>1</chroot>
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
</security>
</icecast>

Далее остаётся только запустить приложение в фоне:

warehouse:~# /usr/local/icecast/bin/icecast -c /usr/local/icecast/etc/icecast.xml &

открыть URL в любом проигрывателе http://radio.local:8000/radio1.ogg и наслаждаться хорошей музыкой. 😉

Открываем файл Microsoft Office 2007 .docx в OpenOffice

Прислали файл в формате .docx, необходимо было его прочитать. 🙂

Помогло расширение OpenOffice.OpenXML Translator 3.0 e-Media Kit. Качаем, открываем в OpenOffice Writer: Tools -> Extension Manager и добавляем скачанный по ссылке файл — odf-converter-3.0-6.oxt. После этого .docx файл открылся без проблем.

P.S. если кому лень регистрироваться на сайте Novell, я выложил файл у себя. Пользуйтесь — odf-converter-3.0-6.oxt.