Як ви можете сказати, що насправді робить сервер? [зачинено]


42

Мені передали 3 ящики для Linux, 1 лицьову сторону з апашем на ньому та ще 2, які, наскільки я можу сказати, не роблять дуже багато. Всі працюють на Redhat.

Питання просте: як я можу сказати, що насправді робить сервер? Нульова документація доступна у автора.


7
Список процесорів, слухачі мережі (можливо, порівняйте з цим, мали б працювати на основі сценаріїв init) ...
HBruijn

5
чорт! напевно хтось знає, для чого вони? тож вони хочуть, щоб ти їх підтримував, але не знаєш, що вони роблять ?!
Digital Lightcraft

11
Вимкніть їх. Хтось повідомить вам майже одразу про те, що не працює.
jscott

58
НЕ ВІДКЛЮЧВАЙТЕ Відключіть кабель Ethernet, якщо ви хочете провести кричущий тест. Якщо ви ніколи не перезавантажували коробку з дворічним режимом продовження роботи, ви в якийсь момент. Це не час додати цю розчарування до суміші.
Аарон Коплі

7
Що всі інші сказали, але також: запустіть nmap проти них.
Кетрін Вільярд

Відповіді:


42

Відключіть кабель Ethernet і подивіться, хто засмучується.

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


43
НЕ ВІДКЛЮЧВАЙТЕ ЇЇ. Відключіть кабель Ethernet, якщо ви хочете провести кричущий тест. Якщо ви ніколи не перезавантажували коробку з дворічним режимом продовження роботи, ви в якийсь момент. Це не час додати цю розчарування до суміші. (Скопіюйте це сюди, тому що його потрібно прочитати.)
Аарон Коплі

3
Ти на 100% прав, я відредагував публікацію, щоб це відобразити. Я був трохи пильним, але все ще можу бути уважним, не сприяючи катастрофі.
Джош Румбут

8
Перш ніж відключити мережу, корисно зберегти список запущених процесів та відкритих сокетів на кожному сервері - про всяк випадок, коли щось покладається на TCP-з'єднання між серверами, яке, без сумніву, залишається встановленим протягом багатьох місяців. автоматизуючи будь-які кроки, необхідні для його відкриття в першому випадку. (Наприклад, якщо комусь було потрібно тимчасове переадресація порту ssh, а потім забув про нього.)
kasperd

4
Не робіть цього. Які смішні поради. Дурні бездумні ІТ-люди, які роблять це, коштували мені стільки часу і роботи. ЗАПИТАТИ ПЕРШЕ. Якщо ви не знаєте, кого запитати, ЗАПИТАТЬ ВСЕ .
Гонки легкості з Монікою

4
Переконайтеся, що ви залишаєте достатньо часу для того, щоб хтось кричав - коли я це робив із запиленою або настільною машиною, що сиділа на стійці серверної кімнати - ніхто не знав, що це робило. Минув цілий місяць, щоб хтось помітив, коли ми відключили його. . Виявляється, вона була частиною системи оплати праці, без цього сервера Бухгалтерський облік не міг генерувати щомісячну заробітну плату. Він працював без нагляду протягом принаймні 3 роки, ніхто не звертав на це ніякої уваги - тому "крик-тест" був успішним, якби ми цього не зробили, сервер, врешті-решт, загинув би самостійно. Ми закінчили p2v'ing це у нашому кластері vmware.
Джонні

30

Це досить широке питання для формату Serverfault, але ось вдалий початок:

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

Ви не згадали версію, тому я пропустив специфіку.


8
Існує щось більш важливе, ніж те, які служби налаштовані для запуску, коли система завантажується. Які послуги працюють зараз? Запустити послугу і забути налаштувати її для запуску під час завантаження - це не складна помилка. У відповідній примітці корисно подивитися інші стану системи, такі як: точки монтажу, таблиця маршрутизації, правила iptables. Все це - речі, які можна легко змінити під час роботи системи, не пам'ятаючи про оновлення конфігураційних файлів, що використовуються під час завантаження.
kasperd

Крім того, я б використовував сканер портів, щоб побачити, які порти відкриті, а потім спробуйте підключитися до нього за допомогою звичайних інструментів. Для (простого) прикладу, якщо порт 443 відкритий, ви можете спробувати скористатися веб-браузером для підключення до нього. Мені доводилося часто досліджувати такі, здавалося б, покинуті сервери, і одним з моїх улюблених інструментів для швидкого перегляду файлів конфігурації в / etc та інших місцях є використання "lynx" або "link", якщо ви хочете. Це веб-браузери на основі персонажів, які також досить добре працюють як файловий браузер із зручною навігацією по клавішах курсору.
aseq

1
@kasperd Чесна гра в режимі запуску та постійних сервісів. Але я подумав про правила брандмауера, точки монтажу тощо. Вони здалися мені допоміжними компонентами, які вже будуть прив'язані до однієї з існуючих точок кулі. YMMV.
Аарон Коплі

Будь ласка, додайте - Перевірте наявність активних мережевих з'єднань та запишіть назви послуг та номери портів. Найкращий спосіб зробити це залежить від операційної системи. EG чистий стат. Крім того, покладіть якийсь слід на комп’ютер, щоб ви могли бачити, що він робить протягом дня. Ви також можете додати розгляд сценаріїв, коли речі, що працюють на серверах, МОЖЕ бути шкідливими.
IceMage

19

Ви можете зробити кілька речей, щоб спробувати встановити, що працює у вашій системі.

Ви можете перевірити, які порти слухає ваш сервер, щоб отримати уявлення про те, що там є. Гарною командою для використання було б:

 [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), адресу, яку слухають, відкритий порт та програму, що слухає.

У наведеному вище усіченому прикладі (серверна машина) ви можете бачити порти 139, 5666 та 22 прослуховування tcp. Вони вирішуються відповідно до 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


5
Мені netstat -pluntлегше запам'ятати.
abligh

2
Також tcpdumpможе бути корисно визначити, хто насправді використовує кожну послугу.
abligh

18

Інший метод включає перевірку /etcкаталогу та перегляд дати модифікації. Після нового встановлення всі файли в цьому каталозі повинні мати приблизно однакову дату / час. Оскільки при встановленні зазвичай встановлюється багато речей, які люди зазвичай не використовують, лише ті файли, які мають пізнішу дату модифікації, відображають фактичну мету сервера . Якщо це ext4, ви також повинні мати можливість витягнути дату народження каталогів, тому завдання може бути досить простим.

Ще один метод передбачає перевірку .bash_historyфайлів, щоб побачити, чим займаються адміністратори. Цей файл може забезпечити безліч знань.


7

Перевірте правила брандмауера. Маючи трохи удачі, він налаштований на дефолт-заборону. Це означає, що існує чітке правило для кожної дозволеної послуги.

Це краще, netstatтому що він також може показувати порти, відкриті, наприклад, для нічних резервних копій.


6

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

find . -mtime -3 

Це знайде змінені файли в поточному каталозі та глибші, змінені за останні 3 дні. Збільште число 3 до освіченої здогадки, поки не отримаєте певний результат, який зможете дослідити.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.