Tuesday, October 24, 2006
Сохранение POST-запросов в apache
Устанавливается он элементарно apxs -cia mod_security.c (см документацию, правда, для его работы в наиболее удобном, "Concurrent", режиме логгирования, нужен модуль unique_id. После установи модуля следует добавить следующую секцию в httpd.conf:
<IfModule mod_security.c>
SecAuditEngine On
# У mod_security есть два механизма логгирования, Concurrent - более быстрый и продвинутый.
SecAuditLogType Concurrent
# Здесь будет храниться индекс - файл, по структуре похожий на access_log + идентификаторы, по которым можно найти полную информацию в StorageDir
SecAuditLog /var/log/www/audit/index
# Тут хранятся все данные запросов. Каждый запрос в отдельном файле. Запросы разнесены по каталогам (вместе все запросы одной транзакции, вместе все транзакции одного дня)
SecAuditLogStorageDir /var/log/www/audit/data/
# Наиболее полное логгирование (man)
SecAuditLogParts ABCDEFGHZ
# Добавить обработку POST данных.
SecFilterScanPOST On
SecFilterEngine On
# Следующие строки нужны для сохранения загруженных на сервер файлов:
SecUploadDir /var/log/www/audit/upload
SecUploadKeepFiles On
</IfModule>
Включать это имеет смысл при подозрении, что кто-то пытается использовать вашу систему не по назначению, теперь любой шаг проходимца будет записан.
p.s. Работоспособность конфига проверялась в apache 1.3.37, mod_security 1.9.4, но работать должно и в 2.0/2.0
Sunday, October 08, 2006
KOI8-R локаль в [K]Ubuntu

UPD: обновлено для Ubuntu 6.10
"А по улицам там ходят медведи с балалайками и разговаривают на KOI8-R" (почти BOR). Так вот, я и есть такой медведь. И когда мне дают дистрибутив с локалью UTF8 по умолчанию, я буду все переделывать. Для себя и для других медведей - инструкция:
а) Все начинается с генерации локали ru_RU-KOI8-R, делается это командой locale-gen. В качестве парамета ей целесообразно указать язык (ru), иначе она будет генерировать локали всех языков (/usr/share/i18n/locales/*), но только для кодировки UTF-8. Для языка ru будут сгенерированы следующие локали:#cat /var/lib/locales/supported.d/ru
ru_RU.UTF-8 UTF-8
ru_UA.UTF-8 UTF-8
Следующими командами можно заставить сгенерировать ее локаль для кодировки KOI8-R:#sudo -s sh -c 'echo "ru_RU.KOI8-R KOI8-R" >> /var/lib/locales/supported.d/ru'
#sudo locale-gen ru
Generating locales...
ru_RU.KOI8-R... done
ru_RU.UTF-8... done
ru_UA.UTF-8... done
Generation complete.
б) Далее, обновляем переменные окружения. Имя конфиг-файла зависит от версии Ubuntu:
Для Ubuntu <6.10 sudo vim /etc/environment
Ubuntu 6.10 sudo vim /etc/default/locale
В нем пишем: LANG="ru_RU.KOI8-R"
LANGUAGE="ru_RU:ru:en_GB:en"
С русификацией иксов покончено
в) Приступаем к консоли. Пишем:apt-get install console-cyrillic
В файл .profile добавляем:loadkeys /usr/share/console-cyrillic/ru-koi8-r.kmap
consolechars -f /usr/share/console-cyrillic/UniCyr_8x14.psf -m /usr/share/console-cyrillic/koi8-r.acm.gz
Готово.
У меня заработало все, кроме mcedit, который пришлось пересобрать. (В Kubuntu 6.10 заработал и mcedit)