Записи с метками Безопасность
Ограничиваем права пользователя в оболочке c помощью Limited Shell (lshell) в Debian Lenny
11 Декабрь
Limited Shell помогает в тех ситуациях, когда по каким-либо причинам chroot не подходит, а защитить систему нужно … хоть символически. Принцип действия прост – lshell позволяет выполнять только определенный администратором набор команд, переходить только в разрешенные каталоги, отслеживает попытки запуска других оболочек.
Для Debian Lenny я скачал архив с исходным кодом. Распаковываем, запускаем:
python setup.py install --no-compile
running install
running build
running build_py
creating build
creating build/lib
copying lshellmodule/lshell.py -> build/lib
running build_scripts
creating build/scripts-2.5
copying and adjusting bin/lshell -> build/scripts-2.5
changing mode of build/scripts-2.5/lshell from 644 to 755
running install_lib
copying build/lib/lshell.py -> /usr/lib/python2.5/site-packages
running install_scripts
copying build/scripts-2.5/lshell -> /usr/bin
changing mode of /usr/bin/lshell to 755
running install_data
copying etc/lshell.conf -> /etc
creating /usr/share/doc/lshell
copying README -> /usr/share/doc/lshell
copying COPYING -> /usr/share/doc/lshell
copying CHANGES -> /usr/share/doc/lshell
copying man/lshell.1 -> /usr/share/man/man1/
running install_egg_info
Writing /usr/lib/python2.5/site-packages/lshell-0.9.8.egg-info
Все, lshell установлен.
Создаем директорию для log файлов:
mkdir /var/log/lshell
Создаем группу lshellg:
groupadd --system lshellg
Изменяем права на директорию с log файлами:
chown :lshellg /var/log/lshell
chmod 770 /var/log/lshell
Изменяем shell пользователя и добавляем его в группу lshellg:
usermod -s /usr/bin/lshell user1
usermod -a -G lshellg user1
Настройки хранятся в файле /etc/lshell.conf и подробно описаны в README. Мы добавляем следующие строки для пользователя user1 в конец конфигурационного файла:
[user1]
allowed : ['ls','ll','echo','cd','cp','rm','mkdir','rmdir','wget','vi','vim']
path : ['/var/www/1', '/var/www/2', '/var/www/3']
forbidden : [';', '&', '|','`','>','<']
warning_counter : 5
aliases : {'ll':'ls -l', 'vi':'vim'}
Суть – данные настройки имеют больший приоритет, чем настройки из секции [default] конфигурационного файла. Разрешены только определенные команды (allowed), помимо домашней, разрешены переходы в несколько директорий (path), в консоли запрещены перенаправления ввода-вывода и прочие вещи (forbidden), разрешено наступать на мины 5 раз, перед тем, как пользователь будет отключен (warning_counter), прописаны алиасы команд.
Это разумеется не панацея. Нужно внимательно следить за тем, какие команды разрешены и какие в них «недокументированные возможности». Например, разрешая mc можем заходить во все директории, ну и т.п.
Запрещаем выполнять команды по ssh, но разрешаем scp, sftp, cvs, rdist или rsync в Debian Lenny
11 Декабрь
Иногда нужно запретить какому-либо пользователю выполнение команд по ssh, но разрешить только scp, sftp, cvs, rdist или rsync.
Устанавливаем:
apt-get install rssh
Меняем shell по-умолчанию у пользователя:
usermod -s /usr/bin/rssh user
По-умолчанию все запрещено.
Редактируем /etc/rssh.conf, разблокируя то, что нам нужно:
#allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
Защита Apache от DDOS атак – Часть 2
16 Сентябрь
Собственно, речь пойдет о защите от SYN flood атак:
Очень популярная DoS атака заключается в посылке большого числа SYN пакетов на ваш сервер. При этом установка TCP связи не доводится до конца. Очередь полуоткрытых запросов соединений быстро заполняется, что мешает установке нормальных соединений. Так как соединение не должно быть обязательно завершено, такая атака не требует больших ресурсов от атакующей машины, поэтому её легко реализовать и контролировать.
Определить SYN атаку просто – команда netstat выдает огромный список полуоткрытых подключений: Читать дальше >
Защита Apache от DDOS атак – Часть 1
15 Сентябрь
В 1й части мы будем устанавливать модуль Apache mod-evasive на Debian сервер. Этот модуль отслеживает количество подключений с определенного клиента и блокирует IP адрес на определенное время при превышении лимита.
sudo apt-get install libapache2-mod-evasive
Или берем отсюда:
http://packages.debian.org/lenny/libapache2-mod-evasive
И устанавливаем так:
dpkg -i libapache2-mod-evasive_x.x.x.deb
Документация на английском языке:
http://www.helicontech.com/ape/doc/mod_evasive.htm
Создаем файл /etc/apache2/mods-available/mod-evasive.conf с вот такими настройками:
Читать дальше >
Надежное удаление конфиденциальных файлов в Linux
15 Сентябрь
Иногда требуется удалить файлы так, чтобы полное восстановление их было невозможно (ну или, по крайней мере, максимально затруднено). Вот пара утилит: Читать дальше >
Укрепляем капчу LiveStreet
7 Сентябрь
Заметил, что встроенную капчу LiveStreet начали обходить боты, создающие учетки только для размещения рекламных ссылок.
Поменял CAPTCHA на более сложную, отличное описание здесь:
http://livestreet.ru/blog/tips_and_tricks/2414.html
Установка ModSecurity 2 в Debian Lenny
7 Сентябрь
Неплохое руководство на тему:
http://www.mogilowski.net/lang/en-us/2008/12/03/secure-apache-2-with-mod-security-2-on-debian-lenny/
Защищаем блог на WordPress от атак
2 Сентябрь
WPIDS – плагин для WordPress, позволяющий использовать систему обнаружения атак PHPIDS. После установки необходимо обязательно обновить файл правил PHPIDS.
sshguard: защита ssh от подбора пароля
29 Август
Отличная заметка по настройке sshguard:
http://p-n-z-8-8.livejournal.com/54787.html
От себя добавлю, что в /etc/rc.local я бы добавил и настройку iptables, при этом прикрывал бы для IP атакующего и другие cервисы, например, FTP:
iptables -A INPUT -p tcp --dport 1222 -j sshguard
iptables -A INPUT -p tcp --dport 21 -j sshguard
tail -n0 -F /var/log/auth.log | sshguard -a 2 -p 43200 &
Анализируем log файлы Apache для обнаружения совершенных атак
28 Август
Интересная система – apache-scalp: http://code.google.com/p/apache-scalp/
Используя наборы регулярных выражений анализирует access логи Apache и формирует отчет с информацией о совершенных на web сервер атаках.
Рекурсивная смена прав доступа к файлам
27 Август
Чаще всего это приходится делать на web сервере.
Смена прав только для директорий:
find ./directory/ -type d -exec chmod 755 {} \;
Только для файлов:
find ./directory/ -type f -exec chmod 644 {} \;
Определение производителя по MAC адресу
23 Август
Интересный сервис для определения производителя оборудования по MAC:
http://www.coffer.com/mac_find/
Проверка почтовых адресов on-line
23 Август
Отличный on-line чекер валидности почтовых адресов. Надеюсь по-совместительству не собирает спам базу
Debian: Создание сертификата одной строкой
2 Август
Создание самоподписанного сертификата для поддержки SSL в Apache:
openssl req -new -x509 -days 3000 -nodes -out your-site.pem -keyout your-site.key
Ну и их нужно скопировать в:
/etc/ssl/certs/your-site.pem
/etc/ssl/private/your-site.key

