Первый и самый важный шаг к обеспечению безопасности серверов и систем Linux — предотвращение несанкционированного доступа злоумышленников. Надлежащий контроль учетных записей пользователей — один из многих способов повысить безопасность вашей системы.

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

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

1. Ограничить доступ к корневой учетной записи

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

instagram viewer

Например, злоумышленник может методом грубой силы войти в систему как пользователь root и получить доступ к системе.

Чтобы ограничить ненужный корневой доступ изнутри/вне системы Linux, вы можете:

  • Добавить другого пользователя и предоставьте ему root-права
  • Отключить корневой вход SSH

Создать нового суперпользователя

К предоставить права sudo или root к обычной учетной записи пользователя Linux, добавьте пользователя в судо группировать следующим образом:

usermod -aG имя пользователя sudo

Теперь переключитесь на учетную запись пользователя с помощью команды su и проверьте его привилегии root, введя команду, доступную только для пользователя root:

су - имя пользователя
sudo systemctl перезапустить sshd

Включение разрешений sudo обеспечивает некоторые хорошие преимущества безопасности, такие как:

  • Вам не нужно делиться паролями root с обычными пользователями.
  • Он помогает вам проверить все команды, выполняемые обычными пользователями, что означает, что он сохраняет сведения о том, кто, когда и где выполнял команду, в /var/log/secure файл.
  • Кроме того, вы можете редактировать /etc/sudoers файл, чтобы ограничить права суперпользователя для обычных пользователей. Вы можете использовать команду су -л чтобы проверить текущие root-права пользователя.

Отключить корневой вход SSH

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

Судо ВИМ /etc/ssh/sshd_config

Теперь раскомментируйте следующую строку, чтобы установить права входа root на нет:

PermitRootЛогин нет

Сохраните файл и перезапустите sshd сервис, набрав:

sudo systemctl перезапустить sshd

Теперь всякий раз, когда вы пытаетесь войти в систему по SSH в качестве пользователя root, вы получите следующее сообщение об ошибке:

Разрешение отклонено, попробуйте еще раз.

2. Установите даты истечения срока действия для учетных записей

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

Например, если стажеру или сотруднику нужен доступ к системе, вы можете установить срок действия при создании учетной записи. Это мера предосторожности на случай, если вы забудете вручную удалить или удалить учетную запись после того, как они покинут организацию.

Использовать изменение команда с утилита grep чтобы получить сведения об истечении срока действия учетной записи для пользователя:

изменить -l имя пользователя| учетная запись grep

Вывод:

Срок действия аккаунта: никогда

Как показано выше, он не выводит дату истечения срока действия. Теперь используйте пользовательский мод команда с флаг, чтобы установить дату истечения срока действия в ГГГГ-ММ-ДД отформатируйте и проверьте изменение с помощью приведенной выше команды chage.

usermod -e 2021-01-25 имя пользователя
изменить -l имя пользователя| учетная запись grep

3. Улучшить безопасность пароля учетной записи

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

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

Установить срок действия пароля

Кроме того, Linux предлагает некоторые параметры по умолчанию внутри /etc/logins.defs файл, который позволяет установить срок действия пароля учетной записи. Использовать изменение command и grep сведения об истечении срока действия пароля следующим образом:

изменить -l имя пользователя | грэп дней
Переменные Значение по умолчанию использование Идеальное значение
PASS_MAX_DAYS 9999 Количество дней по умолчанию для использования пароля, которое зависит от типа настройки вашей учетной записи. 40
PASS_MIN_DAYS 0 Запрещает пользователям немедленно менять свой пароль 5
PASS_MIN_LEN 5 Заставляет пользователя устанавливать пароли определенной длины 15
PASS_WARN_AGE 0 Предупреждает пользователя о смене пароля, прежде чем он будет вынужден это сделать. 7

Для используемых учетных записей вы можете контролировать срок действия пароля с помощью изменение команда для установки PASS_MAX_DAYS, PASS_MIN_DAYS и PASS_WARN_AGE на 40, 5 и 7.

chage -M 40 -m 5 -W 7 имя пользователя

Хэши паролей

Еще один способ повысить безопасность паролей учетной записи — хранить хэши паролей внутри файл /etc/shadow. Хэши — это односторонние математические функции, которые принимают пароль в качестве входных данных и выводят необратимую строку.

Раньше в системах Linux всякий раз, когда пользователь вводил свой пароль для входа в систему, система генерировала свой хэш и сверяла его с тем, который хранится в /etc/passwd файл.

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

Следовательно, Linux теперь сохраняет хэши внутри /etc/shadow файл со следующим набором прав доступа:

ls -l /etc/тень
1 корень корень 1626 7 января 13:56 /etc/shadow

Вы все еще можете установить Linux со старыми способами хранения хэшей. Вы можете изменить это, запустив pwconv команда, так что она автоматически сохранит хэши паролей в /etc/shadow файл. Точно так же вы можете включить другой метод (/etc/passwd файл) с помощью пунконв команда.

4. Удалить неиспользуемые учетные записи пользователей

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

найти / -user имя пользователя

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

Наконец, удалите учетную запись пользователя с помощью команды userdel.

userdel -f имя пользователя

5. Ограничить удаленный доступ определенной группой пользователей

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

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

группа sudoдобавить ssh_gp
sudo gpasswd - имя пользователя ssh_gp
имя пользователя группы

Теперь откройте основной файл конфигурации OpenSSL, чтобы включить разрешенную группу пользователей. ssh_gp.

Судо ВИМ /etc/ssh/sshd_config
Разрешить группы ssh_gp

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

sudo systemctl перезапустить sshd

Обеспечение безопасности учетной записи пользователя в Linux

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

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

Полное руководство по управлению пользователями в Linux

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

Читать дальше

доляТвитнутьЭлектронное письмо
Похожие темы
  • линукс
  • Безопасность
  • Контроль учетных записей пользователей
  • Безопасность
  • Советы по безопасности
Об авторе
Румайса Ниази (опубликовано 8 статей)

Румаиса — независимый писатель в MUO. Она носила много шляп, от математика до энтузиаста информационной безопасности, и теперь работает аналитиком SOC. Ее интересы включают чтение и письмо о новых технологиях, дистрибутивах Linux и обо всем, что связано с информационной безопасностью.

Другие работы Румайсы Ниази

Подписывайтесь на нашу новостную рассылку

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

Нажмите здесь, чтобы подписаться