Войти через loginza
Закрыть панель

Решение опять же — изобретение велосипеда (а ля logwatch), себе — запомнить; другим — в копилку.

Итак сам скрипт :

#!/bin/bash
/bin/echo -e "Дата и время отчета : " `date +%d-%m-%Y` `date +%H:%M:%S`
delim="= ===============  = "
#текущая дата, для выборок из лог-файлов
curdate=`date | cut -d " " -f2`" "`date | cut -d " " -f3`
/bin/echo -e $delim "Компы не получившие адрес" $delim "\n"
#Смотрим есть ли компы, которые не получили адрес - будет строка DHCPOFFER
/bin/cat /var/log/dhcp3-server.log | grep -i "offer" | uniq -d | cut -d " " -f8
/bin/echo -e $delim "Лог подмены адресов АРП" $delim "\n"
/bin/cat /var/log/arpwatch.log
/bin/echo -e $delim "Лог биллинга" $delim "\n"
iconv -f cp1251 -t utf8 /var/log/stargazer.log
/bin/echo -e $delim "Свободная память" $delim "\n"
/usr/bin/free
/bin/echo -e $delim "Состояние системы" $delim "\n"
/usr/bin/top -b -n 1 | grep "load" -A 20
/bin/echo -e $delim "Упавшие хосты(свитчи/роутеры/прочее)" $delim "\n"
/bin/cat /install/pingg/log/dhost.log
/bin/echo -e $delim "Ошибки в syslog" $delim "\n"
/bin/cat /var/log/syslog | grep -i "error"
/bin/echo -e $delim "DHCP - сервера в сети" $delim "\n"
/bin/cat /install/dhcpdrop/logs/alert.log
/bin/echo -e $delim "Ошибки в daemon.log" $delim "\n"
/bin/cat /var/log/daemon.log | grep "$curdate" | grep -i "error"
/bin/echo -e $delim "Лог аутентификаций по SSH" $delim "\n"
/bin/cat /var/log/auth.log | grep "$curdate" | grep "sshd"

Дальше — нам нужно весь этот вывод отправить нам на почту. пишем в crontab всего 2 строчки:

30 */4 * * *    root    /install/minform/minform > /install/minform/minform.txt
35 */4 * * *    root    /bin/cat /install/minform/minform.txt | /usr/bin/mutt -s "Отчет системы за `date`" mail@mail.com

Вот собственно и весь скрипт.
Вопрос — а почему не воспользоваться уже готовым решением (logwatch) и изобретать велосипед ?
Ответ : есть свободное время, желание и собственные файлы вывода и формат вывода. Каждые 4 часа можно смотреть не сломалось ли там чего, пока мы отдыхаем на море :)

 

Недавно наткнулся на статью про найденную уязвимость в веб-сервере apache.

Пять дней назад в листе рассылки Full Disclosure появился скрипт, по заявлению автора, убивающий Apache начиная от самых старых версий до самых новых.

Работает скрипт очень просто : запускает простой запрос в несколько десятков потоков.

HEAD / HTTP/1.1
Host: www.example.com
Range: bytes=0-,5-0,5-1,5-2,5-3,5-4,<...>,5-1299,5-1300
Accept-Encoding: gzip
Connection: close

В ответ на такой запрос Apache для подсчета Content-Length собирает в памяти длинный ответ из перекрывающихся кусков запрошенного файла, который может занять и занимает значительный объём памяти. При этом потребление памяти Apache начинает резко расти, как на том графике в начале, что при должном, совсем небольшом, количестве запросов приводит к DoS даже на приличных серверах.

Проверить, уязвим ли ваш сервер к этой атаке легко:

curl -I -H "Range: bytes=0-1,0-2" -s www.example.com/robots.txt | grep Partial

Если Вы увидели ответ :

206 Partial Content

То Ваш сервер 100% уязвим для такой атаки.

Что же делать и как поставить защиту ?

Самым простым способомбудет прописать для nginx запрет для проксирования пустых запросов :

proxy_set_header Range "";
proxy_set_header Request-Range "";

А вот если nginx у Вас нет, то рекомендую его установить. Или по сообщениям сайта  cybersecurity.ru :

Разработчики web-сервера Apache сообщают об исправлении опасной уязвимости CVE-2011-3192 , которая использовалась злоумышленниками для проведения атак на отказ в обслуживании web-серверов. Стоит отметить, что web-сервер Apache обеспечивает работу двух третей всех сайтов в мире.

Напомним, что опасная уязвимость была обнаружена независимыми специалистами в области информационной безопасности 20 августа. В тот же день в сети Интернет появился эксплоит, который позволял вывести из строя любой сайт, который использует Apache HTTP Server.

Уязвимость в Apache HTTP Server позволяла злоумышленникам аварийно завершать работу web-серверов, используя простую вредоносную программу. Ошибка заключалась в способе обработки большого количества Range запросов в HTTPD, что приводило к исчерпанию ресурсов удаленной системы. Ошибка была исправлена в новой версии Apache HTTP Server 2.2.20. Однако для того, чтобы предотвратить атаку, все администраторы сайтов, которые используют Apache HTTP Server, должны самостоятельно установить обновление.

 

Во многих сетях есть популярный сервис обмена файлов по протоколу DirectConnect или проще «Стронг».

На многих хабах установлен плагин Offline Message — возможность отправлять личные сообщения пользователям, даже если они не онлайн.

Обычно это делается при помощи команды в главном окне чата :

В этой статье я хочу рассказать о таком полезном скрипте  как пользовательское меню, которое реализует данную функцию.

Вариант №1

Первое : создаем для этого новый пункт в меню.
Файл — Настройки- дополнительно — Юзер-команды.
Смотрим на скриншот ниже (Pic1)
Рис.1
Нажимаем новый.
Выбираем как показано на рисунке(Pic2).
Рис.2
В поле команда вставляем строку:

+msgsend %[line:Кому: Точный ник с УЧЁТОМ РаЗмЕрА БуКв!!!] %[line:Тема сообщения]--%[line:Сообщение]

Далее идем в главное окно, щелкаем на любого пользователя и выбираем Юзер-команды — личка оффлайн(Pic3)
Рис.3
и следуем инструкции.
Когда пользователь будет Онлайн, ему придет Ваше сообщение.

Вариант №2.

Закрываем СтронгДЦ++
Идем в папку где установлен СтронгДЦ++
Ищем Файл Favorites.xml
Открываем его блокнотом.
Ищем в нем пары строк:(Pic4)


< UserCommands>
< /UserCommands>

Рис.4
между ними вставляем:


< UserCommand Type="1" Context="2" Name="Личка в оффлайн" Command="<%[myNI]> +msgsend %[line:Кому: Точный ник с УЧЁТОМ РаЗмЕрА БуКв!!!] %[line:Тема сообщения]--%[line:Сообщение]|" Hub=""/>

Сохраняем. Запускаем стронгДЦ++