как linux помогает в безопасности

Блокировка учетных записей пользователей после неудачного входа в систему

В Linux вы можете использовать команду faillog для отображения записей faillog или для установки пределов неудачных попыток входа. faillog форматирует содержимое журнала неудачных попыток из базы данных /var/log/faillog / log файл. Она также может быть использована для ведения счетчиков и лимитов неудач. Чтобы увидеть неудачные попытки входа в систему, введите:

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

Обратите внимание, что вы можете использовать команду passwd для блокировки и разблокировки учетных записей:

Усиление ядра Linux /etc/sysctl. conf

Файл /etc/sysctl. conf используется для настройки параметров ядра во время выполнения. Linux считывает и применяет настройки из /etc/sysctl. conf во время загрузки. Пример /etc/sysctl. conf:

Минимизация программного обеспечения для минимизации уязвимостей в Linux

Действительно ли вам нужны всевозможные установленные веб-сервисы? Избегайте установки ненужного программного обеспечения, чтобы избежать уязвимостей в программном обеспечении. Используйте менеджер пакетов RPM, такой как yum или apt-get и/или dpkg, чтобы просмотреть весь установленный набор пакетов программного обеспечения в системе. Удалите все ненужные пакеты.

# yum list installed
# yum list packageName
# yum remove packageName

# dpkg –list
# dpkg –info packageName
# apt-get remove packageName

Одна сетевая служба на систему или экземпляр виртуальной машины

Запускайте различные сетевые службы на отдельных серверах или экземплярах виртуальных машин. Это ограничивает количество других служб, которые могут быть скомпрометированы. Например, если злоумышленник сможет успешно использовать такое программное обеспечение, как Apache flow, он получит доступ ко всему серверу, включая другие службы, такие как MySQL/MariaDB/PGSql, сервер электронной почты и т.

Отключите ненужные службы Linux

Отключите все ненужные службы и демоны (службы, работающие в фоновом режиме). Вам необходимо удалить все ненужные службы из процесса запуска системы. Введите следующую команду, чтобы перечислить все службы, которые запускаются при загрузке системы на уровне выполнения # 3:

Чтобы отключить обслуживание, введите:

# service serviceName stop
# chkconfig serviceName off

Замечание о дистрибутивах и службах Linux на базе systemd
Современные дистрибутивы Linux с systemd используют команду systemctl для той же цели.

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

# systemctl list-unit-files –type=service
# systemctl list-dependencies graphical. target

Выключение службы при загрузке

Получить статус службы

Просмотр сообщений журнала

# journalctl
# journalctl -u network. service
# journalctl -u ssh. service
# journalctl -f
# journalctl -k

PAM

Описание: подключаемые модули аутентификации.

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

POSIX ACL

Описание: разграничение прав доступа к файлам на основе их атрибутов (Discretionary Access Control, DAC).

Механизм работы: Система (в частности, менеджер файловой системы) считывает атрибуты файла, к которому обращается пользователь (или программа, работающая от имени какого-либо пользователя), после чего решает, предоставлять ли доступ на основе этих атрибутов. При ошибке доступа приложению возвращается соответствующий код ошибки.

Пример использования: чтобы запретить/разрешить доступ остальных пользователей к своему файлу, можно поменять его атрибуты через chmod, и поменять владельца/группу через chown и chgrp (либо использовать более общую команду setfacl). Текущие права доступа можно посмотреть через ls и getfacl.

Бесплатные онлайн-занятия

На десерт я оставила бесплатные программы. Их может посмотреть любой желающий с минимальным бюджетом.

Чаще всего бесплатные уроки применяют в качестве дополнительного материала, а не основного. С этой же целью можно использовать специализированную литературу. На блоге iklife. ru вы найдете список книг по Linux.

Базовые команды в ОС Linux – GeekBrains

Базовые команды в ОС Linux – это короткий онлайн-курс из трех занятий. Уроки проходят в формате видеолекций. Просматривая обучающие ролики, новички-айтишники учатся основам работы с Линукс.

  • история Линукс;
  • графический интерфейс;
  • процессоры;
  • пользователи и группы;
  • командная строка;
  • базовые команды в Линукс.

Введение в Linux – Stepik

Введение в Linux – это довольно обширная онлайн-программа, состоящая из 23 занятий и более 80 тестов. Кроме этого, ученики выполняют 10 интерактивных задач. Уроки в общей сложности имеют продолжительность 3 часа. После обучения выпускники получают сертификаты.

Преподаватели познакомят студентов с Линукс и расскажут про особенности работы с этой операционной системой. Ученикам необязательно иметь на своем ПК установленный Линукс. Все дело в том, что обучение проходит с самого нуля, то есть с установки ОС.

Студентам желательно знать английский язык для чтения технической литературы, а также иметь опыт работы в какой-либо другой ОС.

  • установка Линукс;
  • терминал;
  • скачивание файлов;
  • работа с архивами;
  • знакомство с серверами;
  • обмен файлами;
  • многопоточные приложения;
  • менеджер терминалов;
  • текстовый редактор;
  • скрипты на Bash;
  • редактирование;
  • построение графиков.

Администрирование ОС Linux – ИНТУИТ

Курс Администрирование ОС Linux предназначен для начинающих специалистов, у которых нет каких-либо специальных знаний. Автор программы создал простые и понятные уроки, которые легко освоить. В конце обучения студенты получают сертификаты.

Рассмотрите еще и эти онлайн-программы:

  • Операционная система Linux
  • Основы работы в ОС Linux
  • Операционная система UNIX
  • Администрирование ОС Unix

Уроки Linux для начинающих – YouTube-канал Гоши Дударя

Уроки Linux для начинающих в среднем имеют продолжительность от 10 до 30 минут. В программу включены 12 видеолекций для начинающих. Преподаватель легко и просто объясняет сложные понятия, процессы и термины.

План занятий включает в себя такие темы:

  • дистрибутивы;
  • установка VirtualBox и Ubuntu;
  • пользовательский интерфейс;
  • командная строка;
  • работа с файлами;
  • директории;
  • пакетный менеджер;
  • команды поиска;
  • сжатие файлов;
  • редакторы текста;
  • установка сторонних программ;
  • работа с сетью;
  • bash-скрипты.

Резервные копии

Невозможно передать словами, насколько важно создавать резервные копии вашей Linux-системы. Правильное резервное копирование вне офиса позволит вам восстановиться после взлома сервера, т. вторжения. Рекомендуется также использовать традиционные программы резервного копирования UNIX — dump и restore. Вы должны настроить зашифрованное резервное копирование на внешнее хранилище, такое как NAS-сервер или сервер FreeNAS, или использовать облачные вычисления, такие как AWS.

Отключить вход под пользователем root

Никогда не входите в систему под пользователем root. Вы должны использовать sudo для выполнения команд уровня root по мере необходимости. sudo значительно повышает безопасность системы, не сообщая пароль root другим пользователям и администраторам. sudo также предоставляет простые функции аудита и отслеживания. Отключить вход под пользователем root
Никогда не входите в систему под пользователем root. Вы должны использовать sudo для выполнения команд уровня root по мере необходимости. sudo значительно повышает безопасность системы, не сообщая пароль root другим пользователям и администраторам. sudo также предоставляет простые функции аудита и отслеживания.

Настроить автоматические обновления безопасности

Один из основных способов обеспечить безопасность операционной системы — обновлять программное обеспечение. Обновления часто исправляют найденные баги и критические уязвимости.

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

Автообновление работает исключительно для установленных из репозиториев, а не скомпилированных самостоятельно пакетов:

  • В Debian/Ubuntu для обновлений используется пакет unattended upgrades
  • В CentOS для автообновления используется yum-cron
  • В Fedora для этих целей есть dnf-automatic

Для обновления используйте любой из доступных RPM-менеджеров пакетов командами:

yum update
или
apt-get update && apt-get upgrade

Linux можно настроить на отправку оповещений о новых обновлениях по электронной почте.

Также для поддержания безопасности в ядре Linux есть защитные расширения, например, SELinux. Такое расширение поможет сберечь систему от неправильно настроенных или опасных программ.

SELinux — это гибкая система принудительного контроля доступа, которая может работать одновременно с избирательной системой контроля доступа. Запущенные программы получают права на доступ к файлам, сокетам и прочим процессам, и SELinux устанавливает ограничения так, чтобы вредные приложения не смогли сломать систему.

Настроить права доступа для пользователей

После установки паролей стоит убедиться, что все пользователи имеют доступ, соответствующий их рангу и ответственности. В Linux можно устанавливать права доступа на файлы и директории. Так появляется возможность создавать и контролировать различные уровни доступа для разных пользователей.

Категории доступа

Linux основана на работе с несколькими пользователями, поэтому каждый файл принадлежит одному конкретному пользователю. Даже если сервер администрирует один человек, для различных программ создаются несколько аккаунтов.

Просмотреть пользователей в системе можно командой:

Файл /etc/passwd содержит строку для каждого пользователя операционной системы. Под сервисы и приложения могут создаваться отдельные пользователи, которые также будут присутствовать в этом файле.

Помимо отдельных аккаунтов существует категория доступа для групп. Каждый файл принадлежит одной группе. Один пользователь может принадлежать к нескольким группам.

Посмотреть группы, к которым принадлежит ваш аккаунт, можно командой:

Вывести список всех групп в системе, где первое поле означает название группы:

Существует категория доступа «прочие», если пользователь не имеет доступа к файлу и не принадлежит к группа.

Типы доступа

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

В алфавитной нотации разрешения отмечены буквами:

r = чтение
w = изменение
x = запуск

В восьмеричной нотации уровень доступа к файлам определяется числами от 0 до 7, где 0 означает отсутствие доступа, а 7 означает полный доступ на изменение, чтение и выполнение:

4 = чтение
2 = изменение
1 = запуск

Защитить сервер физически

Невозможно полностью защититься от атак злоумышленника с физическим доступом к серверу. Поэтому необходимо обезопасить помещение, где расположена ваша система. Дата-центры серьёзно следят за безопасностью, ограничивают доступ к серверам, устанавливают камеры слежения и назначают постоянную охрану.

Для входа в дата-центр все посетители должны проходить определенные этапы аутентификации. Также настоятельно рекомендуется использовать датчики движения во всех помещениях центра.

Настроить среду предзагрузки до установки Linux

Позаботиться о безопасности системы нужно ещё перед установкой Linux. Вот набор рекомендаций для настройки компьютера, которые стоит учесть и выполнить до установки операционной системы:

  • Загрузка в режиме UEFI (не legacy BIOS – о нем подраздел ниже)
  • Установить пароль на настройку UEFI
  • Активировать режим SecureBoot
  • Установить пароль на уровне UEFI для загрузки системы

Отслеживание подозрительных событий в журнале с помощью команды Logwatch / Logcheck

Читайте журналы с помощью команды logwatch (logcheck). Эти инструменты облегчают жизнь при чтении журналов. Вы получаете подробные отчеты о необычных элементах в syslog по электронной почте. Пример отчета syslog:

Настройка смены паролей для пользователей Linux для повышения безопасности

Команда chage изменяет количество дней между сменой пароля и дату последней смены пароля. Эта информация используется системой, чтобы определить, когда пользователь должен сменить свой пароль. Файл /etc/login. defs определяет конфигурацию набора теневых паролей для конкретного сайта, включая настройку старения паролей. Чтобы отключить старение паролей, введите:

Чтобы получить информацию об истечении срока действия пароля, введите:

Наконец, вы также можете отредактировать файл /etc/shadow в следующих полях:

  • Minimum_days: Минимальное количество дней между сменой пароля, т.е. количество дней, оставшихся до того, как пользователю будет разрешено сменить пароль.
  • Maximum_days: Максимальное количество дней действия пароля (после чего пользователь будет вынужден сменить пароль).
  • Warn: Количество дней до истечения срока действия пароля, за которое пользователь будет предупрежден о необходимости смены пароля.

Я рекомендую использовать команду chage вместо того, чтобы редактировать файл /etc/shadow вручную:

AppArmor

Описание: система упреждающей защиты, основанная на политиках безопасности (профилях).

Механизм работы: для проверки прав доступа используется LSM-модуль ядра, который при запуске приложения проверяет наличие его профиля (/etc/apparmor. d), и если профиль существует, то ограничивает выполнение системных вызовов в соответствии с профилем. При ошибке доступа соответствующая запись добавляется в /var/log/audit/audit. log. Пользователь может получить нотификацию об этом через утилиту apparmor-notify.

Пример использования: с помощью команды aa-genprof можно создать профиль интересующего приложения, отработав в нем все необходимые use-case-ы. Далее полученный файл профиля можно модифицировать интересующим вас образом, сохранить в /etc/apparmor. d и активировать через aa-enforce.

Безопасность физических серверов

Вы должны защитить физический доступ к консоли Linux-серверов. Настройте BIOS и отключите загрузку с внешних устройств, таких как DVD / CD / USB-накопитель. Установите пароль BIOS и загрузчика grub для защиты этих настроек. Все производственные модули должны быть заперты в IDC (интернет-центрах обработки данных), и все лица должны пройти определенную проверку безопасности, прежде чем получить доступ к вашему серверу.

Используйте централизованную службу аутентификации

Без централизованной системы аутентификации данные аутентификации пользователей становятся непоследовательными, что может привести к устаревшим учетным данным и забытым учетным записям, которые должны были быть удалены в первую очередь. Централизованная служба аутентификации позволяет вам поддерживать централизованный контроль над учетными записями Linux / UNIX и данными аутентификации. Вы можете синхронизировать данные аутентификации между серверами. Не используйте службу NIS для централизованной аутентификации. Используйте OpenLDAP для клиентов и серверов.

Отключение нежелательных бинарных файлов SUID и SGID

Все файлы с поддержкой битов SUID/SGID могут быть использованы не по назначению, если исполняемый файл SUID/SGID имеет проблему безопасности или ошибку. Все локальные или удаленные пользователи могут использовать такой файл. Хорошей идеей будет найти все такие файлы. Используйте команду find следующим образом:

Вам необходимо исследовать каждый отчетный файл. Более подробную информацию см. на странице man файла.

Ограничить доступ к внешним системам

Следующий после обновления способ защиты — ограничить доступ к внешним сервисам. Для этого нужно отредактировать файлы /etc/hosts. allow и /etc/hosts. deny.

Вот пример того, как ограничить доступ к telnet и ftp:

В файле /etc/hosts. allow:

telnetd: 123. , 126. mydomain. name,. another. name
in. ftpd: 123. , 126. mydomain. name,. another. name

Пример сверху позволит выполнять telnet и ftp соединения любому хосту в IP-классах 123. * и 126. *, а также хосту с доменами mydomain. name и another. name.

Далее в файле /etc/hosts. deny’:

hosts. deny
in. telnetd: ALL
in. ftpd: ALL

Добавление пользователя с ограниченными правами

Как создать нового пользователя:

В Debian и Ubuntu:

Добавьте пользователя в группу sudo:

Теперь вы можете использовать префикс sudo при выполнении команд, требующих прав администратора, например:

sudo apt-get install htop

В CentOS и Fedora:

Добавьте пользователя в группу wheel для передачи ему прав sudo:

Используйте только сильные пароли — минимум из 8 букв разного регистра, цифр и других специальных знаков. Для поиска слабых паролей среди пользователей вашего сервера используйте утилиты как «John the ripper», измените настройки в файле pam_cracklib. so, чтобы пароли устанавливались принудительно.

Установите период устаревания паролей командой chage:

chage -M 60 -m 7 -W 7 ИмяПользователя

Отключить устаревание паролей можно командой:

chage -M 99999 ИмяПользователя

Узнать, когда пароль пользователя устареет:

chage -l ИмяПользователя

Также вы можете отредактировать поля в файле /etc/shadow:

  • Minimum_days: Минимальное количество дней до истечения действия пароля.
  • Maximum_days: Максимальное количество дней до истечения пароля.
  • Warn: Количество дней перед истечением, когда пользователь будет предупреждён о приближающемся дне смены.

Также стоит ограничить переиспользование старых паролей в модуле pam_unix. so и установить предельное количество неудачных попыток входа пользователя.

Чтобы узнать количество неудачных попыток входа:

Разблокировать аккаунт после неудачного входа:

faillog -r -u ИмяПользователя

Для блокирования и разблокирования аккаунтов можно использовать команду passwd:

lock account
passwd -l ИмяПользователя

unlocak account
passwd -u ИмяПользователя

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

Заблокировать пользователей без паролей:

Проследите, чтобы параметр UID был установлен на 0 только для root-аккаунта. Введите эту команду, чтобы посмотреть всех пользователей с равному 0 UID.

Вы должны увидеть только:

Если появятся и другие строки, то проверьте, устанавливали ли вы для них UID на 0, ненужные строки удалите.

SELinux

Я настоятельно рекомендую использовать SELinux, который обеспечивает гибкий обязательный контроль доступа (MAC). В стандартном Linux Discretionary Access Control (DAC) приложение или процесс, запущенный от имени пользователя (UID или SUID), имеет права пользователя на такие объекты, как файлы, сокеты и другие процессы. Запуск ядра MAC защищает систему от вредоносных или несовершенных приложений, которые могут повредить или уничтожить систему. Смотрите официальную документацию Redhat, в которой объясняется конфигурация SELinux.

Sudo

Описание: выполнение программ от своего и/или чужого имени.

Механизм работы: при вызове команды sudo/sudoedit система считывает файл /etc/sudoers и на его основе определяет, какие команды может вызывать пользователь.

Пример использования: вся конфигурация определяется в файле /etc/sudoers. Например, можно разрешать выполнять только определённые команды и только от определенного пользователя:

WEBMASTERS www = (www) ALL, (root) /usr/bin/su www

Данная строчка говорит о том, что пользователи, определённые в алиасе WEBMASTERS, могут выполнять все команды от имени пользователя www, или делать su только в www.

Установка и использование системы обнаружения вторжений

Система обнаружения вторжений в сеть (NIDS) — это система обнаружения вторжений, которая пытается обнаружить вредоносную активность, такую как атаки типа «отказ в обслуживании», сканирование портов или даже попытки взлома компьютеров путем мониторинга сетевого трафика.

Хорошей практикой является развертывание любого программного обеспечения для проверки целостности перед запуском системы в производственной среде. Если возможно, установите программное обеспечение AIDE до того, как система будет подключена к сети. AIDE — это система обнаружения вторжений на базе хоста (HIDS), которая может отслеживать и анализировать внутренние компоненты вычислительной системы. Я рекомендую вам также установить и использовать программу rkhunter для обнаружения root kit.

Файлы с возможностью записи из вне на сервере Linux

Любой может изменить файл из вне, что приведет к проблеме безопасности. Используйте следующую команду, чтобы найти все файлы в которые можно писать из вне:

find /dir -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -print

Вам необходимо исследовать каждый файл, о котором сообщается, и либо установить правильное разрешение пользователя и группы, либо удалить его.

Топ-10 платных курсов

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

Администрирование ОС Linux – Skillbox

Администрирование ОС Linux – это онлайн-обучение, продолжительность которого составляет 5 месяцев. Студенты занимаются на вебинарах, после чего выполняют практические задания. В результате они познакомятся с Линукс, ее особенностями и достоинствами.

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

Курс содержит 28 онлайн-занятий, 29 практических заданий и около 180 видеолекций. В процессе обучения рассматриваются такие темы:

  • К материалам онлайн-курса предоставляется бессрочный доступ.
  • Год бесплатных занятий по английскому языку.
  • В процессе обучения студенты собирают портфолио.
  • Онлайн-школа выдает сертификаты выпускникам.

Стоимость обучения – 6 105 руб. в месяц.

Еще один онлайн-курс от этой образовательной веб-платформы:

Факультет DevOps – GeekBrains

Факультет DevOps – это комплексная обучающая программа, длительность которой составляет 1,5 года. Каждую неделю проходит по 2 занятия в виде онлайн-лекций и вебинаров. Также ученики самостоятельно смотрят видеоуроки и выполняют практические задания.

Курс предназначен для новичков в сфере IT, начинающих и практикующих DevOps-инженеров.

Ученики занимаются по актуальной программе, материалы которой периодически обновляются. В онлайн-курс входят такие уроки:

  • После обучения выпускники получают дипломы.
  • 4 работы в портфолио.
  • Онлайн-школа гарантирует трудоустройство после окончания курса.
  • Студенту будет помогать команда наставников: куратор-эксперт, специалист технической поддержки и бывший ученик, уже прошедший этот курс.

Стоимость онлайн-программы – от 4 956 руб. в месяц. При оплате одним платежом предоставляется скидка.

Рассмотрите и другой курс от GeekBrains:

Системный администратор – SkillFactory

Системный администратор – это онлайн-программа, имеющая продолжительность 9 месяцев. Для прохождения курса необязательно иметь профильное или техническое образование, так как обучение предназначено в первую очередь для новичков. Но и практикующие IT-специалисты найдут на программе много интересного.

Все эксперты онлайн-курса имеют опыт работы от 7 лет и более. Они дают информацию по следующим темам:

  • Лучшие студенты могут рассчитывать на стажировку.
  • Обучение с нуля.
  • Ученики создадут портфолио в процессе прохождения курса.
  • Выпускники заканчивают программу с сертификатами.
  • Три тарифа на выбор.
  • Индивидуальные консультации с ментором.

Стоимость онлайн-обучения определяется выбранным тарифом: “Базовый” – 2 990 руб. в месяц, “Оптимальный” – 4 990 руб. в месяц, VIP – 10 500 руб. в месяц.

Профессиональные курсы системного администрирования Linux – Курсы по Linux

Профессиональные курсы системного администрирования Linux длятся 120 академических часов. Программа постоянно обновляется благодаря мониторингу рынка. Поэтому студенты получают только свежую и актуальную информацию.

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

  • Ученики имеют доступ к материалам курса и после завершения программы.
  • Обучение с нуля.
  • Поддержка студентов на протяжении всего обучения.
  • Выпускники получают сертификаты.

Стоимость обучения – 9 800 руб.

Системное администрирование Linux – Softline

Системное администрирование Linux – это онлайн-обучение, продолжительность которого составляет 32 академических часа. Пройти курс могут практикующие администраторы Линукс, которые уже имеют базовые знания об этой операционной системе.

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

Обучающая программа включает в себя 11 модулей. Темы занятий:

  • Занятия проводятся в 2 форматах: очном и дистанционном.
  • В конце выпускники получают сертификаты.
  • Гарантированная поддержка наставников.

Стоимость онлайн-программы в очном формате – 23 100 руб. , в дистанционном – 20 900 руб.

Системное администрирование Linux – ITEA

Курс Системное администрирование Linux состоит из 11 уроков. Продолжительность обучения – 1 месяц. Эксперты-педагоги преподают в формате live-занятий по 2-3 раза в неделю. Ученики получают ссылку на трансляцию, подключаются к групповой конференции и таким образом проходят уроки.

Курс посвящен изучению обязанностей системного администратора. Все полученные знания студенты закрепляют на практике: выполняют домашние задания, делают лабораторные работы и заполняют тесты. А в конце программы ученики подготавливают собственный масштабный проект.

Материалы онлайн-курса постоянно обновляются и актуализируются. Но общая структура остается неизменной, в нее входят такие уроки:

  • Есть возможность временно заморозить обучение.
  • В процессе прохождения курса студенты разрабатывают проекты для портфолио.
  • Индивидуальная работа с наставником.
  • Онлайн-школа помогает с трудоустройством и стажировками.
  • После завершения программы ученики получают сертификаты.

Linux. Уровень 1. Основы администрирования систем Debian, Ubuntu, CentOS – Специалист

Linux. Уровень 1. Основы администрирования систем Debian, Ubuntu, CentOS – это программа обучения, которая длится 24 академических часа. Студенты получат обширные знания, необходимые для становления системным администратором Линукс.

Участник онлайн-курса обязательно должен обладать начальным опытом работы в Линукс. Поэтому новичкам, совсем не знакомым с этой операционной системой, обучение не подойдет. Чтобы определить уровень своей подготовки и понять, хватит его для обучения или нет, потенциальные ученики могут пройти бесплатное тестирование.

В программе предусмотрены следующие уроки:

  • В конце обучения выпускникам выдаются документы.
  • Занятия проходят в очном и дистанционном формате.
  • Доступно индивидуальное обучение.
  • Поддержка личного наставника.

Стоимость онлайн-программы – 19 990 руб.

Еще несколько курсов от веб-платформы Специалист. ru:

  • Системный администратор информационно-коммуникационных систем Linux
  • Системное администрирование Linux
  • DevOps-инженер
  • Администратор серверов Linux
  • Магистр Linux
  • Сертифицированный инженер по поддержке Linux
  • Квалифицированный программист Linux

Linux в чат-боте – Yodo

Курс Linux в чат-боте проходит в игровом формате. Его можно пройти всего за 2 месяца, если уделять учебе около 1 часа в день. Но никто не ограничивает учеников во времени, они могут проходить обучение сколь угодно долго.

План программы состоит из 8 учебных модулей. В них пойдет речь о:

  • После завершения курса студенты получают сертификаты.
  • Возможность посещения карьерных консультаций.
  • Пожизненный доступ к лекционным материалам.

Стоимость обучения со скидкой – 1 990 руб.

Системный администратор – Нетология

Системный администратор – это онлайн-программа, длится которая 13 месяцев. Занятия представляют собой вебинары и практические задания. Обучение проходит на реальных кейсах. Уже через полгода ученики могут устроиться на работу.

Всего студенты решат 75 практических задач, пройдут 17 учебных модулей и изучат такие темы:

  • Курс включает в себя программу трудоустройства.
  • Лучшие студенты могут рассчитывать на стажировку в офисе онлайн-школы.
  • В процессе обучения ученики собирают портфолио.
  • Выпускники получают дипломы.
  • В качестве бонуса бесплатно предоставляется курс английского языка.
  • Студентов сопровождает команда наставников-экспертов.

Полная стоимость онлайн-обучения – 78 000 руб. , в рассрочку на два года – 3 250 руб. в месяц.

Онлайн-курс по Linux – Merion Academy

Онлайн-курс по Linux длится 2 месяца. Он предназначен для студентов, обучающихся в вузе по техническому направлению, начинающих и практикующих ИТ-специалистов, а также для всех остальных, кто хочет начать карьеру в DevOps. Преподавателем является эксперт со стажем работы в IT-сфере более 20 лет.

В план уроков входят 6 учебных модулей и более 70 видеолекций на следующие темы:

  • Студенты после завершения курса получают сертификаты.
  • Обучение подходит и начинающим, и опытным IT-специалистам.
  • Бессрочный доступ к лекционным материалам.

Стоимость курса – 6 750 руб.

Избегайте использования служб FTP, Telnet и Rlogin / Rsh в Linux

В большинстве сетевых конфигураций имена пользователей, пароли, команды FTP / telnet / rsh и передаваемые файлы могут быть перехвачены любым пользователем в той же сети с помощью анализатора пакетов. Общим решением этой проблемы является использование OpenSSH, SFTP или FTPS (FTP over SSL), которые добавляют SSL или TLS шифрование к FTP. Введите следующую команду yum, чтобы удалить NIS, rsh и другие устаревшие службы:

# yum erase xinetd ypserv tftp-server telnet-server rsh-server

Если вы используете сервер на базе Debian/Ubuntu Linux, попробуйте команду apt-get/apt для удаления небезопасных служб:

$ sudo apt-get –purge remove xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server

Выключайте IPv6 только в том случае, если вы НЕ используете его в Linux

Протокол Интернета версии 6 (IPv6) представляет собой новый уровень Интернета в наборе протоколов TCP/IP, который заменяет протокол Интернета версии 4 (IPv4) и предоставляет множество преимуществ. Если вы НЕ используете IPv6, отключите его:

Защита файлов, каталогов и электронной почты

Linux предлагает отличную защиту от несанкционированного доступа к данным. Разрешения на файлы и MAC предотвращают несанкционированный доступ к данным. Однако разрешения, установленные в Linux, не имеют значения, если злоумышленник имеет физический доступ к компьютеру и может просто переместить жесткий диск компьютера на другую систему, чтобы скопировать и проанализировать конфиденциальные данные. Вы можете легко защитить файлы и партиции в Linux с помощью следующих инструментов:

  • Чтобы зашифровать и расшифровать файлы с помощью пароля, используйте команду gpg.
  • В Linux или UNIX файлы защищаются паролем с помощью openssl и других инструментов.
  • Полное шифрование диска является обязательным условием защиты данных и поддерживается большинством дистрибутивов Linux. Посмотрите, как зашифровать жесткий диск с помощью LUKS в Linux. Убедитесь, что своп также зашифрован.
  • Требуйте пароль для редактирования загрузчика.
  • Убедитесь, что почта root пересылается на проверяемую учетную запись.
  • Howto: Шифрование дисков и разделов в Linux для мобильных устройств.
  • Linux Защита сервера Dovecot IMAPS / POP3S с настройкой SSL.
  • Linux Postfix SMTP (почтовый сервер) Установка и настройка SSL-сертификата.
  • Установка и настройка SSL-сертификата сервера Courier IMAP.
  • Настройка SSL-шифрования Sendmail для отправки и получения электронной почты.

Используйте расширения безопасности Linux

Linux поставляется с различными патчами безопасности, которые можно использовать для защиты от неправильно настроенных или скомпрометированных программ. Если возможно, используйте SELinux и другие расширения безопасности Linux для наложения ограничений на сетевые и другие программы. Например, SELinux обеспечивает различные политики безопасности для ядра Linux.

Поддерживайте ядро и программное обеспечение Linux в актуальном состоянии

Применение исправлений безопасности является важной частью обслуживания сервера Linux. Linux предоставляет все необходимые инструменты для поддержания системы в актуальном состоянии, а также позволяет легко переходить с одной версии на другую. Все обновления безопасности должны быть просмотрены и применены как можно скорее. Опять же, используйте менеджер пакетов RPM, такой как yum и/или apt-get и/или dpkg для применения всех обновлений безопасности.

# yum update

# apt-get update && apt-get upgrade

Вы можете настроить Red hat / CentOS / Fedora Linux на отправку уведомлений об обновлении пакетов yum по электронной почте. Другой вариант — применять все обновления безопасности через задание cron. В Debian / Ubuntu Linux вы можете использовать apticron для отправки уведомлений о безопасности. Также можно настроить автоматическое обновление для сервера Debian / Ubuntu Linux с помощью команды apt-get /apt:

$ sudo apt-get install unattended-upgrades apt-listchanges bsd-mailx

Убедитесь, что ни одна не корневая учетная запись не имеет UID, установленного на 0

Только учетная запись root имеет UID 0 с полными правами доступа к системе. Введите следующую команду, чтобы отобразить все учетные записи с UID, равным 0:

Вы должны увидеть только одну строку, как показано ниже:

Файлы, не принадлежащие пользователям

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

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

Дисковые квоты

Убедитесь, что дисковые квоты включены для всех пользователей. Чтобы внедрить дисковые квоты, выполните следующие действия:

  • Включите квоты для каждой файловой системы, изменив файл /etc/fstab.
  • Перемонтируйте файловую систему (системы).
  • Создайте файлы базы данных квот и сформируйте таблицу использования дисков.
  • Назначьте политики квот.

Используйте fail2ban/denyhost в качестве IDS (установите систему обнаружения вторжений)

$ sudo apt-get install fail2ban

$ sudo yum install fail2ban

Отредактируйте файл конфигурации в соответствии с вашими потребностями:

$ sudo vi /etc/fail2ban/jail. conf

$ sudo systemctl restart fail2ban. service

Логирование и аудит

Вам необходимо настроить протоколирование и аудит для сбора всех попыток взлома и взлома. По умолчанию syslog хранит данные в каталоге /var/log/. Это также полезно для обнаружения неправильной конфигурации программного обеспечения, которая может открыть вашу систему для различных атак.

Chroot

Описание: операция, ограничивающая доступ процесса к файловой системе, изменяя её корень в контексте процесса.

Механизм работы: запускает программу (по умолчанию /bin/sh) с контекстом, в котором переопределён корневой каталог файловой системы. Теперь все обращения вызванной программы не могут выйти за пределы корневого каталога (т. программа работает в весьма условной «песочнице»). Обойти данный механизм не составляет труда, особенно из под рута, так что это средство не рекомендуется для обеспечения безопасности. Настоящую песочницу сможет обеспечить только виртуализация.

Пример использования: создаётся специальный каталог, в него копируется необходимое для работы окружение (также можно использовать команду mount –bind). Далее делается chroot на этот каталог, и запущенная программа работает только с предварительно подготовленным окружением. Для упрощения можно использовать различные jail-инструменты, доступные в дистрибутивах.

Описание: реализация системы принудительного контроля доступа (Mandatory Access Control, MAC), основанная на политиках и контекстах безопасности.

Контроль называется принудительным, когда применение контроля производится администраторами и системой, и не зависит от решения пользователей, как это происходит при обычном контроле доступа.

Механизм работы: для проверки прав доступа используется LSM-модуль ядра, который проверяет политику безопасности приложения и сверяет его тип с контекстом безопасности используемых файлов (объектов). При ошибке доступа соответствующая запись добавляется в /var/log/audit/audit. log. Пользователь может получить нотификацию об этом через утилиту setroubleshoot.

Отключение устройств USB/firewire/thunderbolt

Введите следующую команду, чтобы отключить USB-устройства в системе Linux:

Тот же метод можно использовать для отключения модулей firewire и thunderbolt:

После этого пользователи не смогут быстро скопировать конфиденциальные данные на USB-устройства или установить вредоносные программы/вирусы или бэкдор на вашу систему на базе Linux.

Отдельные разделы диска для системы Linux

Разделение файлов операционной системы и файлов пользователя может привести к улучшению безопасности системы. Убедитесь, что следующие файловые системы смонтированы на отдельных разделах:

  • /usr
  • /home
  • /var and /var/tmp
  • /tmp

Создайте отдельные разделы для Apache и FTP-сервера. Отредактируйте файл /etc/fstab и убедитесь, что вы добавили следующие параметры конфигурации:

noexec — Не устанавливать выполнение любых двоичных файлов на этом разделе (предотвращает выполнение двоичных файлов, но разрешает скрипты). nodev — Не разрешать символьные или специальные устройства на этом разделе (предотвращает использование файлов устройств, таких как zero, sda и т. nosuid — Не устанавливать SUID/SGID доступ на этом разделе (предотвращает бит setuid).

Образец записи /etc/fstab для ограничения доступа пользователей к /dev/sda5 (корневой каталог ftp-сервера):

/dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2

Использовать ключи для соединения по SSH

Для подключения к хосту по SSH обычно используется аутентификация по паролю. Мы рекомендуем более безопасный способ —  вход по паре криптографических ключей. В таком случае закрытый ключ используется вместо пароля, что серьёзно усложнит подбор грубой силой (brute-force).

Для примера создадим пару ключей. Действия нужно выполнять на локальном компьютере, а не на удалённом сервере. В процессе создания ключей вы можете указать пароль для доступа к ним. Если оставите это поле пустым, то не сможете использовать созданные ключи до сохранения их в keychain-менеджер компьютера.

Если вы уже создавали RSA ключи ранее, то пропустите команду генерации. Для проверки cуществующих ключей запустите:

ls ~/. ssh/id_rsa*

Для генерации новых ключей:

Загрузка публичного ключа на сервер

Чтобы проверить соединение, отключитесь и заново подключитесь к серверу — вход должен происходить по созданным ключам.

Настройка SSH

Вы можете запретить подключаться через SSH от имени root-пользователя, а для получения прав администратора использовать sudo в начале команды. На сервере в файле /etc/ssh/sshd_config нужно найти параметр PermitRootLogin и установить его значение на no.

Вы также можете запретить SSH-подключение по вводу пароля, чтобы все пользователи использовали ключи. В файле /etc/ssh/sshd_config укажите для параметра PasswordAuthentification значение no. Если этой строки нет или она закомментирована, то соответственно добавьте или разкомментируйте её.

В Debian или Ubuntu можно ввести:

Подключение можно также дополнительно обезопасить с помощью двухфакторной аутентификации.

PolicyKit

Описание: Средство контроля системных привилегий.

Механизм работы: при обращении приложения к сервису (любое обращение проходит как action), он проверяет через PolicyKit права доступа пользователя для данного action-а. В зависимости от политик доступ может быть запрещен, разрешён или требовать аутентификации. Отображение ошибок (или запрос пароля) должно на себя брать клиентское приложение.

Пример использования: Ubuntu при настройке сети позволяет просматривать всю информацию без запроса пароля (т. конфигурация PolicyKit разрешает чтение без авторизации), но когда необходимо настройки сохранить, то запрашивается пароль. Причем пользователю не даются рутовские права на всю систему, т. он работает только в пределах используемого сервиса.

Защита сервера Apache/PHP/Nginx

ServerTokens Prod
ServerSignature Off
TraceEnable Off
Options all -Indexes
Header always unset X-Powered-By

$ sudo systemctl restart apache2. service

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *