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

Как узнать, что на самом деле делает сервер?

Мне вручили 3 коробки с Linux: 1 с апачем на передней панели и еще 2, которые, насколько я могу судить, не так уж и много работают. Все работает на Redhat.

Вопрос прост: как узнать, что на самом деле делает сервер? Никакая документация доступна от создателя.

Отключите кабель Ethernet и посмотрите, кто расстроится.

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

Это довольно общий вопрос для формата Serverfault, но вот хорошее начало:

  • Проверьте запущенные процессы и те, которые запланированы для запуска при запуске системы.
    • Просмотрите текущую конфигурацию каждого.
    • Загляните в любые определенные каталоги данных. (Может, кто-то установил MySQL и включил, но баз данных нет.)
  • Проверьте наличие запланированных задач.
  • Проверьте журналы, чтобы увидеть;
    • кто заходил в систему недавно (и спросите их)
    • и получить представление о том, что работает.

Вы не упомянули версию, поэтому я опустил детали.

Есть несколько вещей, которые вы можете сделать, чтобы попытаться выяснить, что работает в вашей системе.

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

 [root@server ~]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             Stat    e       PID/Program name
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LIST    EN      1880/smbd
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LIST    EN      1911/nrpe
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LIST    EN      1759/sshd

Как видно из приведенного выше примера вывода, он представляет вам версию протокола (tcp или udp), адрес, который прослушивается, открытый порт и программу, которая прослушивает.

В приведенном выше усеченном примере (серверная машина) вы можете видеть, что TCP-порты 139, 5666 и 22 прослушивают. Они разрешают samba, nrpe (агент Nagios) и ssh соответственно и подтверждаются, когда вы проверяете программу, которая прослушивает этот порт.

Кроме того, вы можете проверить список демонов, которые настроены для запуска при загрузке, для этого выполните: chkconfig --list | grep "3:on"

Пример:

[root@server ~]# chkconfig --list | grep "3:on"
NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
webmin          0:off   1:off   2:on    3:on    4:off   5:on    6:off
x2gocleansessions       0:off   1:off   2:on    3:on    4:on    5:on    6:off
.
.
.

или :

service --status-all

Другой метод включает проверку /etc каталог и глядя на даты модификации. После новой установки все файлы в этом каталоге должны иметь примерно одинаковую дату и время. И поскольку установка обычно устанавливает множество вещей, которые люди обычно не используют, только файлы, у которых есть более поздняя дата модификации, отражают фактическое назначение сервера. Если это ext4, вы также должны иметь возможность извлекать дату рождения каталогов, так что задача может быть довольно простой.

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

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

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

Один ответ, который я еще не видел: проверьте самые последние измененные файлы. Журналы, файлы базы данных, другие файлы вывода и т. Д. Могут быть записаны в все еще, что может дать подсказки:

find . -mtime -3 

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

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