Успадкуйте існуючий сервер


9

Я щойно успадкував 6 веб-серверів від попереднього хлопця сервера, якого звільнили, я не системдмін, я більше DevOps.

Чи міг би хтось вказати мені на якийсь стандартний контрольний список, якого слід дотримуватися при успадкуванні існуючих серверів? Що я повинен знати:

  1. Яке програмне забезпечення є на серверах
  2. Які стандартні речі я повинен зробити, щоб перевірити їх надійність?
  3. що з ними пов’язане і з чим вони теж пов'язані?
  4. Що ще я повинен знати?

Будь-яка порада вітається, я сподівався, що існує стандартний вид контрольного списку, який слід буде робити як початок, але я нічого не міг знайти.

Всі сервери - Ubuntu (різні версії)


3
Ви не DevOps. DevOps - це не назва, це культура.
gWaldo

Що було б кращим терміном використання для "розробника, змушеного виконувати роботу системних адміністраторів без досвіду роботи системного адміністратора, але добре розуміння всіх задіяних концепцій та достатня кількість досвіду, щоб" отримати "
user3408844

Погодившись, прочитавши DevOps у Вікіпедії, я бачу, що я користувався ним неправильно, але, схоже, він став сленгом у повсякденному житті розробників, які мають стати напівсидмінами
user3408844

Термін для того, що ви описуєте, є "Розробник" або "Розробник, змушений брати на себе деякі службові обов'язки".
gWaldo

Оце Так! - багато зусиль докладено до цього
user3408844

Відповіді:


24
  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, система відокремлюється, стирається та відновлюється. Сподіваюся, ви створили резервну копію, оскільки дані GONE .

Удачі, і я сподіваюся, що це було корисно, а не просто пригнічує.


Це питання також може відповідати сайту StackExchange www.AskUbuntu.com
0xSheepdog

2
Відмінна відповідь.
ЄЕАА

3
Стирання та відновлення, ймовірно, значно полегшиться, якщо у вас є гарне управління деклараційною конфігурацією. Якщо ви цього не зробите, вам, мабуть, варто подумати про досягнення цієї мети.
zigg

2
/var/log/dpkg.logдобре підходить для перегляду самого процесу встановлення (і пошуку помилок), але щоб отримати список встановлених пакетів, вихід dpkg -lабо навіть простіше dpkg --get-selectionsзасвоюється.
Дубу

0

Сторінки чоловіка - ваш друг:

 man <command> 

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

  <command> --help 

Програмне забезпечення:

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

Безпека:

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

З'єднання:

  • netstat (які сервіси слухають і в яких портах)

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


0
  1. які програми запущені: зробіть "ps -ef" або "ps -auxw", щоб отримати список процесів. вилучіть все, що не пов’язане з ядром, шукайте те, що працює, робіть довідкові сторінки на кожній, щоб зрозуміти, що це. Більшість запущених процесів ви можете сміливо ігнорувати, оскільки вони не є додатками користувачів

  2. для безпеки: зробіть "netstat -pan", щоб побачити, які порти відкриті, і закрийте будь-які, які не потрібні. Іншими словами, єдиними портами, які повинні бути відкритими, є ті, які відповідають мережним службам, що надаються цими серверами. Якщо сервер - це веб-сервер, то, очевидно, його потрібно прослуховувати через порт 80/443 / тощо. Але якщо сервер прослуховує порт 21 і його ніхто не використовує, слід вимкнути процес, у якому цей порт відкритий.

  3. для з'єднань, знову "netstat -pan" дає вам відповідь. Він повідомляє вам, які хости підключені та до яких портів вони підключені.

  4. перегляньте журнали в / var / log, щоб отримати уявлення про те, що вони роблять у системі, і побачити, чи є явні помилки чи червоні прапори, що надходять із різних програм.

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