Модуль поддержки tcpwrappers для nginx

 — система контроля доступа, используемая для ограничения доступа к серверам на UNIX-подобных операционных системах (, BSD). Контроль доступа может осуществляться, например, по имени хоста (полному или частичному), адресу, подсети. Подробности приведены здесь.

TCP Wrappers очень удобно использовать с программами для защиты от червей (BlackHosts, DenyHosts, Fail2ban), в частности, для защиты от HTTP-сканирования.

Огромным достоинством TCP Wrappers является возможность динамической конфигурации списков контроля доступа (что избавляет от необходимости перезапускать защищаемый сервис) и простота файлов конфигурации (это субъективно).

К сожалению, не поддерживает TCP Wrappers из коробки. К счастью, это можно исправить. Далее »

Автор: , опубликовано в: C/C++, nginx, Администрирование, Безопасность, комментариев: 2
10
Окт
2009

ngx_drop_privs: принцип минимальных привилегий в nginx

 — замечательный web-сервер, но, как и практически любой программный продукт, не свободен от ошибок, временами весьма критических.

Архитектура nginx такова, что обычно имеется один привилегированный процесс (запускаемый от всемогущего root) и один или более рабочих процессов (обычно работающих от имени непривилегированного пользователя). Тем не менее, я видел конфигурации, в которых все процессы nginx работают под привилегированным пользователем. Один из примеров — многопользовательский сервер, Document Root сайтов на котором имеет права вида 0700 (запускать несколько nginx и настраивать проксирование — тоже не лучший выход).

Кроме того, за последние неполные пять лет в nginx найдено 112 ошибок (segmentation fault), некоторые из которых теоретически могут дать возможность выполнения произвольного кода в системе (wget http://sysoev.ru/nginx/changes.html -q -O - | grep segmentation | wc -l).

Я не знаю, все ли ошибки затрагивали только рабочие процессы, либо были ошибки в главном процессе — рисковать не хочется. Так и родилась идея написать модуль для nginx — . Далее »

Автор: , опубликовано в: C/C++, Linux, nginx, Безопасность, комментариев: 3
23
Сен
2009

cpufreq-info врёт

Обратил внимание, что при задании частоты нулевому ядру, cpufreq-info показывает одинаковую частоту для всех ядер. Меня это удивило, так как раньше я мог задавать разные частоты для каждого ядра. Решил проверить экспериментально. Далее »

Автор: , опубликовано в: Linux, комментариев: нет
23
Авг
2009

Возвращаем Skype к жизни в Ubuntu Karmic Koala на 64-битной платформе

Почти год назад я писал об аналогичной проблеме со в Intrepid Ibex. Воистину, история имеет тенденцию к повторению — сменился релиз, проблема осталась. Тем не менее, прошлогоднее исправление не помогает, поэтому приходится изобретать что-то новое.

К слову, проблема всё та же:


ALSA lib ../../src/conf.c:2700:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib ../../../src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL hw:0

Но решается иначе. Далее »

Автор: , опубликовано в: Linux, комментариев: 3
10
Авг
2009

SieFS для Debian Lenny/Ubuntu Jaunty

Почти год назад я писал о  — FUSE-драйвере для файловой системы телефонов Siemens. SieFS нет в репозиториях , к тому же он собирается с проблемами.

Так как далеко не все любят собирать программы из исходников (и плясать с бубном, чтобы кривая программа собралась), а драйвер, как оказалось, нужен многим, я собрал DEB-пакет для SieFS (под архитектуру AMD-64; пакет собирался в Ubuntu 9.04 , но должен работать в ). Далее »

Автор: , опубликовано в: Linux, комментариев: 5
5
Авг
2009

TCP/IP SYN+FIN Packet Filtering Weakness

Сканируя Nessus парочку хостов, столкнулся с тем, что Nessus определял, что система ( 2.6.x) не фильтрует TCP/IP пакеты, у которых установлены флаги SYN и FIN, что, теоретически, может привести к обходу межсетевого экрана (firewall). Далее »

Автор: , опубликовано в: Linux, комментариев: 1
3
Авг
2009

monit 5.0.3 для Debian/Ubuntu Linux

monit предоставляет весьма удобный для системного администратора инструмент мониторинга состояния систем, включая процессы, исполняемые и конфигурационные файлы, потребление ресурсов. умеет выполнять локальные действия (например, запускать упавшие процессы, перезапускать процессы, потребляющие слишком много ресурсов и т.п.), слать предупреждения почтой; имеет опциональный web-интерфейс. Далее »

Автор: , опубликовано в: Linux, комментариев: 1
28
Июл
2009

Борьба со спамом на уровне фильтра пакетов

Два месяца назад я писал об одном очень жестком методе борьбы с последствиями установки плагина Time spent on blog. Теперь этот же самый метод применяем на -ботах, которые безуспешно пытаются оставить спам в комментариях.

Отвлекусь от темы и отвечу на вопрос о необходимости применения жестких мер против спамеров: во-первых, они генерируют много паразитного трафика (трафик не бесплатен), во-вторых, они генерируют лишнюю нагрузку на сервер, в-третьих, вода камень точит — любую капчу можно подобрать. Далее »

Автор: , опубликовано в: Linux, WordPress, Администрирование, комментариев: 6
26
Июл
2009

svn: could not connect to server

Сегодня столкнулся с интересной ошибкой при попытке экспорта проекта из репозитория :

[-]
View Code Text
$ svn export -q -r8913 https://my.repository.com/svn/trunk /var/www/some/path
svn: OPTIONS of 'https://my.repository.com/svn/trunk': could not connect to server (https://my.repository.com)

Произошло это после обновления системы (на машине стоит ).

Первое подозрение — что-то не то с DNS, ибо извне к репозиторию есть доступ. Проверил:

[-]
View Code Text
$ wget https://my.repository.com
--2009-07-07 13:10:21--  https://my.repository.com
Resolving my.repository.com... 12.34.56.78
Connecting to my.repository.com|12.34.56.78|:443... connected.
HTTP request sent, awaiting response... 200 OK

Получается, что проблема где-то в subversion, а не в невозможности соединения с сервером или криво настроенном DNS.
Далее »

Автор: , опубликовано в: Linux, комментариев: 15
7
Июл
2009

Linux: экстренная перезагрузка сервера

Иногда случаются ситуации (поменьше бы их таких), когда из-за какой-нибудь ошибки оборудования или повреждения файловой системы операционная система входит в ступор и не может прочитать ничего с диска. Систему нужно перезагружать, но система не может прочитать /sbin/reboot, а техническая поддержка тупит (не могу не передать привет техперсоналу HiVelocity.net).

В этом случае систему можно перезагрузить двумя командами echo (нужны права администратора). Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 6
6
Июл
2009