Назад | Перейти на главную страницу

Наследовать существующий сервер

Я только что унаследовал 6 веб-серверов от предыдущего парня, который был уволен, я не системный администратор, а скорее DevOps.

Может ли кто-нибудь указать мне на какой-то стандартный контрольный список, которому следовало бы следовать при наследовании существующих серверов? Мне нужно знать следующее:

  1. Какое программное обеспечение стоит на серверах
  2. Что я должен делать стандартно, чтобы проверить их безопасность?
  3. что к ним подключено и что они тоже связаны?
  4. Что еще я должен знать?

Любые советы приветствуются, я надеялся, что существует стандартный контрольный список, которому следовало бы следовать в качестве начала, но я не смог ничего найти.

Все серверы - Ubuntu (разные версии)

  1. Чтобы определить, какое программное обеспечение было установлено, вы можете просмотреть /var/log/dpkg.log Однако это может быть неполная запись. Могут быть двоичные файлы и код, который был скомпилирован вручную или скопирован непосредственно в предварительно скомпилированную систему. Вы мог сравните установку по умолчанию той же версии и типа Ubuntu с сервером (ами) и посмотрите, какие файлы отличаются, но это может быть довольно утомительно. Идеально подойдет решение для файлового монитора (tripewire, inotifywatch и т. Д.) http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html

  2. Вам нужно проверить ВСЕ на сервере. Каждая учетная запись пользователя в / etc / passwdнеобходимо учитывать каждую учетную запись пользователя приложения (например, пользователей Apache / PHP, учетные записи базы данных и т. д.), и вам следует изменить все пароли. Вы должны проверить, какие службы запускаются при загрузке, каков уровень запуска по умолчанию и что запускается с ним и с другими уровнями запуска. Я бы использовал сканер уязвимостей и инструмент базовой конфигурации для аудита текущего состояния. Центр Интернет-безопасности предлагает бесплатный инструмент для оценки конфигурации, но его возможности могут быть ограничены. У них есть более продвинутые инструменты для членских организаций ($). http://benchmarks.cisecurity.org/ OpenVAS - это сканер FOSS, мало чем отличающийся от Nessus, который может иметь аналогичные возможности. Есть еще очень много вещей, которые нужно проверить, но этот ответ уже становится немного длинным ... (хороший пример - проверка кода для веб-приложений и веб-страниц.)

  3. Вы можете увидеть обзор состояния портов, доступных для подключений к серверам, с различными флагами для netstat. http://www.thegeekstuff.com/2010/03/netstat-command-examples/ Идентифицировать ВОЗ подключается к серверу, вам придется прибегнуть к самому сексуальному из действий по обеспечению безопасности в Интернете, просмотру журналов системы. Информация может быть в любом из нескольких журналов, в зависимости от того, какие приложения и серверы находятся в системе. Вам также может повезти с внешними сетевыми журналами, если они существуют.

  4. У тебя есть много дальнейших действий. Вы указали, что предыдущий администратор был уволен; если вы подозреваете наличие у этого человека злонамеренного намерения (например, они могли оставить бэкдоры, ловушки для ловушек, логические бомбы и т. д.), вам почти наверняка будет лучше восстановить серверы с чистых носителей и заново реализовать на них веб-приложения. Если предыдущий администратор имел полный доступ и контроль над этой системой и не подвергался тщательному аудиту и наблюдению, вам, вероятно, следует предположить, что существуют бэкдоры.

Это основано на пессимистическом предположении о предыдущем администраторе. К сожалению, именно так cookie разрушается для обеспечения безопасности сети. Как я уже сказал, нужно учитывать гораздо больше ... гораздо больше, чем можно здесь описать. Эти моменты должны помочь вам начать работу, чтобы вы могли сообщить руководству о том, что вы добились определенного прогресса; но, честно говоря, если вы не профессионал в области безопасности и у вас есть основания подозревать, что этот человек действовал со злым умыслом, вы, вероятно, преувеличены.

Это непопулярный ответ со стороны руководства, потому что он требует больших усилий (что означает больше долларов), но общий ответ, ориентированный на безопасность, таков: в случае сомнений протрите и восстановите из чистых источников. Вот как наиболее важные государственные системы работают с вредоносными программами; если предупреждение приходит от AV, система разделяется, стирается и восстанавливается. Надеюсь, вы сделали резервную копию, потому что данные УШЕЛ.

Удачи, и я надеюсь, что это было полезно, а не просто удручающе.

Страницы руководства - ваши друзья:

 man <command> 

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

  <command> --help 

Программное обеспечение:

  • dpkg -l (список установленного программного обеспечения)
  • ps -ef | more (получить список запущенных процессов и приостановить чтение)

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

  • iptables (какие порты открыты и нужны ли)
  • проверяйте обновления с помощью apt-get (актуальны ли серверы?)
  • cat / etc / passwd (у кого есть аккаунт на коробке)
  • sshd (проверьте, запущен ли sshd и кто может войти в систему)

Подключения:

  • netstat (какие службы слушают и на каких портах)

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

  1. какие приложения работают: выполните «ps -ef» или «ps -auxw», чтобы получить список процессов. отсеивайте все, что не связано с ядром, ищите все, что работает, просматривайте справочные страницы для каждого, чтобы выяснить, что это такое. большинство запущенных процессов можно игнорировать, потому что они не являются пользовательскими приложениями.

  2. для безопасности: выполните команду netstat -pan, чтобы узнать, какие порты открыты, и закройте все ненужные. Другими словами, открытыми должны быть только те порты, которые соответствуют сетевым службам, предоставляемым этими серверами. Если сервер является веб-сервером, то, очевидно, он должен прослушивать порт 80/443 / и т. Д. Но если сервер прослушивает порт 21, и никто его не использует, вам следует отключить процесс, у которого этот порт открыт.

  3. для соединений ответ снова дает "netstat -pan". Он сообщает вам, какие хосты подключены и к каким портам они подключены.

  4. просмотрите журналы в / var / log, чтобы получить представление о том, что делает система, и увидеть, есть ли какие-либо очевидные ошибки или красные флажки, исходящие от разных приложений.