Проекты: Центральный сервер RSyslog
Перевод: Unix Tutorial Projects: Centralised RSyslog
RSyslog
С учётом того количества времени и новых вещей, которые я изучаю и налаживаю в рамках сайта Unix Tutorial, я решил запустить ещё один раздел: проекты Unix Tutorial.
По выходным у меня немного больше времени, так что в начале или конце каждого подобного проекта я буду создавать новый пост с описанием задачи, мотивации и плана к её достижению.
Центральный сервер на базе RSyslog
Что это значит? Это будет сервер (сначала - одна из моих систем Raspberry Pi) для централизованного сбора логов со всех остальных систем в моём офисе, систем в моём аккаунте AWS и с моих выделенных и виртуальных серверов.
Основные преимущества централизованных логов:
- более лёгкий и быстрый доступ к логам - не нужно заходить на каждый сервер по SSH
- бОльшая гибкость при просмотре логов - иногда быстрый grep через один и тот же лог, но со всех систем сразу, сможет показать гораздо больше, чем рассматривание каждого индивидуального блога
- лучшее понимание фунтаментальных проблем - если какой-то сервер или сервис засыпает сообщениями в логах, это хорошо: есть проблемы и их можно исправить. Отдельные сервера или логи было бы проще проигнорировать
- легко наладить аналитику - собирая логи на центральном сервере, можно легко напарвлять их в стек ELK (Elastic, Logstash, Kibana) для визуализации
- надёжный доступ к логам – иногда инциденты вырубают целые фермы серверов или же подчищают за собой следы - на серверах, где был взлом уже нет никаких улик. А логи, вовремя доставленные на удалённый централизованный сервер, удалить гораздо сложнее - по ним можно восстановить картину и правильно среагировать.
Я знаю про множество сервиров, и являюсь пользователем DataDog, так что данный проект - это изобретение очередного колеса в какой-то мере. Но этот проект очень похож на замечательный способ провести несколько выходных и вывести моё понимание RSyslog на качественно новый уровень - а это и в других проектах пригодится.
Мой План для Централизованного Сервера RSyslog
Вот такие у меня запланированы шаги. Дайте знать, если я что-то забыл или упускаю из виду:
- подключить USB флешку к Raspberry Pi для хранения логов - намного лучше хранить данные на отдельной файловой системе, чтобы ни в коем случае не повлиять на корневую файловую систему
- установить RSyslog из стандартных репозитариев Raspbian
- открыть внешний порт на моём рутере и позволить на нём трафик RSyslog
- создать само-подписанный сервер CA и насоздавать ключи и сертификаты для всех систем-клиентов RSyslog
- настроить шифрование данных (TLS) и отключить приём логов по не-шифрованному порту Syslog (514)
- настроить все удалённые системы (в офисе и в интернете) доставлять логи на центральный сервер RSyslog
- настроить RSyslog раскладывать логи с разных серверов в отдельные файлы
- настроить фильтрацию логов по содержанию filter logs by application or message content
- setup real-time monitoring of syslog logs with grc colouriser
- написать скрипты для просмотра логов и рассчётов требования для долгосрочного хранения
Я обновлю этот пост, когда закончу с проектом.
Ссылки
- Проекты Unix Tutorial
- Project: Centralised RSyslog - оригинал этой статьи на моём основном блге
- RSyslog website
- RSyslog: Separate Log File for Each Host
- Review Latest Logs with tail and awk
- Script: Save Your Session Log
RSyslog
С учётом того количества времени и новых вещей, которые я изучаю и налаживаю в рамках сайта Unix Tutorial, я решил запустить ещё один раздел: проекты Unix Tutorial.
По выходным у меня немного больше времени, так что в начале или конце каждого подобного проекта я буду создавать новый пост с описанием задачи, мотивации и плана к её достижению.
Центральный сервер на базе RSyslog
Что это значит? Это будет сервер (сначала - одна из моих систем Raspberry Pi) для централизованного сбора логов со всех остальных систем в моём офисе, систем в моём аккаунте AWS и с моих выделенных и виртуальных серверов.
Основные преимущества централизованных логов:
- более лёгкий и быстрый доступ к логам - не нужно заходить на каждый сервер по SSH
- бОльшая гибкость при просмотре логов - иногда быстрый grep через один и тот же лог, но со всех систем сразу, сможет показать гораздо больше, чем рассматривание каждого индивидуального блога
- лучшее понимание фунтаментальных проблем - если какой-то сервер или сервис засыпает сообщениями в логах, это хорошо: есть проблемы и их можно исправить. Отдельные сервера или логи было бы проще проигнорировать
- легко наладить аналитику - собирая логи на центральном сервере, можно легко напарвлять их в стек ELK (Elastic, Logstash, Kibana) для визуализации
- надёжный доступ к логам – иногда инциденты вырубают целые фермы серверов или же подчищают за собой следы - на серверах, где был взлом уже нет никаких улик. А логи, вовремя доставленные на удалённый централизованный сервер, удалить гораздо сложнее - по ним можно восстановить картину и правильно среагировать.
Я знаю про множество сервиров, и являюсь пользователем DataDog, так что данный проект - это изобретение очередного колеса в какой-то мере. Но этот проект очень похож на замечательный способ провести несколько выходных и вывести моё понимание RSyslog на качественно новый уровень - а это и в других проектах пригодится.
Мой План для Централизованного Сервера RSyslog
Вот такие у меня запланированы шаги. Дайте знать, если я что-то забыл или упускаю из виду:
- подключить USB флешку к Raspberry Pi для хранения логов - намного лучше хранить данные на отдельной файловой системе, чтобы ни в коем случае не повлиять на корневую файловую систему
- установить RSyslog из стандартных репозитариев Raspbian
- открыть внешний порт на моём рутере и позволить на нём трафик RSyslog
- создать само-подписанный сервер CA и насоздавать ключи и сертификаты для всех систем-клиентов RSyslog
- настроить шифрование данных (TLS) и отключить приём логов по не-шифрованному порту Syslog (514)
- настроить все удалённые системы (в офисе и в интернете) доставлять логи на центральный сервер RSyslog
- настроить RSyslog раскладывать логи с разных серверов в отдельные файлы
- настроить фильтрацию логов по содержанию filter logs by application or message content
- setup real-time monitoring of syslog logs with grc colouriser
- написать скрипты для просмотра логов и рассчётов требования для долгосрочного хранения
Я обновлю этот пост, когда закончу с проектом.
Ссылки
- Проекты Unix Tutorial
- Project: Centralised RSyslog - оригинал этой статьи на моём основном блге
- RSyslog website
- RSyslog: Separate Log File for Each Host
- Review Latest Logs with tail and awk
- Script: Save Your Session Log