Сделай Сам Свою Работу на 5

Управление пользователями





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

Где суперпользователь?

Разработчики Ubuntu приняли сознательное решение заблокировать административную корневую учетную запись (root) по умолчанию во всех установках Ubuntu. Это не означает, что учетная запись root удалена или к ней нет доступа. Ей просто присвоен пароль, который не совпадает ни с одним возможным шифрованным значением, соответственно, ее невозможно использовать для входа напрямую.

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



1. Если по какой-то причине вы хотите разрешить учетную запись суперпользователя, просто установите ей пароль:

sudo passwd

Sudo запросит ваш пароль, а затем предложит установить новый пароль для root как показано ниже:

[sudo] password for username: (вводите свой собственный пароль)

Enter new UNIX password: (вводите новый пароль суперпользователя)

Retype new UNIX password: (повторяете новый пароль суперпользователя)

passwd: password updated successfully

2. Для блокирования учетной записи root используйте следующий синтаксис passwd:

sudo passwd -l root

3. Вы можете прочитать больше по sudo вызвав ее man страницу:

man sudo

По умолчанию изначальный пользователь, созданный установщиком Ubuntu является членом группы "admin", которая добавлена в файл /etc/sudoers как авторизованные sudo пользователи. Если вы желаете разрешить другой учетной записи полный доступ суперпользователя через sudo, просто добавьте ее в группу admin.

Добавление и удаление пользователей



Процесс управления локальными пользователями и группами простой и мало отличается от большинства других операционных систем GNU/Linux. Ubuntu и другие дистрибутивы на основе Debian поощряют использование пакета "adduser" для управления учетными записями.

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

sudo adduser username

2. Для удаления пользователя и его первичной группы используйте следующий синтаксис:

sudo deluser username

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

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

Вы можете захотеть изменить эти значения UID/GID каталога на что-то более подходящее, как, например, значения суперпользователя и, возможно, переместить каталог для предотвращения будущих конфликтов:

sudo chown -R root:root /home/username/

sudo mkdir /home/archived_users/

sudo mv /home/username /home/archived_users/

3. Для временного блокирования или разблокирования используйте следующий синтаксис:

sudo passwd -l username

sudo passwd -u username

4. Для добавления или удаления персональной группы используйте, соответственно, следующий синтаксис:

sudo addgroup groupname

sudo delgroup groupname

5. Для добавления пользователя в группу, используйте:

sudo adduser username groupname



Управление пользователями

Добавление пользователя

Добавление пользователя осуществляется при помощи команды useradd. Пример использоания:

sudo useradd vasyapupkin

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

Ключ Описание
-b Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home
Комментарий. В нем вы можете напечатать любой текст.
-d Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
-e Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
-f Блокирование учетной записи. Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 - не блокируется. По умолчанию -1.
-g Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
-G Список групп в которых будет находится создаваемый пользователь
-k Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
-m Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
-p Пароль пользователя. По умолчанию пароль не задается.
-s Оболочка, используемая пользователем. По умолчанию /bin/sh.
-u Вручную задать UID пользователю.

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

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

useradd -D

Результат будет примерно следующий:

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/sh

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

Если вас не устраивают такие настройки, вы можете поменять их выполнив

useradd -D -m -s /bin/bash

где -m и -s это ключи, взятые из таблицы выше.

Изменение пользователя

Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:

sudo usermod -c "Эта команда поменяет комментарий пользователю" vasyapupkin

usermod использует те же опции, что и useradd.

Изменение пароля

Изменить пароль пользователю можно при помощи утилиты passwd.

sudo passwd vasyapupkin

passwd может использоваться и обычным пользователем для смены пароля. Для этого пользователю надо ввести

Passwd

и ввести старый и новый пароли.

Основные ключи passwd:

Ключ Описание
-d Удалить пароль пользователю. При помощи этого ключа можно легко заблокировать учетную запись.
-e Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
-i Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
-n Минимальное количество дней между сменами пароля.
-x Максимальное количество дней, после которого необходимо обязательно сменить пароль.

Получение информации о пользователях

§ w – вывод информации (имя пользователя, оболочка, время входа в систему и т. п.) о всех вошедших в систему пользователях.

§ whoami – вывод вашего имени пользователя.

§ users – вывод имен пользователей, работающих в системе.

§ groups имя_пользователя – вывод списка групп в которых состоит пользователь.

Удаление пользователя

Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel. Пример использования:

sudo userdel vasyapupkin

userdel имеет всего два основных ключа:

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

Управление группами

Создание группы

Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию. Пример использования:

sudo groupadd testgroup

Основные ключи:

Ключ Описание
-g Установить собственный GID.
-p Пароль группы.
-r Создать системную группу.

Изменение группы

Сменить название группы, ее GID или пароль можно при помощи groupmod. Пример:

sudo groupmod -n newtestgroup testgroup #Имя группы изменено с testgroup на newtestgroup

Опции groupmod:

Ключ Описание
-g Установить другой GID.
-n Новое имя группы.
-p Изменить пароль группы.

Удаление группы

Удаление группы происходит так:

sudo groupdel testgroup

groupdel не имеет никаких дополнительных параметров.

Файлы конфигурации

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

/etc/passwd

В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:

vasyapupkin:x:1000:1000:Vasya Pupkin:/home/vpupkin:/bin/bash

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

Поле Описание
vasyapupkin Имя пользователя для входа в систему.
x Необязательный зашифрованный пароль.
Числовой идентификатор пользователя (UID).
Числовой идентификатор группы (GID).
Vasya Pupkin Поле комментария
/home/vpupkin Домашний каталог пользователя.
/bin/bash Оболочка пользователя.

Второе и последнее поля необязательные и могут не иметь значения.

/etc/group

В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:

vasyapupkin:x:1000:vasyapupkin,petya

Поле Описание
vasyapupkin Название группы
x Необязательный зашифрованный пароль.
Числовой идентификатор группы (GID).
vasyapupkin,petya Список пользователей, находящихся в группе.

В этом файле второе и четвертое поля могут быть пустыми.

/etc/shadow

Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:

vasyapupkin:$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0:15803:0:99999:7:::

Здесь:

Поле Описание
vasyapupkin Имя пользователя для входа в систему.
$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0 Необязательный зашифрованный пароль.
Дата последней смены пароля.
Минимальный срок действия пароля.
Максимальный срок действия пароля.
Период предупреждения о пароле.
Период неактивности пароля.
Дата истечения срока действия учётной записи.

Управление пользователями и группами через GUI

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

Установка

Пакет gnome-system-tools находится в репозитории Ubuntu, поэтому ставится одной командой:

sudo apt-get install gnome-system-tools

 

 

Безопасность профиля пользователя

Когда создается новый пользователь, утилита adduser создает, соответственно, новый именной каталог /home/username. Профиль по умолчанию формируется по содержимому, находящемуся в каталоге /etc/skel, который включает все основы для формирования профилей.

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

1. Для проверки прав доступа на домашние каталоги существующих пользователей используйте такой синтаксис:

ls -ld /home/username

Следующий вывод показывает, что каталог /home/username имеет доступ на чтение для всех:

drwxr-xr-x 2 username username 4096 2007-10-02 20:03 username

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

sudo chmod 0750 /home/username

Некоторые склоняются к тенденции использовать опцию рекурсии (-R) без разбора, которая изменяет все дочерние каталоги и файлы, хотя это необязательно и может приводить к иным нежелательным последствиям. Родительский каталог сам по себе запретит неавторизованный доступ к любому своему содержимому.

Более эффективный подход к данному вопросу будет в изменении глобальных прав доступа по умолчанию для adduser при создании домашних каталогов. Просто отредактируйте файл /etc/adduser.conf, изменив переменную DIR_MODE на что-то более подходящее, после чего все новые домашние каталоги будут получать корректные права доступа.

DIR_MODE=0750

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

ls -ld /home/username

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

drwxr-x--- 2 username username 4096 2007-10-02 20:03 username

Политика паролей

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

Минимальная длина пароля

По умолчанию Ubuntu требует минимальную длину пароля в 6 символов, также как и некоторые основные проверки на разброс значений. Эти параметры управляются файлом /etc/pam.d/common-password и приведены ниже:

password [success=2 default=ignore] pam_unix.so obscure sha512

Если вы хотите установить минимальную длину в 8 символов, измените соответствующую переменную на min=8. Изменения приведены ниже:

password [success=2 default=ignore] pam_unix.so obscure sha512 min=8

Базовые проверки на качество и минимальную длину пароля не применяются к администратору, использующего команды уровня sudo для настройки нового пользователя.

Время жизни пароля

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

1. Для простого просмотра текущего статуса учетной записи пользователя используйте следующий синтаксис:

sudo chage -l username

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

Last password change : Jan 20, 2008

Password expires : never

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

2. Для установки этих значений просто используйте следующую команду и следуйте интерактивным подсказкам:

sudo chage username

Далее также пример того, как можно вручную изменить явную дату истечения действия пароля (-E) на 01/31/2008 (американский вариант даты - прим. пер.), минимальный срок действия пароля (-m) на 5 дней, максимальный срок действия (-M) на 90 дней, период бездействия (-I) на 5 дней после истечения срока пароля и период предупреждений (-W) на 14 дней до истечения срока пароля.

sudo chage -E 01/31/2011 -m 5 -M 90 -I 30 -W 14 username

3. Для проверки изменений используйте ту же команду, что и упоминалась выше:

sudo chage -l username

Вывод команды ниже показывает новые политики, которые применяются к учетной записи:

Last password change : Jan 20, 2008

Password expires : Apr 19, 2008

Password inactive : May 19, 2008

Account expires : Jan 31, 2008

Minimum number of days between password change : 5

Maximum number of days between password change : 90

Number of days of warning before password expires : 14

Иные соображения безопасности

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

Доступ по SSH заблокированными пользователями

Обычное отключение/блокирование не исключает удаленного подключения пользователя к серверу, если ему предварительно была установлена аутентификация по открытому ключу RSA. Такие пользователи будут получать доступ к консольной оболочке (shell) на сервере без необходимости ввода какого-либо пароля. Не забывайте проверять пользовательские домашние каталоги на файлы, которые позволяют подобный тип авторизации по SSH, например, /home/username/.ssh/authorized_keys.

Удаление или переименование каталога .ssh/ в домашнем каталоге пользователя предотвратит дальнейшую способность аутентификации по SSH.

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

Ограничьте SSH доступ только для учетных записей пользователей, которым они требуются. Например, вы можете создать группу с названием "sshlogin" и добавить имя группы в качестве значения для переменной AllowGroups, находящейся в файле /etc/ssh/sshd_config.

AllowGroups sshlogin

Затем добавьте ваших пользователей, которым разрешен SSH доступ, в группу "sshlogin" и перестартуйте SSH сервис.

sudo adduser username sshlogin

sudo service ssh restart

Аутентификация по внешней базе данных

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

Содержание задания

1. Запустить виртуальную машину с ОС Ubuntu

2. Пароль администратора Root 1234

3. Изучить способы регистрации пользователей и групп в системе:создать несколько пользователей и групп. Скриншоты выполнения команд поместить в отчет.

4. Включить в отчет о лабораторной работе ответы на следующие вопросы:

а) какая информация указывается при создании нового пользователя;

б) какая информация указывается при создании новой группы;

в) какой формат имеют записи файла passwd;

г) какой формат имеют записи файла group;

д) какой формат имеют записи файла shadow и для чего используется этот файл;

5. Изучить средства управления настройками аутентификации: использовать команды управления паролями. Скриншоты выполения команд поместить вотчет.

6. Включить в отчет о лабораторной работе ответы на следующие вопросы:

а) как включается и выключается режим использования скрытых паролей;

б) что происходит при включении режима использования скрытых паролей;

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

7. Освоить средства изменения пароля текущего пользователя. Освоить средства блокировки терминала при временном отсутствии пользователя.

 

8. Освоить средства разграничения доступа к файлам Выбрать файлы и каталоги и присвоить им права доступа. Скриншоты выполения команд поместить в отчет.

9. Включить в отчет о лабораторной работе ответы на следующие вопросы:

а) почему для файлов и каталогов установлены именно такие права доступа (дать пояснение по каждому файлу и каталогу);

б) в чем смысл использования и потенциальная опасность дополнительных битов доступа SUID и SGID;

в) какая политика разграничения доступа к файлам используется в операционной системе Linux и чем она отличается от политики разграничения доступа к объектам в защищенных версиях операционной системы Windows;

г) кто может изменять права доступа к файлам.

10. Сохранить отчет о выполнении лабораторной работы в виде текстового файла.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.