Безопасность

Как отправить журналы Linux на удаленный сервер

Как отправить журналы Linux на удаленный сервер
Основная причина для применения удаленного ведения журнала - та же причина, по которой рекомендуется выделенный раздел / var: вопрос места, но не только. Отправляя журналы на выделенное устройство хранения, вы можете предотвратить использование журналами всего пространства, сохраняя при этом огромную историческую базу данных, чтобы допустить ошибки.

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

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

Чтобы следовать инструкциям по использованию виртуального устройства, я взял бесплатный VPS уровня от Amazon (если вам нужна помощь в настройке устройства Amazon, у них есть отличный выделенный контент на Linux https: // linuxhint.ru / category / aws /). Обратите внимание, что общедоступный IP-адрес сервера отличается от его внутреннего IP-адреса.

Перед запуском:

Программное обеспечение, используемое для удаленной отправки журналов, - это rsyslog, оно поставляется по умолчанию в Debian и производных дистрибутивах Linux, если оно у вас не запущено:

# sudo apt install rsyslog

Вы всегда можете проверить состояние rsyslog, запустив:

# sudo service rsyslog status

Как вы можете видеть, статус на скриншоте активен, если ваш rsyslog не активен, вы всегда можете запустить его, запустив:

# sudo service rsyslog start

Или же

# systemctl start rsyslog

Примечание: Для получения дополнительной информации обо всех вариантах управления службами Debian проверьте Остановка, запуск и перезапуск служб в Debian.

Запуск rsyslog сейчас не актуален, потому что нам нужно будет перезапустить его после внесения некоторых изменений.

Как отправлять журналы Linux на удаленный сервер: на стороне сервера

Прежде всего, на сервере отредактируйте файл / и т.д. / resyslog.conf используя nano или vi:

# нано / etc / rsyslog.conf

В файле раскомментируйте или добавьте следующие строки:

модуль (load = "imudp")
input (type = "imudp" port = "514")
модуль (load = "imtcp")
input (type = "imtcp" port = "514")

Выше мы раскомментировали или добавили прием журналов через UDP и TCP, вы можете разрешить только один из них или оба, после раскомментирования или добавления вам нужно будет отредактировать правила брандмауэра, чтобы разрешить входящие журналы, чтобы разрешить прием журналов через запуск TCP:

# ufw allow 514 / tcp

Чтобы разрешить входящие журналы по протоколу UDP, выполните следующие действия:

# ufw allow 514 / udp

Чтобы разрешить как TCP, так и UDP, выполните две приведенные выше команды.

Примечание: для получения дополнительной информации о UFW вы можете прочитать Работа с брандмауэрами Debian (UFW).

Перезапустите службу rsyslog, запустив:

# sudo service rsyslog restart

Теперь продолжаем на клиенте настраивать отправку журналов, затем мы вернемся к серверу, чтобы улучшить формат.

Как отправлять журналы Linux на удаленный сервер: на стороне клиента

В журналах отправки клиента добавьте следующую строку, заменив IP 18.223.3.241 для IP вашего сервера.

*.* @@ 18.223.3.241: 514

Выйдите и сохраните изменения, нажав CTRL + X.

После редактирования перезапустите службу rsyslog, запустив:

# sudo service rsyslog restart

На стороне сервера:

Теперь вы можете проверять журналы внутри / var / log, открывая их, вы заметите смешанные источники для своего журнала, в следующем примере показаны журналы из внутреннего интерфейса Amazon и из клиента Rsyslog (Montsegur):

При увеличении видно:

Смешивать файлы неудобно, ниже мы отредактируем конфигурацию rsyslog, чтобы разделить журналы в соответствии с источником.

Чтобы различать журналы внутри каталога с именем клиентского хоста, добавьте следующие строки к серверу / etc / rsyslog.conf, чтобы указать rsyslog, как сохранять удаленные журналы, чтобы сделать это в rsyslog.conf добавьте строки:

$ template RemoteLogs, "/ var / log /% HOSTNAME% /.бревно"
*.* ?RemoteLogs
& ~

Выйдите из сохранения изменений, нажав CTRL + X, и снова перезапустите rsyslog на сервере:

# sudo service rsyslog restart

Теперь вы можете увидеть новые каталоги, один из которых называется ip-172.31 год.47.212, который является внутренним интерфейсом AWS и другим, называемым «montsegur», таким как клиент rsyslog.

В каталогах вы можете найти журналы:

Заключение:

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

Внедрение этого решения технически довольно просто и даже бесплатно, учитывая, что большие ресурсы не нужны, а бесплатные серверы, такие как бесплатные уровни AWS, подходят для этой задачи, если вы увеличите скорость передачи журналов, вы можете разрешить только протокол UDP (несмотря на потерю надежности). Есть несколько альтернатив Rsyslog, например: Flume или Sentry, но rsyslog остается самым популярным инструментом среди пользователей Linux и системных администраторов.

Надеюсь, вы нашли эту статью о том, как отправлять журналы Linux на удаленный сервер, полезной.

Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...