12.12.2011

Централна Loghost Mini-HOWTO

Original on http://www.campin.net/newlogcheck.html


Тази страница е просто колекция от инструменти с отворен код, можете да използвате за лепило заедно своя собствена централизирана (Syslog) loghost.
Включени са например Настройки за конфигурация, така че можете да конфигурирате вашия loghost по начин, подобен на мина.


Има много малко, че имате нужда да четат и разбират, за да използвате тези инструменти.
Също така, тези инструменти са широко се използват и поради това лесно да се получи помощ в списъците на интернет пощенски.

Създаде централизирано място за Syslog събиране с цел улесняване на :


  1. Вход за докладване
    • реално време за предупреждение
    • периодични (няколко пъти на ден) резюме отчитане

  2. Вход за съхранение
    • дългосрочен план, архивни за евентуално по-късно анализ

Използвани Инструменти :

Newlogcheck

Моят централната машина loghost използва модифицирана версия на logcheck.sh, че съм написал името (въображение ) newlogcheck.sh. Модифицирана версия нарича друг скрипт съм написал, че сортира изхода на logtail “от отделни хостове в отделни части от окончателния доклад. Perl скрипт се опитва да се избегне дублирането на лог съобщения от печат всеки дневник съобщение само веднъж, докладване, колко пъти на събитието беше докладвано

.

Този подход значително намалява размера на вашите Logcheck доклади и сортиране от приемащите го прави лесен за четене.

Вижте доклад newlogcheck проба

Изтегляне на “newlogcheck” скриптове

Трябва да конфигурирате настройките на вашата Logcheck себе си, прочетете README, който идва с Logcheck от SourceForge, тогава с моите скриптове. Копирайте ми newlogcheck.sh и sort_logs.pl в Logcheck реж., и тичам newlogcheck.sh вместо logcheck.sh за доклади.

Ако сте готови да вървим напред, да се tarred / gzipped файл тук.

Внимание: Шон Фини <seanius@seanius.net> посочва, че има потенциални условия за състезание с използването newlogcheck на предвидими файлове в директорията на TMPDIR. Тези скриптове са предназначени да бъдат използвани в защитена директория с достъп само до потребителя (режим 700), и майка директории / писане само от този потребител и / или корен.

Syslog-НГ

Архив на всички логове автоматично

Съм настройка Syslog-НГ архив трупи, за да хост-специфични директории в / Var / дневник / хостове в централната ми loghost. По този начин стандарт UNIX инструменти като намерите и Впиши може да се използва за дневника разбор и го от време или от приемащите. За да Впиши срещу лог файлове за всички хостове на 8 ноември, 2001 г., което мога да направя това:

$ grep hacker /var/log/HOSTS/*/2001/11/08/*

… И аз може просто да преминава през всички трупи за домакин намерите или “Впиши-R”, тъй като всички дневници за един хост са в една структура на директория.

Ето Syslog ng.conf директиви за архивиране на начина, по който съм го направил:

 destination hosts {
 file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY"
 owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
 };
 log {
  source(src);
  destination(hosts); 

 };
 

Email някои греди

С това можете да съответстват на съдържанието на съобщението (в този случай низа “attackalert”) и да ги изпратите по пощата. В Syslog-ng.conf:

 дестинация поща сигнал Perl {програма ("/ ЮЕсАр / местни / BIN / Syslog-поща Perl");}; 
 
 
filter f_attack_alert {
		match("attackalert");
 };

 # find messages with "attackalert" in them, and send to the mail-alert script
 log {
	source(src);
	filter(f_attack_alert);
	destination(mail-alert-perl);
 };

Използвайте този Perl скрипт, който да смъкне приоритета на съобщението (което аз открихме, за да бъде безполезно и само clutters до съобщението) и

поща:

Проверете проба Syslog ng.conf файла

Внимание:


Преди да поставите на мястото автоматично известяване за електронна поща - запитайте се дали това е възможно да
се генерират стотици или дори хиляди от тези лог съобщения. Какво ще се случи с вашия имейл сървър? Бихте ли дори да виждате никакви други сигнали, ако сте изтриване на стотици или хиляди на
едно съобщение?


Сложете в някои throtting преди вас настройка автоматично изпращане на електронни писма (можете да използвате
скрипт "
Баш-мейл предупреждение "от секцията мостра ). Това е голямо пространство за DoS, така че си гледай.


Input всички трупи на MySQL база данни

Започнах да поставят в база данни за по-гъвкави заявки, с помощта на SQLSyslogd, написана от Пшемислав Frasunek, можете

да
намерите

на адрес: http://www.frasunek.com/sources/security/sqlsyslogd/.


Харесва ми като SQL на мое разположение, когато имам нужда от много специфична информация от моите дневници.


Можете да тръба sqlsyslogd с линия, като това:

destination sqlsyslogd {
 program("/usr/local/sbin/sqlsyslogd -u sqlsyslogd -t logs sqlsyslogd -p");
};

log {
	source(src);
	destination(sqlsyslogd);
};

"SRC" в този случай е на всички входящи съобщения, няма филтриране на съобщения. Вие все още трябва да настроите вашата база данни, в съответствие с инструкциите за sqlsyslogd. Документи, които идват с нея.

Мостра

Филтър Всички трупи чрез мостра

Ето един начин да получите мостра, за да се чете от стандартния вход, така че той получава всяко съобщение, което минава през вашата Syslog сървър. В Syslog-ng.conf:

 # way to get swatch to read from stdin
 destination swatch {
	program("/usr/bin/swatch --read-pipe=\"cat /dev/fd/0\"");
 };

 # send all logs to swatch
 log {
	source(src);
	destination(swatch);
 }; 


Андреас stling доклади:


Също така изглежда, да работят, да тече мостра без корен, като:

 destination swatch {
	program("su syslog -c '/usr/bin/swatch --read-pipe=\"cat /dev/fd/0\"'");
 }; 


("Syslog" е моят потребител, Syslog-NG)

Внимание:

Аз открих, че Swatch "педала на газта" паузи, когато я принуди да се чете от стандартния вход като това (всъщност се оказва, за да бъдат нарушавани като цяло). Ако не използва тази функция, тогава няма проблем


Ако го направите, след това да използвате този скрипт да педала на газта вместо на мостра (произведения на RedHat Linux, но трябва да работи на всяка UNIX с последните БАШ инсталирани и някои пътеки фиксирани):

Използвайте го като този в swatchrc:

watchfor /no swap space/
  echo
  exec echo $0 | bash-mail-alert swap_space pager@example.dom

Проверете проба конфигурационен файл Swatch

(От преди изпълнява скрипт дроселиране).

SEC

Аз съм Swatch и SEC паралелно. Аз няма причина да се държим мостра около execpt, че начина, по който аз правя дроселиране с мостра (временни файлове) позволи ми за лесно прилагане на регистър на сигнал забраните чрез Syslog (с помощта на командата дървар). Разбира се, те не са свързани с предупреждения за сигурността, аз никога не съм позволи на някой хакер да изключите сигнали по този начин!

Ще трябва да направя нещо с SEC, че използва временни файлове или нещо, което ми позволява една и съща функционалност. Имам нужда от него, защото някои nighly сценарист се рестартира на определени креп системи за управление на съдържанието се генерира на трупи, че по време на поддръжка, че ще искате сигнали от (ми пейджър).

Използването на SEC от Syslog-НГ е като използване на Swatch, макар и не / Dev / FD заобиколно решение, тъй като той пряко поддържа четене от стандартния вход:


################################################## #################### 
destination d_sec { 

  #
  # the redirection here makes syslog-ng invoke sec using a shell instead of directly
  # which leaves sec still running after syslog-ng restarts, DON'T do the redirect unless
  # you really know what you're doing!
  #
  #program("/usr/local/sbin/sec.pl -input=\"-\" -conf=/usr/local/etc/sec.conf >/var/log/sec.er
r 2>&1"); 

	# use this one
  program("/usr/local/sbin/sec.pl -input=\"-\" -conf=/usr/local/etc/sec.conf");
};

# send all logs to sec
log {
  source(src);
  destination(d_sec);
};


################ ##################################

Splunk

Напоследък съм използва Splunk да видите моите дневници. Аз наистина не разполагат с време, за да го напиша, но това е невероятно лесно да я сърбам много на дървени трупи и след това го заявка за специфична информация или просто да

сърфирате из.

Има живо демо на сайта им, където можете бързо да добиете представа за какво става дума.

Следвайте тази док, за да създаде Splunk като интерфейс за вашата Syslog

трупи.

Stunnel

Stunnel - Universal SSL обвивка

Stunnel е програма, която ви позволява да криптиране на произволен TCP връзки вътре SSL (Secure Sockets Layer) за Unix и Windows. Stunnel може да ви позволи да се осигури не-SSL наясно, демони и протоколи (като POP, IMAP, LDAP и т.н.), като Stunnel предостави криптиране, не изисква промени в кода на демон


- цитиран от www.stunnel.org

Имам домакините Syslog събиране в две центрове за данни, че напред използвайки TCP централна loghost. TCP връзки от всяко събиране домакин порт, изпращат над Stunnel.

Събирането домакините във всяка центровете за данни събира трупи чрез UDP, така че не е необходимо специален софтуер за домакините, различни от събиране домакини.

Исках надеждността на TCP, но знаете колко лесно може да бъде да откраднат или по друг начин да наруши TCP поток между два хоста (ако сте на правилното място). Stunnel решава това за мен, като доказателство за поток тампер. Разбира се, те могат да блокират пакети, но те не могат лесно да ги променяте по маршрута.

Настроя тунел ми като този на сателитните сървъри:

Stunnel-в-г 5140-R loghost: 5140

Тогава имам Syslog-НГ пишете на Stunnel пристанището на Localhost:

destination loghost {
	tcp("127.0.0.1" port(5140));
};
log {
	source(src);
	destination(loghost);
};

Централният loghost слуша на порт 5140 и пренасочва тази връзка към порт 514, където слуша Syslog-НГ:

Stunnel-р / и т.н. / Stunnel / stunnel.pem-г 5,140-R 127.0.0.1:514

Comments are closed.