В моем недавнем посте о тестировании системы безопасности Linux возник вопрос о моих процедурах поддержания работоспособности системы Linux. Помимо некоторых конкретных процедур, основанных на особых потребностях некоторых клиентов, я отметил несколько странных задач, а затем разбил свою рутину на ежедневные, еженедельные и ежемесячные графики.
Есть несколько вещей, которые я делаю только в отдельных случаях, например, ежеквартальный аудит пользователей, уборка дома в каталогах административного хранилища (загрузки, исправления, шансы и результаты) и ежеквартальные тесты восстановления резервной копии. Последнее каждый администратор должен делать как минимум два раза в год — буквально тестируя восстановление с ленты, диска или онлайн-хранилища, чтобы убедиться, что процессы резервного копирования работают правильно.
Одна из последних ежеквартальных задач — сброс старых журналов доступа Apache, где это применимо, с сервера резервного копирования, поскольку некоторые из них занимают гигабайт за гигабайт пространства.
В качестве предыстории, большинство серверов Linux, которыми я управляю, не все находятся в моем собственном центре обработки данных или от одного клиента, разбросанных по разным средам. Мне все еще удавалось поддерживать ограниченное количество сборок и конфигураций операционной системы, поэтому я не создаю хаос как системный администратор. Я также провожу большую часть своего времени за усилением Linux-системы с помощью iptables, настройкой подробного ведения журналов и ужесточением приложений, таких как Apache, SSH, почтовые серверы, ftp и другие, с самого начала его развертывания.
Моя ежедневная рутина довольно проста и включает краткие обзоры журналов для iptables, системных журналов, почты, Интернета, ftp и ssh. Обычно я запрашиваю все почтовые серверы, что находится в очереди (обычно мусорный спам, но время от времени законное потерянное сообщение). В qmail это очень просто с помощью qmailctl в командной строке и удобного сценария Perl, который показывает заголовки почты в очереди.
Помимо ожидаемых ежедневных задач, которые выполняются в cron на большинстве производственных серверов Linux, у меня есть несколько пользовательских заданий cron, которые я проверяю для обработки оперативного резервного копирования в онлайн-хранилище с помощью rsync, некоторые почтовые задачи, сценарии, специфичные для клиентов, измерения использования полосы пропускания и Tripwire log.
Еженедельно я выделяю некоторое время, чтобы снова проверить некоторые системные и клиентские журналы, чтобы убедиться, что все работает гладко, многочисленные автоматические передачи данных и просмотр моей собственной базы данных SSL-сертификатов, доменных имен и дат контрактов на хостинг. Именно в этом еженедельном окне я также уделяю время более глубокому изучению любых нестабильных записей в журнале, таких как попытки проникновения и другие возможные попытки вредоносной атаки. Если что-то существенное приходит из исследования, я сообщаю соответствующему провайдеру, откуда исходит исходный IP.
Я также выделил еженедельный интервал для просмотра различных полученных сообщений о безопасности и уязвимостях, а также RSS-каналов или веб-сайтов, которые я отслеживаю (кроме, конечно, красных сообщений с предупреждениями, на которые я отвечаю по требованию для внесения исправлений).
Наконец, ежемесячно я гарантирую, что ротация журналов происходит по всем ящикам, которыми я управляю, и более внимательно смотрю на журналы резервного копирования. Наконец, я обычно запускаю некоторые утилиты, контролирующие дисковое пространство, просматриваю журналы «top» и «mytop», сделанные в файл в разное время в течение предыдущего месяца, и, возможно, запускаю проверки руткитов.
Конечно, это не является всеобъемлющим, поскольку существуют специфические для клиента задачи, но отражает то, что поддержание работоспособности серверов Linux влечет за собой правильную его сборку, знание того, что происходит, и поддержание актуальности системы.
Если у вас есть такая гибкость, идеально иметь хотя бы один сервер Linux для разработки, чтобы вы могли запускать быстрые тесты исправлений, обновлений и т. Д. Для ваших сред (я переношу производственную коробку на внутренний сервер Linux, работающий под управлением 10.5.xx -публичный IP и тест для собственных нужд). Это позволяет вам быстро реагировать на экстренные обновления и проводить тестирование, поэтому никакие производственные службы не нарушаются.
Возможно, самое важное, моя последняя ежемесячная активность — это рассылка счетов! ;>)