Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Колисниченко Д. Н. Хакинг на linux.pdf
Скачиваний:
17
Добавлен:
19.04.2024
Размер:
29.19 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Группы пользователей

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Для более простого управления пользователями их можно объединять в группы. Например, можно задать ограничения ресурсов для группы пользо­ вателей. Тогда они будут распространяться на всех пользователей, входящих в группу и тебе не придется их устанавливать для каждого пользователя от­ дельно.

Но, прежде чем устанавливать права для группы, нужно эту группу создать. Добавить группу можно командой groupadd, однако ничего плохого не слу­ чится, если ты просто отредактируешь файл /etc/group (не groups, а именно group.f) и добавишь группу вручную. При добавлении группы следи, чтобы ID группы был уникальным. Если же ты не хочешь ни за чем следить, тогда просто введи команду groupadd:

# groupadd [параметры] имя_группы

С параметрами команды groupadd можно ознакомиться в справочной систе­ ме - тап groupadd.

1.2.4. Модули РАМ

Подключаемые модули аутентификации РАМ (PluggaЫe Authentication Modules)· предоставляют администраторам дополнительные методы подтверждения подлинности пользователя. Модули РАМ - это не новинка в мире Linux. Они были разработаны очень давно, но до сих пор есть даже в самых современных дистрибутивах Linux, поскольку заменить их, по сути, нечем.

Модули РАМ позволяют использовать несколько схем аутентификации. Больпm:нство приложений, которые нуждаются в проверке подлинности пользователя, используют РАМ. Модули РАМ позволяют реализовать аль­ тернативную аутентификацию, например, по отпечаткам пальцев или по сет­ чатке глаз, но для этого необходимо дополнительное оборудование, напри­ мер, сканер отпечатков. В этой книге мы рассмотрим традиционный ....вариант

использования РАМ - когда аутентификация происходит посредством ввода пароля с клавиатуры.

'--- ------- ------ -- - ---- ------ --- ---..-....--..-- .·--......---..-- -..--... -...- -

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

Основнойm

файл конфигурации называется /etc/pam.conf. В каталоге /etc/w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

pam.d/ находится конфигурация для разных сервисов, которые поддержива­

 

 

 

g

 

 

 

 

 

 

 

 

 

g

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

ют РАМ, например, в /etc/pam.d/sshd находится конфигурация РАМ-модулей для SSH, в /etc/pam.d/gdm-passwd - конфигурация пароля для менеджера дисплея GDM и т.д. В каталоге /etc/security также есть файлы конфигура­ ции, опюсящиеся к РАМ, например, файл ассеss.соnfуправляет доступом в систему.

Рис. 1. 7. Содержимое катш,ога /etc/security

Безопасность вашей системы зависит от используемых модулей. Модули хранятся в каталоге ЛiЬ/security или /lib64/security (для 64-битных систем), однако некоторые дистрибутивы не следуют этому стандарту. К примеру, в некоторых системах модули можно найти в каталоге /usrЛiЬ/security. При желании можно написать и собственные модули, но для начала следует разобраться с уже имеющимися. Ниже приведен список наиболее часто ис­ пользуемых модулей. Больше информации щ> каждому из них можно полу­ чить, набрав тап модуль, к примеру тап рат_pwcheck. Обратите внимание,

что нет "стандартного списка" модулей. Их состав варьируется от дистрибу­ тива к дистрибутиву.

• pam_access - разрешает или запрещает доступ, в зависимости от IР­

адреса, имени пользователя, имени хоста или доменного имени и т.п. По

умолчанию, правила доступа определены в файле /etc/security/access.conf.

818------------------------------------------------------------------------------

__,

 

 

 

hang

e

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

wClick

 

 

 

 

 

o

Когда пользователь входит, проверяются правила доступа до первогоwClick

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

совпадения, и делаетсярешение, разрешить или запретить доступ.Также

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

смотри модуль pam_time-тaм другие ограничения.

pam_cracklib и pam_pwcbeck-предоставляют функции проверки проч­ ности пароля (проверки на легкость угадывания или повrоряемость). У пользователя спрашивают пароль, и если он проходит предустановлен­ ные правила и считается прочным, тогда нужно ввести его еще раз для проверки правильности ввода.

pam_deny-безусловно запрещает доступ: Эrот модуль можно использо­ вать для блокирования пользователей, как политику по умолчанию. См.

также pam_peпnit.

pam_ecbo-выводит предустановленное текстовое сообщение. См. так­ же pam_motd.

pam_env-позволяет присвоение значений перемеlПIЫм окружения. Правила по умолчанию беруrся из файла /etc/security/pam_env.conf.

pam_exec-вызывает внешнюю программу.

pam_lastlog-выводит даl)' и время последнего входа в систему.

раm_limits-устанавливает ограничения на системные ресурсы, исполь­ зуемые пользователем. Ограничения по умолчанию беруrся из файла /etc/ security/limits.conf.

pam_Iistfile-разрешает или запрещает сервис в зависимости от значений в файле. К примеру, ecJm: нужно открыть FТР-доступ лишь для некоторых

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

auth requiredpam_listfile.so item=user sense=allow.file=/etc/ftpusers_ok one"=fail в файл /etc/pam.d/ftpd. См. также модуль pam_nologin.

pam_mail - сообщает пользователю о наличии свежей электронной

 

почты.

 

 

 

pam_mkhomedir-создает домашний каталог пользователя, если он не

 

существует на локальной машине. Таким образом, можно использовать

 

централизован:ную авrоризацию (к примеру, вNIS или LDAP) исоздавать

 

домашние каталоm лишь при необходимости.

 

раm_mоtd-выводит "сообщение дня". См. также модуль pam_echo.

pam_nologin-зanpeщaeт доступ, когда существует файл /etc/nologin.

·----- - -- - ------ ............................

---......

--- ..........................

-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'\,11,11111 IICI I illll\

 

 

 

 

to

BUY

 

 

 

 

 

 

 

w Click

 

 

 

 

m

pam_permit - безусловно разрешает доступ - очень небезопасно!

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

также модуль pam_deny.

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

СмClick.

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

pam_rootokразрешает доступ для пользователя root без доnолнитель­ ных проверок. Обычно этот модуль используется в /etc/pam.d/su, чтобы

пользователь root мог войти под любым другим пользователем даже без

ввода пароля. Файл должен содержать следующие строки (обратите вни­ мание на вrорую строку, см. модуль pam_wheel):

)) auth sufficient pam_rootok.so

)) auth required pam_wheel.so » auth required pam_uшx.so

pam_succecd_ifпроверяет некоторые характеристики учетной записи,

к примеру, принадлежность к определенной группе, значение UID и т.п.

pam_time - запрещает доступ к службе в зависимости от дня недели и

времени дня. По умолчанию правила берутся из файла /etc/security/time. conf. Однако, запрет накладывается лишь на момент входа в систему.

Способа принудительно заставить пользователя выйти из системы нет.

pam_umaskустанавливает маску создания файлов.

pam_unix или раm_uniх2-классическая аутентификация в UNIХ-стиле, основана на файлах /etc/passwd и /etc/shadow. См. также модуль pam_ userdb.

pam_userdb - аутентифицирует пользователя с помощью базы данных.

См. также модуль pam_unix.

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

pam_wheelпозволяет rооt-доступ лишь для членов группы wheel. Часто этот модуль используется для su, чтобы лишь избранные пользователи могли пользоваться этой программой. Пример использования можно най­ ти в описании модуля pam_rootok.

Если книга не посвящена конкретно РАМ, лучше всего рассматривать РАМ -на отдельных· примерах.

....... .................................................... ··- ....... . . . . .. . .... .

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Ограничиваем доступ к системе по IР-адресу

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Файл /etc/security/access.onfc используется модулем pam_access.so, чтобы определить, каким пользователям позволено входить в систему и с каких IР-адресов.

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

Формат этого файла следующий:

разрешения : пользователи : источники

Разрешение может начинаться с символа "+"(доступ разрешен) или"-" (доступ запрещен). Если нужно указать несколько пользователей, то их име­ на разделяют пробелом. Если нужно сделать исключение для некоторых пользователей, то перед их именами указывают служебное слово ЕХСЕРТ.

Третье поле может содержать список из одного или более имен консолей (tty)- для несетевого доступа к системе, имен узлов(для сетевого доступа), доменных имен(начинаются с"."),IР-адресов узлов, IР-адресов сетей (за­ канчиваются".")Также. можно указать все источники (ALL), ни один из ис­ точников(NONE) или только локальные источники(LOCAL).

Теперь несколько примеров:

-:ALL ЕХСЕРТ root:ttyl

Первая консоль - это только консоль root. Другим пользователям запреще­ но ее занимать.Мы запрещаем доступ(-) всем пользователям(ALL) кроме (ЕХСЕРТ) пользователя root на консоли ttyl.

Следующий пример - разрешение регистрации как root с определенных IР­ адресов:

+

: root

192.168.1.1 192.168.1.4 192.168.1.9

. - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ....

+

root

127.0.0.1