Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

Hardening и принципите на CIS

Модул 10: Безопасност в дългосрочен план · Време за четене: 11 минути

Цел на урока: След този урок ще можете да обясните какво е hardening и кои принципи стоят зад него, ще знаете какво представляват CIS Benchmarks и как да ги използвате разумно, и ще можете систематично да проверите сървъра си с Lynis.

Основни понятия: hardening, повърхност за атака, минимална инсталация, минимални права (least privilege), многослойна защита (defense in depth), CIS Benchmarks, Level 1 и Level 2, CIS Controls, Lynis, hardening index, AppArmor, SELinux, sysctl, синхронизация на времето

Какво е hardening?

Една нова инсталация на Debian или Ubuntu е сравнително сигурна, но е създадена да работи на възможно най-много места. Hardening (втвърдяване, укрепване) означава да приспособите сървъра си точно към Вашата употреба: да премахнете всичко, което не Ви е нужно, и да направите по-строго всичко, което може да бъде по-строго, без да повредите собствените си услуги.

В предишните модули вече направихте това стъпка по стъпка: SSH с ключове (модул 2), обикновен потребител със sudo (модул 3), автоматични актуализации (модул 4), защитна стена и fail2ban (модул 5), услуги под собствени потребители (модул 6). Този урок поставя тези отделни мерки в обща рамка, за да видите какво още липсва.

Четири принципа

1. Малка повърхност за атака. Каквото го няма, не може да се счупи. Всяка инсталирана услуга, всеки отворен порт, всеки акаунт е възможен вход (урок 5.1). Инсталирайте минимално и премахвайте онова, което вече не използвате:

anna@web1:~$ systemctl list-units --type=service --state=running
anna@web1:~$ sudo ss -tulpn
anna@web1:~$ apt list --installed | wc -l

Ако работи услуга, която не познавате, проучете какво прави тя (урок 6.1). Ако не Ви е нужна, премахнете пакета.

2. Минимални права. Всеки потребител и всяка програма получава само правата, които са ѝ нужни (урок 3.2). Без ежедневна работа като root, услуги под собствени потребители, потребители на бази данни само с права върху собствената си база данни, без chmod 777.

3. Многослойна защита. Приемете, че една мярка може да се провали. База данни, която слуша само на 127.0.0.1 и е зад защитна стена и има силна парола, остава сигурна дори ако една от трите мерки случайно отпадне. Това се нарича defense in depth.

4. Да знаете какво се случва. Hardening не е само затваряне, а и наблюдение: логове, които се съхраняват (урок 6.2), наблюдение, което Ви известява (урок 8.3), и резервни копия, с които можете да се върнете назад (модул 8). Без тях ще забележите проникване едва когато е твърде късно.

CIS Benchmarks

Center for Internet Security (CIS) е американска организация с нестопанска цел, която създава CIS Benchmarks: подробни списъци с препоръчителни настройки за всеки продукт, съставени от доброволци от света на сигурността. Те са над сто, включително за Debian Linux и Ubuntu Linux, за всяка версия. Можете да изтеглите pdf файловете безплатно за некомерсиална употреба, след като си създадете акаунт.

Един benchmark за Linux съдържа стотици препоръки, всяка с обяснение, начин за проверка и начин за настройване. Те са разделени на профили:

  • Level 1: основни мерки, които можете да въведете сравнително бързо, с ясна полза за сигурността, без сървърът да стане много по-малко използваем. За повечето сървъри това е целта.
  • Level 2: допълнителни мерки за среди, в които сигурността е на първо място (многослойна защита). Те могат да струват функционалност или скорост и според самия CIS могат да навредят, ако ги прилагате без внимание.

За Linux има отделни профили за сървъри и за работни станции.

Примери за теми в benchmark за Linux: отделни дялове за /tmp и /var/log, изключване на неизползвани файлови системи и мрежови протоколи, синхронизация на времето, одитно логване, настройки на SSH (много от тях познавате от урок 2.2), политика за пароли, права върху важни файлове и защитната стена.

Освен Benchmarks съществуват и CIS Controls (в момента версия 8.1): това не са настройки за отделен продукт, а списък от осемнадесет групи мерки за цяла организация, например "инвентаризация на софтуера", "управление на уязвимости" и "възстановяване на данни". За един сървър Benchmarks са по-полезни; Controls помагат, когато обмисляте цялата си фирма.

Използвайте benchmark разумно

Един benchmark не е бутон, който просто натискате. Няколко правила:

  • Първо разберете, после прилагайте. Всяка препоръка има обяснение. Ако не разбирате защо, все още не я прилагайте.
  • По едно нещо наведнъж и с тестване. Строга настройка на ядрото или мрежата може да счупи приложението Ви. Направете snapshot, променете едно нещо и проверете дали всичко още работи.
  • Не всичко е за Вас. Препоръка за отделен дял /var/log е трудна за изпълнение на съществуващ VPS и носи малко полза. Избирайте съзнателно и записвайте защо не правите нещо.
  • Внимавайте с готови hardening скриптове от интернет, които прилагат "всичко от CIS" наведнъж. Те могат да променят SSH, защитната Ви стена или логовете Ви така, че да заключите сами себе си отвън, а след това вече няма да знаете какво е променено.

Lynis: одит отвътре

Lynis е безплатна програма с отворен код (GPL) от CISOfy, която проверява сървъра Ви отвътре и дава предупреждения и предложения по теми. Тя самата не променя нищо; само докладва.

anna@web1:~$ sudo apt install lynis
anna@web1:~$ sudo lynis audit system
...
  -[ Lynis 3.x Results ]-

  Warnings (1):
  ----------------------------
  ! Found one or more vulnerable packages. [PKGS-7392]

  Suggestions (34):
  ----------------------------
  * Consider hardening SSH configuration [SSH-7408]
      - Details  : AllowTcpForwarding (set YES to NO)
  ...
  Lynis security scan details:

  Hardening index : 66 [#############       ]
  Tests performed : 262

Как да го четете:

  • Warnings са неща, които наистина трябва да прегледате, например пакети с известни уязвимости (тогава имате неинсталирани актуализации, урок 4.1).
  • Suggestions са съвети. Много от тях са полезни, някои не пасват на Вашия сървър. Например предложение да изключите AllowTcpForwarding ще счупи SSH тунелите Ви (урок 2.3). Избирайте съзнателно.
  • Всяко съобщение има код в скоби, например [SSH-7408]. С него търсите в лога /var/log/lynis.log какво точно е тествано.
  • Hardening index е число до 100. То е ориентир, а не оценка, която да гоните. Повишаване след Вашите промени показва, че напредвате; 100 не е цел.

Версията на Lynis в хранилището на Вашата дистрибуция може да е малко остаряла. За първи одит това не е проблем.

Още три теми накратко

  • AppArmor и SELinux са допълнителни слоеве за сигурност в ядрото, които определят за всяка програма какво ѝ е позволено. Debian и Ubuntu използват AppArmor, включен по подразбиране; AlmaLinux и Rocky използват SELinux. Не ги изключвайте "защото нещо не работи": потърсете съобщението в journal и решете проблема целенасочено.
  • sysctl задава настройки на ядрото, например за мрежата. Стойностите по подразбиране на Debian и Ubuntu са разумни. Ако искате да промените нещо, запишете го в собствен файл в /etc/sysctl.d/ (Debian 13 вече не чете /etc/sysctl.conf).
  • Време: сървър с грешно време прави логовете неизползваеми и може да приеме сертификати за невалидни. Проверете с timedatectl, че пише "System clock synchronized: yes".

На практика

При WebOké, както и при други доставчици на VPS, Вие сами управлявате сигурността вътре в сървъра си: доставчикът се грижи за хардуера, мрежата и платформата за виртуализация. Този курс е за самопомощ: никой не следи Вашия сървър. Преди кръг на hardening направете snapshot в панела и знайте как да отворите конзолата, ако все пак заключите сами себе си отвън.

Обобщение

  • Hardening означава да приспособите сървъра към собствената си употреба: да премахнете ненужното и да направите по-строго каквото е възможно.
  • Четири принципа: малка повърхност за атака, минимални права, многослойна защита и наблюдение на случващото се.
  • CIS Benchmarks дават за всеки продукт стотици препоръки в профилите Level 1 (основен) и Level 2 (строг); използвайте ги с разбиране, по една стъпка наведнъж.
  • Lynis проверява сървъра Ви отвътре и дава предупреждения, предложения и hardening index; сам не променя нищо.
  • Не изключвайте AppArmor/SELinux; собствените настройки на ядрото са в /etc/sysctl.d/; проверявайте синхронизацията на времето.

Тест (quiz)

1. Каква е идеята зад многослойната защита (defense in depth)?



2. Каква е разликата между Level 1 и Level 2 в CIS Benchmarks?



3. Lynis предлага да изключите AllowTcpForwarding в SSH. Вие използвате SSH тунели, за да достигнете до базата си данни. Какво правите?



4. Колега намира в интернет скрипт, който прилага "всички препоръки на CIS наведнъж" на сървъра Ви. Кой е най-големият риск?



5. Приложението Ви не работи, а в journal има отказ от AppArmor. Кой е правилният подход?



Задача

Задача O10.1: Одит с Lynis. Направете snapshot, инсталирайте Lynis на сървъра си и изпълнете sudo lynis audit system. Запишете hardening index, всички предупреждения и пет предложения. Изберете три предложения, които ще изпълните, и едно, което съзнателно няма да изпълните, заедно с причината. След това изпълнете одита отново и запишете новия индекс.

Задача O10.1: Одит с Lynis

Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.




Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.

Още за четене

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…