Читаем Linux глазами хакера полностью

Почему так сложно происходит проверка? Просто все пароли в файле /etc/shadow зашифрованы необратимым алгоритмом (чаще всего используется алгоритм MD5). Это значит, что математическими методами из результата кодирования нельзя получить исходный пароль, поэтому возможен только подбор. Для этого существует несколько очень простых программ. Чем проще пароль и меньше его длина, тем быстрее программа найдет нужный вариант. Если пароль сложен и его длина более 8 символов, а лучше — свыше 16, то подбор может отнять слишком много времени.

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

Таким образом, пока мы не пройдем авторизацию через программу login, запустить командную оболочку (Shell) невозможно, нам останется доступной лишь консоль getty, которая умеет только запрашивать имя пользователя и передавать его программе login.

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

3.3.1. Теневые пароли

В старых версиях Linux список пользователей и пароли хранились в файле /etc/password. Это не очень хорошо, потому что данный файл должен быть доступен для чтения всем пользователям, т.к. имена пользователей требуются очень многими безобидными программами. Например, при выполнении команды ls (просмотр файлов текущего каталога) нужно получить доступ к списку пользователей для получения имен владельцев файлов. Поскольку файл легко прочитать любому пользователю, то и зашифрованные варианты паролей тоже доступны, а значит, любой хакер сможет запустить подбор паролей и ждать заветного часа X, когда будет найдена нужная комбинация.

Чтобы защитить пароли, во всех современных версиях Linux их прячут в файл /etc/shadow, который доступен для чтения только администратору root. Файл /etc/password остался открытым для всех, но теперь в нем уже нет пароля. Давайте посмотрим, как выглядит файл /etc/password. Для примера я взял только верхние три строки из своего файла:

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

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

□ имя пользователя — login, который вы вводите;

□ пароль — если вывод затенен, то вместо пароля будет стоять символ x;

□ UID — уникальный идентификатор пользователя;

□ GID — уникальный идентификатор группы;

□ информация о пользователе — здесь может быть полное имя, адрес и т.д.;

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

□ интерпретатор команд — оболочка, которая будет выполнять команды пользователя. Если интерпретатора команд не должно быть, то указывается файл /sbin/nologin.

Теперь посмотрим на строку для пользователя root. Первый параметр — это имя, и, конечно же, тут написано root. Пароля в файле нет, т.к. вместо него мы видим символ x (или !!), а он находится в соответствующей записи файла /etc/shadow.

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

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

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

Последний параметр — это командный интерпретатор, который будет обрабатывать пользовательские запросы. Наиболее распространенным является интерпретатор /bin/bash. Если команды пользователя не должны выполняться, то в качестве этого параметра устанавливается /sbin/nologin. Именно это значение введено для записей bin, daemon и многих других, потому что под ними нельзя входить в систему и они предназначены только для внутреннего обеспечения безопасности определенных программ.

Теперь посмотрим на файл /etc/shadow, а точнее, возьмем только первые три строки. Для примера этого будет достаточно:

root:$1$1emP$XMJ3/GrkltC4c4h/:12726:0:99999:7:::

bin:*:12726:0:99999:7:::

daemon:*:12726:0:99999:7:::

Перейти на страницу:

Похожие книги

Полное руководство по Microsoft Windows XP
Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием. Особое внимание уделено обеспечению безопасности операционной системы.Издание адресовано пользователям и сетевым администраторам, желающим активно применять возможности операционной системы Windows XP (в том числе и недокументированные).

Питер Нортон , Джон Поль Мюллер

ОС и Сети, интернет / ОС и Сети / Книги по IT
Сетевые средства Linux
Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security. Если вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com

Родерик В. Смит

ОС и Сети, интернет / ОС и Сети / Книги по IT
Linux
Linux

Книга посвящена операционной системе Linux. Приводятся подробные сведения о ее особенностях и возможностях, идеологии файловой системы, инсталляции и основных командах, вопросах компиляции ядра, настройках и сервисах. Большое внимание уделяется организации на базе Linux различных серверов и служб: электронной почты, WWW, FTP, INN, Proxy, NTP, а также проблемам администрирования сети, обеспечения безопасной работы и другим вопросам. Описаны способы настройки под Linux рабочих станций, в т. ч. и бездисковых, установки и эксплуатации на них графических сред типа X Window, а также конфигурирование модемных соединений, принтеров и сканеров, отладка взаимодействия с Linux-машинами такой «экзотической» периферии, как карманные компьютеры, мобильные телефоны, TV-тюнеры и т. п. Рассматриваемые в книге конфигурационные файлы и структура каталогов соответствуют дистрибутиву Red Hat Linux 7.x, тем не менее, при минимальной адаптации все упоминаемые в книге пакеты устанавливаются в любом дистрибутиве Linux.Для начинающих администраторов или пользователей Linux.

Алексей Александрович Стахнов

ОС и Сети, интернет