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

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

# cat /usr/local/etc/scripts/ipfw_diff.sh
#!/bin/sh
####
DIR=/usr/local/etc/conf/ipfw
CURR_RULES=${DIR}/ipfw.list
PREV_RULES=${DIR}/ipfw.list.old
IPFW=/sbin/ipfw
 
if [ ! -f ${CURR_RULES} ]; then
	${IPFW} list > ${CURR_RULES}
	exit
fi
 
cd ${DIR}/
mv ${CURR_RULES} ${PREV_RULES}
${IPFW} list | sed -e 's/^0-9]* //' > ${CURR_RULES}
 
diff ${PREV_RULES} ${CURR_RULES} | mail -E -s "[diff ipfw rules]" support@provider.com

Принцип работы, очень прост.

Создаем директорию в которой будут хранится конфиги для проверки

# mkdir -p /usr/local/etc/conf/ipfw

Выставляем права на исполнение

# chmod +x /usr/local/etc/scripts/ipfw_diff.sh

Ставим данный скрипт на отработку в cron

# cat /etc/crontab | grep ipfw_diff.sh
*/2     *       *       *       *       root    /usr/local/etc/scripts/ipfw_diff.sh

после чего скрипт сверяет правила фаервола и конфигурационный файл, при различии правил — шлет на указанный ящик изменившиеся правила.

Через пару минут меняем что то в правилах фаервола и проверяем почту ещё через пару минут..

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/?p=1310


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

1 комментарий

  1. webKnjaZ @ 2014-01-05 10:24

    Надто велосипедисто..
    Не пробували etckeeper? він вміє робити репозиторій (нарп. git) і зберігати версії файлів.

    Admin:
    Колись використовували навіть Tripwire, але це було дуже давно.

Add your comment now

You must be logged in to post a comment.