Втвърдяването е процес на намаляване на уязвимостите и осигуряване на система от възможни точки на атака. Намаляването на уязвимостите включва премахването на ненужните услуги, потребителските имена и влизанията, както и премахването на ненужните пристанища. В тази статия ще ви покажем как можете да втвърдите сървър на Ubuntu.

Изисквания

Ubuntu 14.04 LTS сървър с инсталиран SSH.

Първи стъпки: Актуализирайте системата

Запазването на системата е необходимо след инсталирането на всяка операционна система. Това ще намали известните уязвимости в системата ви.

За Ubuntu 14.04 стартирайте следното:

 sudo apt-get актуализация sudo apt-get обновяване sudo apt-get авторемонтни sudo apt-get autoclean 

Активирайте автоматичните актуализации на защитата

Активирането на автоматичните актуализации може да бъде много важно, за да защитите сървъра си. За да инсталирате "без надзор надстройки", изпълнете

 sudo apt-get инсталирате без надзор ъпгрейди 

За да го активирате, изпълнете следната команда:

 sudo dpkg - преконфигуриране - пускане без надзор - ъпгрейди 

Това ще създаде файла "/etc/apt/apt.conf.d/20auto-upgrades", показан по-долу.

 APT :: Периодично :: Актуализиране на пакетни списъци "1"; APT :: Периодично :: Без надзор - надстройка "1"; 

Създайте "потребител в сянка" със силите на sudo

Използването на "потребител в сянка" вместо коренния профил е необходимо поради причини, свързани със сигурността. Можете да създадете потребител, който няма да е лесно за познаване на други потребители. В този урок ще използваме "maketech111" като потребителско име.

За да създадете потребител, изпълнете следната команда:

 sudo useradd -d / home / maketech111 -s / bin / bash -m maketech111 

За да дадете на потребителя достъп до sudo, изпълнете следната команда:

 sudo потребителски модел -a-G sudo maketech111 

За да зададете парола, изпълнете следната команда:

 намерени онлайн филми 

Забележка: Уверете се, че паролата ви е с дължина най-малко осем знака и съдържа сложна комбинация от цифри, букви и препинателни знаци.

За да премахнете подкана за парола за sudo, редактирайте sudoers файла.

 sudo nano / etc / sudoers 

Добавете / редактирайте, както е описано по-долу.

 maketech111 ВСИЧКО = (ВСИЧКИ) NOPASSWD: ВСИЧКИ 

Запишете файла и излезте.

Деактивиране на основния профил

Деактивирането на основния профил е необходимо поради причини, свързани със сигурността.

За да деактивирате коренния акаунт, използвайте следната команда:

 sudo passwd -l корен 

Ако трябва да активирате отново профила, изпълнете следната команда:

 sudo passwd -u корен 

Добавете дял на SWAP

Някои сървъри на Ubuntu не са конфигурирани с SWAP. SWAP се използва, когато общата сума на физическата памет (RAM) е пълна.

За да проверите за SWAP пространство, изпълнете следната команда:

 sudo swapon-и 

Ако няма SWAP файл, трябва да получите следния изход.

 Име на файл Тип Размер Използван приоритет 

За да създадете SWIF файла от 4 GB, ще трябва да използвате командата "dd".

 sudo dd ако = / dev / нула от = / swapfile bs = брой 4М = 1000 

За да настроите SWAP файла, изпълнете следната команда:

 sudo mkswap / суап файл 

За да активирате суаповия файл, изпълнете

 sudo суапон / swapfile sudo swapon-и 

Това ще доведе до следното:

 Име на файл Тип Размер Използван Приоритетен / суап файл 4096000 0 -1 

За да го активирате за постоянно, редактирайте файла "/ etc / fstab".

 sudo nano / etc / fstab 

Добавете следния ред:

 / swapfile swap суап по подразбиране 0 0 

Подобрете производителността на SWAP

Задайте подходяща стойност на swappiness, за да подобрите цялостната производителност на системата.

Можете да направите това със следната команда:

 sudo ехо 0 >> / proc / sys / vm / суап sudo echo vm.swappiness = 0 >> /etc/sysctl.conf 

Рестартирайте системата, за да проверите дали SWAP се активира правилно.

Деактивиране на IPv6

Препоръчва се да деактивирате IPv6, тъй като причинява проблеми с бавна връзка с интернет.

За да деактивирате IPv6, редактирайте файла "/etc/sysctl.conf".

 sudo nano /etc/sysctl.conf 

Редактирайте както е описано по-долу:

 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 

За да презаредите конфигурацията, изпълнете

 sudo sysctl -p 

Деактивиране на IRQBALANCE

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

За да деактивирате IRQBALANCE, редактирайте "/ etc / default / irqbalance"

 sudo nano / etc / default / irqbalance 

и променете ENABLED стойността на 0:

 АКТИВИРАН = 0 

Прикрепвам OpenSSL сърцераздирам бъг

Heartbleed е сериозна уязвимост в OpenSSL. Той позволява на отдалечен потребител да изтече паметта до 64k парчета. След това хакерите могат да изтеглят частните ключове, за да декриптират всички данни като потребителско име и пароли на потребителите.

Сърдечният бъг е намерен в OpenSSL 1.0.1 и присъства в следните версии:

  • 1.0.1
  • 1.0.1a
  • 1.0.1b
  • 1.0.1c
  • 1.0.1d
  • 1.0.1e
  • 1.0.1f

За да проверите версията на OpenSSL във вашата система, изпълнете следните команди:

 sudo openssl версия -v sudo openssl версия -b 

Това ще доведе до нещо като следното:

 OpenSSL 1.0.1 10 март 2012 г. построен на: ср 2 януари 18:45:51 UTC 2015 

Ако датата е по-стара от "Mon Apr 7 20:33:29 UTC 2014", а версията е "1.0.1", тогава вашата система е уязвима към сърдечносъдовата грешка.

За да коригирате този бъг, актуализирайте OpenSSL до последната версия и стартирайте

 sudo apt-get актуализация sudo apt-get обновяване openssl libssl-dev sudo apt-cache политика openssl libssl-dev 

Сега проверете версията и стартирайте

 sudo openssl версия -b 

Това ще доведе до нещо като следното:

 построен на: Пон Апр 20 20:31:55 UTC 2014 

Защитете конзолата, споделената памет, / tmp и / var / tmp

Защитете конзолата

По подразбиране в системата ви са разрешени много терминали. Можете да разрешите само един терминал и да изключите другите терминали.

За да разрешите само "tty1" и да забраните други терминали, редактирайте файла "/ etc / securetty".

 sudo nano / etc / securetty 

Добавяне / редактиране на следните редове:

 tty1 # tty2 # tty3 # tty4 # atď. 

За да защитите файла "/ etc / securetty", променете разрешението на файла и изпълнете следните команди:

 sudo chown корен: root / etc / securetty sudo chmod 0600 / etc / securetty 

Сигурна споделена памет

Всеки потребител може да използва споделена памет за атака срещу текуща услуга, като например apache или httpd. По подразбиране споделената памет се монтира четене / писане с разрешение за изпълнение.

За да го направите по-сигурен, редактирайте файла "/ etc / fstab".

 sudo nano / etc / fstab 

Добавете следния ред:

 tmpfs / run / shm tmpfs ro, noexec, nosuid 0 0 

За да направите промените без рестартиране, можете да стартирате

 sudo mount -a 

Secure / tmp и / var / tmp

Временните директории като / tmp, / var / tmp и / dev / shm отварят вратата за нападателите, за да осигурят място за изпълнение на скриптове и зловреден софтуер.

Папка Secure / tmp

Създайте файл от 1 GB файлова система за / tmp дял.

 sudo dd ако = / dev / нула от = / usr / tmpDSK bs = 1024 брой = 1024000 sudo mkfs.ext4 / usr / tmpDSK 

Създайте резервно копие на текущата / tmp папката:

 sudo cp -avr / tmp / tmpbackup 

Монтирайте новия / tmp дял и задайте правилните разрешения.

 sudo mount -t tmpfs -o линия, noexec, nosuid, rw / usr / tmpDSK / tmp sudo chmod 1777 / tmp 

Копирайте данните от резервната папка и премахнете папката за архивиране.

 sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup 

Задайте / tmp в fbtab.

 sudo nano / etc / fstab 

Добавете следния ред:

 / usr / tmpDSK / tmp tmpfs линия, nosuid, noexec, rw 0 0 

Проверете въвеждането на fstab.

 sudo mount -a 

Secure / var / tmp:

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

За да защитите / var / tmp, създайте символна връзка, която прави / var / tmp точка към / tmp.

 sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp / 

Задайте ограничения на сигурността и деактивирайте нежеланите услуги

Задайте ограничения на сигурността

За да защитите системата си от бомбени атаки с вилици, трябва да настроите ограничения за процесите за потребителите си.

За да направите това, редактирайте файла "/etc/security/limits.conf"

 sudo nano /etc/security/limits.conf 

и редактирайте следния ред:

 user1 твърд nproc 100 @ group1 твърд nproc 20 

Това ще попречи на потребителите на дадена група да имат максимум двадесет процеси и да увеличат броя на процесите до сто до потребителя1.

Деактивирайте ненужните услуги

Много от услугите в Ubuntu отнемат паметта и дисковото пространство, които може да се наложи да използвате. Деактивирането или премахването на ненужните услуги може да подобри цялостната производителност на системата.

За да разберете кои услуги в момента се изпълняват, изпълнете следната команда:

 Списък на sudo initctl | grep running 

Можете да го деактивирате, като изпълните тази команда.

 sudo update-rc.d -f service_name премахнете sudo apt-get purge service_name 

Fix уязвимост Shellshock Bash:

Уязвимостта на Shellshock позволява на хакерите да задават променливи за баш среда и да получат неоторизиран достъп до системата. Тази уязвимост е много лесна за използване.

За да проверите уязвимостта на системата, изпълнете следната команда:

 sudo env i = '() {;;}; echo Вашата система е баш уязвими "bash -c" ехо Баш уязвимост тест " 

Ако видите изхода по-долу, това означава, че системата ви е уязвима.

 Системата ви е уязвим за уязвими баш тестове за уязвимост 

За да поправите тази уязвимост, изпълнете следната команда:

 sudo apt-get актуализация; sudo apt-get инсталиране - само за надстройване на баш 

Ако отново изпълнявате командата, ще видите:

 bash: предупреждение: VAR: игнориране на дефиницията на функцията try bash: грешка при импортирането на дефиницията на функцията за тест за уязвимост `VAR 'Bash 

Заключение:

Тук сме обяснили основните неща, които можете да направите, за да втвърдите Ubuntu. Вече трябва да имате достатъчно разбиране за основните практики за сигурност, които можете да приложите на сървъра си в Ubuntu. Надявам се, че тази публикация ще ви бъде полезна.

Референция : Ръководство за втвърдяване на Ubuntu