Ѕаза знаний студента. –еферат, курсова€, контрольна€, диплом на заказ

курсовые,контрольные,дипломы,рефераты

»сследование уровн€ безопасности операционной системы Linux — ѕрограммное обеспечение

ѕосмотреть видео по теме –аботы
—одержание

†TOC o "1-3" ............................................................................................. PAGEREF _Toc74760928 h

1. ќсновные пон€ти€ компьютерной безопасности PAGEREF _Toc74760929 h

2. Ћокальна€ и сетева€ безопасность Linux................. PAGEREF _Toc74760930 h

2.1. ѕользователи и пароли.............................................................. PAGEREF _Toc74760931 h

2.2. ќсобенности файловой системы Linux...................................... PAGEREF _Toc74760932 h

2.2.1. ѕрава доступа...................................................................... PAGEREF _Toc74760933 h

2.2.2. јтрибуты файлов................................................................. PAGEREF _Toc74760934 h

2.2.3. ћеханизм квот..................................................................... PAGEREF _Toc74760935 h

2.3. Ѕиблиотека PAM......................................................................... PAGEREF _Toc74760936 h

2.4. Ѕрандмауэр................................................................................. PAGEREF _Toc74760937 h

2.5. ”даленное управление................................................................ PAGEREF _Toc74760938 h

3. —редства усилени€ безопасности в Linux................. PAGEREF _Toc74760939 h

3.1. Linux ACLs.................................................................................. PAGEREF _Toc74760940 h

3.2. LIDS............................................................................................. PAGEREF _Toc74760941 h

3.3. AIDE............................................................................................ PAGEREF _Toc74760942 h

4. “ехника безопасности......................................................... PAGEREF _Toc74760943 h

«аключение..................................................................................... PAGEREF _Toc74760944 h

—писок литературы..................................................................... PAGEREF _Toc74760945 h

ѕриложение..................................................................................... PAGEREF _Toc74760946 h


¬ведение

ѕосто€нно растущий интерес к безопасности различных сетевых ќ—, а в особенности к UNIX-подобным системам, как раз и побудил мен€ выбрать именно эту тему работы. ѕроблема информационной безопасности, начина€ с момента по€влени€ необходимости в ней, посто€нно тревожит умы сотни тыс€ч людей, заставл€€ их совершенствовать средства ее обеспечени€. ѕо проблемам безопасности информационных систем написано очень много книг и статей, каждый день выход€т очерки, в которых сообщаетс€ о новых продуктах, совершенствовании существующих систем безопасности, описываютс€ по шагам методы защиты от различных вторжений, методы устранени€ их последствий. Ёта тема посто€нно развиваетс€, и интерес к ней никогда не угаснет. ѕроблема информационной безопасности будет актуальной до тех пор, пока существует информаци€, которую необходимо оградить от постороннего глаза.

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

–абота поделена на четыре части: перва€ часть €вл€етс€ теоретическим обзором основных терминов компьютерной безопасности; во второй части рассматриваютс€ аспекты локальной и сетевой безопасности системы; треть€ часть €вл€етс€ обзором дополнительных средств, предоставл€емых разработчиками мира UNIX дл€ контрол€, регистрации и предотвращени€ угроз безопасности ќ— Linux и четверта€ часть представл€ет собой дополнительный раздел, в котором рассматриваетс€ техника безопасной работы с персональным компьютером и монитором.


1. ќсновные пон€ти€ компьютерной безопасности

” различных категорий людей слово Ђбезопасностьї вызывает свои ассоциации. »меетс€ множество разновидностей этого термина, которые св€заны с различными сферами де€тельности человека. Ќапример, государственна€ безопасность или безопасность жизнеде€тельности, политическа€ или строительна€ безопасность. ¬ообще таких разновидностей большое количество, в каждом случае к этому термину предъ€вл€ютс€ специфические дл€ конкретного рода де€тельности требовани€, отличные от всех остальных. ќбобщенное же определение термина Ђбезопасностьї можно сформулировать так: безопасность Ц это набор средств и требований, направленных на предотвращение запрещенных действий, выполнение которых может привести к нежелательным последстви€м.

“ермин Ђинформационна€ безопасностьї по€вилс€ сравнительно недавно, с развитием вычислительной техники и Ё¬ћ. »нформационна€ безопасность включает в себ€ кроме† безопасности используемого программного обеспечени€, также безопасность аппаратных средств, безопасность каналов св€зи и многое другое.

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

≈сли есть запрет, по€витс€ и человек, который попытаетс€ его нарушить! — развитием информационных технологий и внедрением компьютера практически во все сферы де€тельности по€вились люди, так называемые Ђкракерыї (от англ. cracker Ц Ђвзломщик компьютерных сетей и программї), которые различными ухищрени€ми и нестандартными методами пытаютс€ с целью собственной выгоды получить несанкционированный доступ к информации, котора€ дл€ них не предназначена. ѕорой это приводит к плачевным† последстви€м дл€ владельца этой информации. “огда и возникла потребность в борьбе с Ђинформационными вредител€миї. Ѕыли разработаны целые комплексы программ дл€ усилени€ информационной безопасности и борьбы с кракерами. ј поскольку любым электронно-вычислительным комплексом управл€ет определенна€ ќ—, то, соответственно, дл€ обеспечени€ безопасности системы в целом необходимо позаботитьс€ о безопасности самой ќ—.

 аждый производитель по-своему взгл€нул на безопасность своей ќ—. ¬ итоге одни системы оказались достаточно защищенными, защиту других обойти было не просто, а третьи оказались практически беззащитными перед взломщиками. —тепень защищенности ќ— Linux Ц еще одной UNIX-подобной ќ— реального времени, рассматриваетс€ в этой работе.

»зуча€ безопасность ќ—, нельз€ не коснутьс€ теории компьютерной безопасности. “еори€ компьютерной безопасности оперирует трем€ основными пон€ти€ми: угроза, у€звимость† и атака.

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

”€звимость компьютерной системы Ц это така€ неудачна€ или не совсем корректна€ ее характеристика, котора€ представл€ет возможным возникновение угрозы. ”€звимости как раз и €вл€ютс€ причиной возникновени€ непри€тных ситуаций.

  у€звимост€м можно отнести следующие состо€ни€ информационных систем:

1. Ќесовершенство используемого программного обеспечени€

ѕрограммное обеспечение написано человеком, а человек склонен допускать ошибки. ѕри создании программного продукта проследить все св€зи и возможные ошибки практически невозможно, даже когда над проектом работает большое количество людей. —оздатели программных продуктов стараютс€ как можно лучше оптимизировать код программы и избавить его от ошибок, но, тем не менее, предусмотреть все возможные ситуации не представл€етс€ возможным. »ногда такие недоработки не несут никаких критических последствий дл€ самой программы или данных, которыми она оперирует, но бывает, что они позвол€ют использовать программу в цел€х, отличных от тех, дл€ которых она создавалась первоначально, иногда с очень серьезными последстви€ми (порча данных, например). “акие недоработки в программе обычно называют Ђдырамиї.

≈ще существует такое пон€тие, как Ђлюкї. Ћюком называют специальные комбинации действий над программой, которые позвол€ют обойти некоторые этапы выполнени€. ќбычно люки используютс€ программистами при разработке и тестировании программ с целью обхода уже проверенных блоков и в конце должны Ђзакрыватьс€ї, то есть программный код, отвечающий за люк, должен быть удален из готовой программы. Ќо то, что должно, делаетс€ не всегда. ѕрограммист попросту может забыть про люк, в результате люк остаетс€ в готовой программе и может представл€ть угрозу дл€ правильного выполнени€.

2. Ќеправильна€ настройка программного обеспечени€

Ѕезопасность системы во многом зависит от правильной настройки программного обеспечени€, установленного в ней. «а правильную настройку программ, установленных на пользовательском компьютере, отвечает сам пользователь компьютера (обычно, его владелец), за правильную настройку программ и сервисов, работающих на специализированном компьютере, обслуживающем запросы пользователей (сервере), отвечает администратор. ¬ обоих случа€х эти лица несут полную ответственность за сохранность данных и нормальное функционирование программ на обслуживаемом компьютере. ќт того, насколько правильно настроено то или иное программное обеспечение, может зависеть, получит злоумышленник доступ к компьютеру или нет.

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

—уществуют три основных вида угроз:

Ј       

Ј       

Ј       

”гроза раскрыти€ заключаетс€ в том, что информаци€ становитс€ известной тому, кому не следовало бы ее знать. ¬ терминах компьютерной безопасности угроза раскрыти€ имеет место вс€кий раз, когда получен доступ к некоторой конфиденциальной информации, хран€щейс€ в вычислительной системе или передаваемой от одной системы к другой. »ногда вместо слова "раскрытие" используютс€ термины "кража" или "утечка".

”гроза целостности включает в себ€ любое умышленное изменение (модификацию или даже удаление) данных, хран€щихс€ в вычислительной системе или передаваемых из одной системы в другую. ќбычно считаетс€, что угрозе раскрыти€ подвержены в большей степени государственные структуры, а угрозе целостности - деловые или коммерческие.

”гроза отказа в обслуживании возникает вс€кий раз, когда в результате некоторых действий блокируетс€ доступ к некоторому ресурсу вычислительной системы. –еально блокирование может быть посто€нным, чтобы запрашиваемый ресурс никогда не был получен, или оно может вызвать только задержку запрашиваемого ресурса, достаточно долгую дл€ того, чтобы он стал бесполезным. ¬ таких случа€х говор€т, что ресурс исчерпан.

¬ывод.

¬ этой главе был осуществлен обзор основных терминов компьютерной безопасности, рассмотрены такие пон€ти€, как угроза безопасности, у€звимость системы, атака на систему, описаны основные виды атак.


2. Ћокальна€ и сетева€ безопасность Linux

Linux €вл€етс€ сетевой ќ—, поэтому провести четкую границу между локальной и сетевой безопасностью очень сложно. Ќо, поскольку компьютер, на котором установлена ќ— Linux, может выступать как в качестве пользовательского компьютера, так и в качестве сервера, подключение его к сети не гарантируетс€. ѕри отсутствии сети неуместно говорить о сетевой безопасности, потому что сетевой угрозы в принципе не существует. —ледовательно, разделение общей безопасности системы на две составл€ющие вполне целесообразно.

”читыва€ все это, можно сделать вывод, что локальна€ безопасность €вл€етс€ об€зательной практически в любом случае, кроме тех, когда к компьютеру имеет доступ только один человек Ц его владелец. —етева€ же безопасность €вл€етс€ актуальной только в том случае, когда компьютер с установленной на нем Linux имеет выход в сеть. —етева€ безопасность €вл€етс€ дополн€ющим звеном локальной безопасности, которые вместе определ€ют общую безопасность системы в целом. ¬ принципе, локальную безопасность можно считать последним барьером в общей безопасности системы.

Ћокальна€ безопасность Ц это правила, меры и усили€, направленные на защиту системы изнутри, от локальных пользователей.

ќ— Linux €вл€етс€ полноценной многопользовательской системой с простой и распределенной архитектурой. јрхитектура ќ— Linux приведена на рисунке 2.1.


–ис. 2.1. —труктура операционной системы Linux

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

«ачем же необходимо обезопасить систему от локальных пользователей?

ƒл€ ответа на этот вопрос сначала рассмотрим, что представл€етс€ возможным пользователю, который имеет доступ в систему.

†- ѕосле входа в систему пользователю выдел€етс€ определенна€ часть машинных ресурсов (дискового пространства, оперативной пам€ти, процессорного времени и так далее). ’орошо, если ќ— изначально настроена на правильное разделение ресурсов. ј если нет? ƒостаточно одному пользователю запустить пару-тройку Ђт€желыхї программ, как врем€ ожидани€ дл€ других программ даже на мощной машине может выйти за грань допустимого.

†- —уществуют программы, которые должен запускать только суперпользователь (пользователь root). ќбычно с помощью этих программ осуществл€етс€ настройка системных параметров операционной системы, неправильна€ конфигураци€ которых может отрицательно отразитьс€ на ее работоспособности. —лучайный запуск такой программы обычным пользователем может привести к фатальным последстви€м дл€ всей системы в целом.

†- Ђ√ул€€ї по дереву каталогов на жестком диске, пользователь может попасть в ту часть, в которой ему быть не положено (например, в каталог, где хран€тс€ файлы других пользователей). Ћичные файлы каждого пользовател€ должны быть доступны ему и только ему, если, конечно, он сам не решит иначе.

ѕеречисленные примеры Ц это лишь мала€ часть. »ногда, даже сам этого не осознава€, неопытный пользователь может представл€ть потенциальную угрозу, если ему предоставить неограниченные права.   тому же сама пор€дочность пользовател€ Ц это роскошь, которую в современном мире может себе позволить не каждый.

“еперь рассмотрим, какие же средства предоставл€ет система Linux дл€ обеспечени€ локальной безопасности.

2.1. ѕользователи и пароли

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

¬ Linux каждый пользователь имеет свой уникальный числовой идентификатор, по которому он идентифицируетс€ в системе. Ётому идентификатору дл€ более удобной работы соответствует им€ пользовател€. Ќапример, дл€ привилегированного пользовател€ root зарезервирован нулевой идентификатор.

¬се имена пользователей Linux и соответствующие им идентификаторы хран€тс€ в специальном файле passwd. Ётот файл располагаетс€ в каталоге etc, который, в свою очередь, находитс€ в корневом каталоге системы /. ‘айл имеет обычную текстовую форму.

ѕример файла пользовательских имен passwd.

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

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

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

sync:x:5:0:sync:/sbin:/bin/sync

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

 ажда€ запись в этом файле разделена двоеточи€ми на 7 частей:

1. »м€ пользовател€. Ёто поле содержит им€ пользовател€. ƒл€ операционной системы не важно, какое им€ имеет пользователь, система ориентируетс€ на идентификатор, а им€ играет, пожалуй,† только информационное значение дл€ человека, работающего в системе.

2. ѕоле парол€. Ёто поле в ранних верси€х Linux содержало зашифрованный пароль, а теперь, когда была введена технологи€ теневых паролей, в этом поле просто ставитс€ x. ѕрактического применени€ это поле не имеет.

3. »дентификатор пользовател€ (UID). ¬ системе Linux каждый пользователь имеет уникальный идентификационный номер, который однозначно определ€ет его в системе. Ётот номер используетс€ в различных цел€х, например, при установке прав доступа на файлы. ѕрава доступа будут рассмотрены в следующем разделе.

4. »дентификатор группы, к которой принадлежит этот пользователь (GID).  онцепци€ групп будет рассмотрена в следующих разделах.

5. ѕоле комментари€. ¬ этом поле может хранитьс€ люба€ дополнительна€ информаци€ о пользователе, например, его полное им€.

6. ѕолный путь к домашнему каталогу пользовател€. ¬ ќ— Linux дл€ каждого пользовател€ создаетс€ его домашний каталог, в котором он может хранить свои документы. ќбычно эти каталоги располагаютс€ в директории /home корневого каталога и по умолчанию имеют имена владельцев.

7. ѕуть к командной оболочке. ѕоследнее поле содержит полный путь к рабочей оболочке пользовател€ (по умолчанию такой оболочкой €вл€етс€ bash). Ёта оболочка запускаетс€, когда пользователь проходит процедуру аутентификации. ¬ цел€х безопасности дл€ системных пользователей в этом поле очень часто ставитс€ /sbin/nologin. ¬ приведенном примере пользователь bin имеет как раз такое значение в поле командного интерпретатора. —ама по себе программа nologin не €вл€етс€ оболочкой, единственное ее назначение Ц не допустить вход в систему. ѕоэтому при попытке входа под именем пользовател€, у которого в качестве рабочей оболочки установлена /sbin/nologin, ничего не происходит. ќбычно такой подход используетс€ при создании пользователей, которые €вл€ютс€ системными, то есть от имени которых выполн€ютс€ какие-то действи€ внутри системы. ј поскольку таким пользовател€м не нужна рабоча€ оболочка, хорошим решением, с точки зрени€ безопасности, будет установка пол€ оболочки в /sbin/nologin. ≈ще одним распространенным решением в таких ситуаци€х €вл€етс€ установка этого пол€ в значение /bin/false.  ак известно, в Linux, да и в большинстве других операционных систем, успешное завершение программы определ€етс€ типом возвращаемого значени€. ≈сли возвращаетс€ нулевое значение, выполнение программы прошло успешно, если ненулевое Ц в процессе выполнени€ программы возникли ошибки. Ќа основе возвращаемого значени€ система аутентификации делает вывод о том, пройдена ли аутентификаци€ успешно или она Ђпровалиласьї. false Ц программа, котора€ независимо от внешних факторов всегда возвращает значение, отличное от нул€, что в данном случае означает возникновение ошибок при запуске оболочки, и управление снова возвращаетс€ системе аутентификации.

ѕри входе в систему программа, предоставл€юща€ доступ, производит чтение информации о пользовател€х как раз из файла passwd. ѕраво на запись в этот файл имеет только привилегированный пользователь root, читать же его могут все пользователи системы (права доступа описываютс€ в разделе Ђќсобенности файловой системы Linuxї).

Ётот файл никогда не редактируетс€ вручную, хот€, в принципе, это вполне допустимо. ќбычно дл€ редактировани€ файла пользователей используют специальные программы: useradd, usermod и userdel.

ѕрограмма добавлени€ useradd позвол€ет добавить нового пользовател€ в систему. ƒл€ управлени€ процессом создани€ пользовател€ эта программа может принимать различные параметры в командной строке. Ќапример, параметр Цs задает используемый пользователем shell, а параметр Цg Ц группу, к которой принадлежит создаваемый пользователь. ѕомимо добавлени€ записи о пользователе в файл /etc/passwd, программа useradd создает домашний каталог пользовател€, который по умолчанию должен размещатьс€ в директории /home. ѕуть к пользовательскому каталогу может быть определен с помощью параметра Цd, за которым следует полный путь от корневого каталога до каталога пользовател€.

ѕрограмма usermod позвол€ет измен€ть такие параметры, как рабоча€ оболочка пользовател€, домашний каталог, группа, идентификатор пользовател€ и так далее.

Ќетрудно догадатьс€, что выполн€ет программа userdel. ќна удал€ет пользовател€ из системы. ѕодробна€ информаци€ об этих программах содержитс€ в соответствующих man-руководствах.

»м€ пользовател€ не €вл€етс€ секретной информацией, и его могут без проблем узнать другие пользователи системы. Ќо в таком случае должна существовать опасность входа одного пользовател€ под именем другого. ќднако этого не происходит. »спользуетс€ такое пон€тие, как аутентификаци€.

јутентификаци€ Ц это установление подлинности пользовател€, то есть установление факта того, что пользователь с таким именем €вл€етс€ именно тем, за кого себ€ выдает.

ƒл€ аутентификации в ќ— Linux используетс€ уже давно проверенное и доказавшее свою надежность средство Ц пароль.

ѕароль Ц это набор символов (секретное слово), известный только его владельцу и используемый дл€ удостоверени€ его подлинности.

 аждый пользователь в системе имеет свой собственный пароль. Ќаличие парол€ Ц необходима€ составл€юща€ политики безопасности пользователей Linux. ѕароль €вл€етс€ как бы пропуском пользовател€ в систему. Ѕез парол€, зна€ только им€ пользовател€, проникнуть в систему невозможно.

ѕароли хран€тс€ в отдельном файле /etc/shadow. ¬ ранних верси€х Linux имена и пароли пользователей хранились в одном файле /etc/passwd. Ќо практика показала, что дл€ обеспечени€ более надежной защиты паролей необходимо создание отдельного файла дл€ их хранени€. “аким образом, технологи€ выделени€ отдельного файла shadow дл€ хранени€ паролей получила название технологии Ђтеневых паролейї.

ѕример файла и его структура приведены ниже.

root:$1$pOy8fNrf$uOh/dQlI03BMIdEAhWrE.0:12369:0:99999:7:::

bin:*:12245:0:99999:7:::

daemon:*:12245:0:99999:7:::

sync:*:12245:0:99999:7:::

‘айл shadow, как и файл passwd, разделен на несколько частей двоеточи€ми:

1. »м€ пользовател€. Ёто поле просто дублируетс€ из файла passwd.

2. ’эш парол€. ѕароль в Linux никогда не хранитс€ в открытом виде, в отличие от имени пользовател€. ѕри установке парол€ до сохранени€ его в файле он шифруетс€ по специальному алгоритму. ѕо умолчанию таким алгоритмом €вл€етс€ алгоритм одностороннего шифровани€ DES (Data Encryption Standard). »спользование одностороннего алгоритма шифровани€ исключает возможность расшифровки парол€.

ќстальные пол€ содержат различную служебную информацию.

‘айл паролей имеет права только на чтение и только дл€ суперпользовател€ (права доступа описываютс€ в разделе Ђќсобенности файловой системы Linuxї). ≈го содержимое €вл€етс€ недоступным дл€ р€довых пользователей, таким образом, исключаетс€ возможность раскрыти€ зашифрованного парол€.

ƒл€ изменени€ парол€ в Linux изначально включена специальна€ программа passwd. ¬ качестве параметра в командной строке она получает им€ пользовател€ и при запуске требует ввода парол€ дл€ этого пользовател€. ѕри вводе в цел€х безопасности пароль не отображаетс€ на экране монитора, существует очень высока€ веро€тность допустить ошибку, особенно когда пароль состоит из цифр и символов различного регистра. ѕоэтому ввод парол€ осуществл€етс€ 2 раза дл€ проверки правильности ввода. ѕосле подтверждени€ пароль шифруетс€ и сохран€етс€ в файле /etc/shadow.

ѕри входе в систему процедурой получени€ имени и парол€ пользовател€ управл€ет программа mingetty. mingetty Ц это программа, выдающа€ приглашение дл€ ввода имени пользовател€ и парол€ на виртуальную консоль. ѕосле ее запуска на экране монитора по€вл€етс€ строка-приглашение ко вводу имени и парол€ пользовател€. ѕосле ввода имени и парол€ программа передает управление программе login. login Ц это программа-посредник, котора€ осуществл€ет проверку существовани€, корректности и соответстви€ имени пользовател€ и его парол€ в системе. ѕароль с помощью механизмов аутентификации шифруетс€ и сравниваетс€ с хэшем из файла. ѕосле успешного завершени€ процедуры аутентификации программа login запускает системную оболочку дл€ взаимодействи€ пользовател€ с операционной системой, так называемый shell (от англ. shell Ц Ђоболочкаї). ѕуть к исполн€емому файлу shell указываетс€ в последнем седьмом поле записи файла passwd. ќбычно по умолчанию используетс€ bash (Bourne Shell). ¬ыдаетс€ приглашение ко вводу команд с символом # или $ в конце (по умолчанию символ # используетс€ в приглашении суперпользовател€, а символ $ - в приглашении обычного пользовател€). — этого момента система готова принимать от пользовател€ команды на выполнение.

ƒл€ более удобного управлени€ доступом к ресурсам в Linux все пользователи объедин€ютс€ в группы. ¬ данном случае группа Ц это множество пользователей, объединенных по каким-либо критери€м.

  какой группе принадлежит пользователь, говорит 4 поле регистрационной записи в файле passwd. Ќаличие групп позвол€ет создать гибкую политику безопасности, основанную на разделении доступа к ресурсам. «начение групп дл€ разделени€ доступа более подробно описываетс€ в разделе Ђќсобенности файловой системы Linuxї.

ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 1.

2.2. ќсобенности файловой системы Linux

ƒл€ организации и посто€нного хранени€ информации на различных ее носител€х ќ— использует так называемую файловую систему.

‘айлова€ система Ц это методы и структуры данных, которые используютс€† ќ—† дл€ хранен舆 файлов на диске или в его разделе.

” каждой ќ— имеетс€ сво€ файлова€ система, отлична€ от всех других. ќт надежности, эффективности и безопасности работы файловой системы во многом зависит качество функционировани€ ќ— в целом.

¬ насто€щее врем€ во всех дистрибутивах ќ— Linux дл€ хранени€ информации активно используетс€ файлова€ система ext2 (The Second Extended File System). Ext2 €вл€етс€ файловой системой с богатыми функциональными возможност€ми, а тот факт, что ext2 была разработана специально дл€ Linux, уже говорит о необходимости присутстви€ в ней средств контрол€ и безопасности.

ќсновные характеристики файловой системы ext2: максимальный объем файловой системы Ц 4 “байт; максимальна€ длина файла Ц 2 √байт; максимальна€ длина имени файла Ц 255 символов; присутствует поддержка трех €чеек времени изменени€ файла; также имеетс€ возможность расширени€ файловой системы; присутствуют механизмы защиты информации и возможность измен€ть размер блока.

2.2.1. ѕрава доступа

–ассмотрим ситуацию, когда пользователь ј дл€ хранени€ очень важных документов использует свой домашний каталог. »нформаци€, хран€ща€с€ в документах, €вл€етс€ строго конфиденциальной, а по сему никто, кроме ее владельца, не должен получить к ней доступ. ѕользователь ¬ просто из любопытства, а может и со злобными намерени€ми, сделал попытку получить содержимое этих документов. –езультатом попытки €вилась ошибка с описанием Сpermission deniedТ (Сдоступ запрещенТ). ѕо€влением ошибки послужило отсутствие у пользовател€ B прав на чтение документов, принадлежащих пользователю ј. »з приведенного примера можно сделать вывод, что права доступа позвол€ют ограничить доступ к определенной информации, или, проще говор€, оградить некоторую информацию от определенных пользователей.

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

ѕрава доступа к файлу или каталогу описываютс€ трем€ восьмеричными цифрами, сама€ лева€ из которых Ц права доступа владельца, средн€€ Ц права группы, права€ Ц права доступа дл€ всех остальных.  ажда€ из этих восьмеричных цифр представл€ет собой битовую маску из 3-х бит. Ёти биты отвечают за право на чтение, запись и исполнение файла или каталога. ≈сли бит установлен в 1 Ц операци€ разрешена, если в 0 Ц запрещена.

ƒл€ различных типов файлов значени€ прав доступа немного отличаютс€.

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

ѕраво на запись файла позвол€ет пользователю измен€ть его содержимое. ƒл€ каталога - создавать файлы внутри каталога.

ѕраво на выполнение дл€ файла позвол€ет запускать файл на выполнение в качестве программы. ƒл€ каталога установка этого права дает возможность пользователю входить в каталог и просматривать его содержимое.

 акие права доступа определены дл€ каждого файла, можно узнать, набрав в терминале команду ls с ключом Цl:

[root@app tmpdir]# ls Цl

lrwxrwxrwx††† 1†† root users 86† ‘ев 7 19:49 linkfile -> myfile

drwxr-xr-x††† 1†† root users 4096 ‘ев 7 19:49 lnk

-rwxr-----††† 1†† anotheruser users 97 ‘ев 7 19:48 myfile1

-rw-rw-r--††† 1†† root users 84† ‘ев 7 19:45 myfile2

¬ первой колонке представлены права доступа к файлу. Ёта колонка содержит 10 символов. ѕервый из них слева говорит о том, к какому типу принадлежит файл, то есть €вл€етс€ ли он файлом, каталогом, ссылкой и так далее. ƒалее слева направо представлены† права доступа соответственно дл€ владельца, дл€ группы, и в конце Ц дл€ всех остальных. ¬тора€ колонка отображает количество жестких ссылок дл€ этого файла. “реть€ указывает на им€ владельца файла, четверта€ Ц на им€ группы-владельца, п€та€ колонка Ц размер файла, шеста€ Ц дата создани€ файла, седьма€ - им€ файла.

 ак видно из примера, linkfile €вл€етс€ символической ссылкой на файл myfile. ќб этом говорит буква l в самой левой части колонки прав доступа. ƒл€ символических ссылок задание прав доступа возможно, но вр€д ли имеет смысл. ƒело в том, что символическа€ ссылка указывает на файл, который имеет свои права доступа, поэтому при доступе по символической ссылке провер€ютс€ права конечного файла. ‘айл lnk €вл€етс€ каталогом, о чем говорит буква d в поле прав доступа. ѕоле владельца говорит о том, что владельцем каталога €вл€етс€ пользователь root, а группа-владелец Ц users. ¬ладелец† имеет право на чтение файлов в каталоге, запись файлов и чтение содержимого каталога. Ѕуква r (от слова Read) говорит о возможности дл€ данного пользовател€ выполн€ть операции чтени€ файлов каталога, буква w (от слова Write) Ц о возможности записи файлов в каталог, последн€€ буква x (от слова eXecute) дает право на просмотр содержимого каталога. ѕользователи, вход€щие в группу users, имеют право только на чтение файлов этого каталога и на получение его содержимого (буквы r и x), право на запись файлов в этот каталог у них отсутствует. ¬се остальные пользователи имеют те же права доступа, что и группа-владелец. ѕоследние два файла myfile1 и myfile2 €вл€ютс€ обычными файлами. ‘айл myfile2 имеет права чтени€ и записи дл€ владельца (пользовател€ root) и группы users, все остальные имеют право только читать файл. ‘айл myfile1 имеет права на чтение, запись и выполнение дл€ владельца, коим в данном случае €вл€етс€ пользователь anotheruser. √руппа users имеет право только на чтение этого файла, а все остальные пользователи вообще не могут выполн€ть какие-либо действи€ с этим файлом.

»зменение прав доступа к файлу осуществл€етс€ при помощи стандартной системной команды chmod. ѕрава доступа при вызове команды могут задаватьс€ как битовой маской в дес€тичном представлении, так и при помощи символов. ѕодробно использование этой команды описано на соответствующей man-странице.

ѕомимо прав доступа существуют так называемые модификаторы доступа.   модификаторам доступа относ€тс€ Sticky bit, SUID и SGID.

Sticky bit (S). ƒл€ файлов установка этого модификатора в современных дистрибутивах потер€ла свое значение. ”становка Sticky bit дл€ каталога позвол€ет пользователю записывать файлы в этот каталог, но удал€ть из этого каталога он может только те файлы, владельцем которых он €вл€етс€, или в том случае, если ему €вно заданы права записи.

SUID (s). ≈сли файлу установлен модификатор доступа SUID и файл испол≠н€емый, то файл при запуске на выполнение получает не права пользова≠тел€, запустившего его, а права владельца файла. “акие приемы использу≠ютс€ дл€ того, чтобы пользователь мог работать с некоторыми системными файлами, владельцем которых €вл€етс€ привилегированный пользо≠ватель.   примеру, дл€ того, чтобы пользователь мог самосто€тельно изме≠нить свой пароль при помощи программы passwd, у этой программы, владельцем которой €вл€етс€ пользователь root, должен быть установлен бит SUID, поскольку она работает с файлом shadow, модификацию которого имеет право производить только пользователь root.

SGID (s). ≈сли файл имеет модификатор доступа SGID, то это анало≠гично установке бита SUID, только вместо владельца файла используетс€ группа, которой принадлежит файл. ¬ случае установки SGID дл€ каталога файлы, со≠держащиес€ в этом каталоге, будут иметь установки группы такие же, как у каталога.

[root@app mydir]# ls Цl

-rwsr--r-x††† 1† anotheruser† users†† 97† ‘ев 7 19:48 myfile1

¬ приведенном примере видно, что файл myfile1 имеет установленный бит SUID. ѕри запуске файла любым пользователем системы (права на выполнение установлены дл€ всех) файл будет выполн€ть действи€ от имени его владельца, в данном случае от имени пользовател€ anotheruser.

ћодификаторы доступа при правильном использовании представл€ют очень мощное и гибкое средство. — другой стороны, неправильна€† настройка системы с использованием этих модификаторов может свести все действи€ по обеспечению безопасности к нулю. ќсобенно опасной представл€етс€ ситуаци€, когда тот же SUID установлен на исполн€емый файл, принадлежащий привилегированному пользователю. ѕри выполнении файла запустивший его пользователь получает право выполн€ть операции, доступные только пользователю root. ≈сли даже файл не выполн€ет никаких системных операций и не работает с системными файлами, неправильное его использование может привести к очень непри€тным последстви€м.

ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 2.

2.2.2. јтрибуты файлов

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

Ќачина€ с версии €дра 1.1, в файловой системе Linux помимо прав доступа присутствует поддержка расширенных атрибутов файлов. ¬ последних верси€х €дра 2.4 присутствует поддержка следующих атрибутов:

Ј        Atime (A).  аждый раз, когда система обращаетс€ к файлу, происходит изменение €чейки времени последнего обращени€ к файлу. ”становка атрибута atime позвол€ет избежать обновлени€ времени последнего обращени€ и увеличить производительность файловой системы, особенно в тех случа€х, когда обращени€ к файлам происход€т очень часто. ќднако, отсутствие времени последней модификации файла представл€ет угрозу изменени€ файла без последующей регистрации этого действи€, что может угрожать безопасности.

Ј        Sync (S). ”становка атрибута sync позвол€ет сразу фиксировать все изменени€, происход€щие с файлом, на жестком диске синхронно с процессом, который осуществл€ет эти изменени€. Ёто обеспечивает более безопасную работу, но может также снизить производительность из-за пр€мой посто€нной записи на диск.

Ј        Append (a). Ётот атрибут позвол€ет открывать файл только с целью его дополнени€. ”сечение или перезапись файла запрещаетс€. ƒл€ каталога установка этого атрибута означает, что удал€ть файлы, содержащиес€ в этом каталоге, запрещено, хот€ создание новых и модификаци€ существующих возможны.

Ј        Immutable (i). ‘айл с установленным атрибутом immutable не может подвергатьс€ никаким изменени€м вообще. ≈сли установить этот атрибут дл€ каталога, процессы смогут модифицировать файлы, наход€щиес€ в нем, но не смогут создавать или удал€ть файлы. ƒл€ обеспечени€ безопасности имеет большое значение.

Ј        No Dump (d). ”становка атрибута no dump дает указание процессу, осуществл€ющему создание дампа, игнорировать этот файл и не включать его в создание резервной копии.

Ј        Compress (c). Ётот атрибут позвол€ет производить прозрачное сжатие файлов перед записью их на диск. ѕри доступе к файлу он декомпрессируетс€ и конечному процессу представл€етс€ уже в нормальном виде.

Ј        Secure Deletion (s). ≈сли этот атрибут установлен, то при удалении файла все блоки, в которых он располагалс€, заполн€ютс€ нул€ми, то есть производитс€ полное удаление файла, а не только его дескриптора.

Ј        Undelete (u). ѕри удалении файла с этим атрибутом система сохран€ет все блоки файла на диске, что позвол€ет при желании восстановить удаленный файл.

ѕоследние версии €дер, начина€ с 2.4, игнорируют значени€ последних трех атрибутов: compress, secure deletion и undelete. –азработчики посчитали, что их дальнейшее использование не имеет смысла.

ƒл€ изменени€ и просмотра установленных атрибутов в стандартный системный пакет Linux вход€т две программы chattr и lsattr. ѕерва€ позвол€ет измен€ть атрибуты, добавл€ть или снимать их, втора€ позвол€ет получить список установленных атрибутов. ѕример работы программы lsattr показан ниже.

[root@app tmpdir]# lsattr myfile*

---i---------- myfile

----a--------- myfile1

¬ примере первый файл имеет установленный атрибут immutable, второй Ц атрибут atime. ѕодробно использование программ lsattr и chattr описываетс€ в соответствующих man-руководствах.

ѕри определенных услови€х процессы, выполн€емые от имени привилегированного пользовател€, могут игнорировать эти атрибуты. — другой стороны, атрибуты ext2 учитываютс€ некоторыми системными вызовами, такими как sys_open() дл€ открыти€ файла или sys_truncate() дл€ его отсечени€, причем вне зависимости от идентификатора пользовател€, вызываемого их процесса и прочих условий. Ќапример, присутствие флага immutable в дескрипторе файла приводит к тому, что системные вызовы, касающиес€ модификации файлов, просто перестают работать вне зависимости от других условий. Ќаличие данных атрибутов и специальных режимов работы €дра в Linux позвол€ет просто и эффективно укрощать абсолютные возможности, которыми обладает привилегированный пользователь. ÷ель комплексной настройки заключаетс€ в том, чтобы атрибуты накладывали ограничени€ дл€ всех процессов независимо от их прав доступа и уровн€ привилегий. ќни могут служить в качестве эффективной низкоуровневой защиты против атак на любой привилегированный процесс, в котором могут присутствовать какие-либо неизвестные у€звимости.

ќднако, сама политика безопасности, построенна€ на установке атрибутов типа immutable и append, €вл€етс€ только одной стороной монеты. ’от€ эти атрибуты и предотврат€т изменение защищенных ими файлов даже со стороны процессов, которые выполн€ютс€ от имени привилегированного пользовател€, в обычных обсто€тельствах пользователь root все равно может убрать эти флаги и продолжить работу с файлами уже без этих атрибутов. ƒругими словами, ничто не мешает программе, исполн€емой от имени пользовател€ root, перед началом работы выполнить проверку файла на наличие этих атрибутов и просто их отменить.

ƒополн€ющим компонентом, или второй стороной монеты, можно считать специальные возможности €дер 2.4, позвол€ющие конфигурировать систему в режиме полной защиты файлов с атрибутами immutable и append до момента перезагрузки в однопользовательский режим. ƒл€ установки этих и множества других параметров €дра используетс€ программа lcap (Linux Kernel Capabilities Bounding Set Editor).

ѕример использовани€ lcap

[root@app /]# lcap CAP_LINUX_IMMUTABLE

[root@app /]# lcap CAP_SYS_RAWIO

ѕервый вызов lcap с параметром CAP_LINUX_IMMUTABLE отмен€ет возможность у привилегированных процессов снимать флаги immutable и append. ¬торой вызов с параметром CAP_SYS_RAWIO запрещает низкоуровневый доступ к блочным устройствам, таким как диски, дл€ предотвращени€ пр€мого доступа к файлам.

ѕосле того, как с помощью lcap был изменен какой-либо параметр €дра, его повторное изменение возможно только после перезагрузки системы. Ёта особенность дает уверенность в том, что в системе не смогут незаметно производитьс€ изменени€ без получени€ физического доступа и перезагрузки в однопользовательский режим.

ѕодробную документацию по программе lcap можно найти в соответствующих man-руководствах.

ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 3.

2.2.3. ћеханизм квот

ѕожалуй, каждый администратор многопользовательской системы знаком с пон€тием Ђдисковой квотыї. ѕопробуем разобратьс€, что же это такое, и какое отношение это пон€тие имеет к безопасности системы.

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

»спользование дисковых квот позвол€ет ограничивать два аспекта дискового пространства: количество файловых дескрипторов, другими словами, количество файлов, которое может быть создано пользователем или группой пользователей, и часть от всего объема диска, которую может использовать пользователь или группа дл€ хранени€ своих файлов. »де€ состоит в том, чтобы определить дл€ каждого пользовател€ или группы определенную часть от общего объема диска, чтобы ни при каких услови€х пользователь не смог превысить тот объем используемой дисковой пам€ти, который ему выделен. “аким образом, устран€етс€ проблема переполнени€ диска или нехватки дискового пространства дл€ других пользователей и процессов.

 онцепци€ разделени€ дискового пространства оперирует трем€ пон€ти€ми: м€гкое ограничение (soft limit), жесткое ограничение (hard limit) и период отсрочки (grace period).

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

∆есткое ограничение работает, только если установлен период отсрочки grace period.

≈сли период отсрочки установлен в значение, отличное от нул€, то, когда зан€тый объем превышает объем м€гкого ограничени€, пользователю выдаетс€ сообщение, что его дисковое пространство на исходе. ≈сли пользователь игнорирует это предупреждение и его дискова€ квота продолжает превышать значение м€гкого ограничени€, то по истечении периода отсрочки дискова€ квота† считаетс€ исчерпанной. ѕри этом об€зательно должно быть установлено жесткое ограничение. ∆есткое ограничение €вл€етс€ абсолютным максимумом использовани€ пространства файловой системы пользователем.

”правление механизмом квот осуществл€ет €дро операционной системы. ¬ последних верси€х Linux в стандартное €дро, идущее в дистрибутиве, поддержка квот включена по умолчанию. ≈сли же производитс€ сборка нового €дра, поддержку квот необходимо включить €вно. ¬ключение поддержки механизма квот осуществл€етс€ установкой параметра Quota Support (CONFIG_QUOTA) в разделе FileSystems при конфигурировании €дра до процесса сборки. ≈сли такого параметра в €дре нет, это означает, что данна€ верси€ €дра не поддерживает механизм квот. ¬ этом случае дл€ поддержки квот на €дро необходимо наложить Ђзаплаткуї - специальное дополнение в стандартный код €дра. «аплатку можно загрузить с »нтернета.

ѕоддержка квот распростран€етс€ на логический раздел диска и указываетс€ при его монтировании. ƒл€ монтировани€ раздела используетс€ файл /etc/fstab, в котором и задаютс€ параметры, указывающие на использование квот. Ёто параметры usrquota и grpquota.

ƒл€ управлени€ и настройки дисковых квот используетс€ пакет quota. ¬ современных дистрибутивах Linux этот пакет входит в стандартную поставку, но можно загрузить последнюю версию с »нтернета.

Ќа момент написани€ работы последней стабильной версией пакета quota была верси€ 3.11. ƒалее перечислены основные программы пакета quota-3.11, необходимые дл€ настройки механизма квот:

quota Ц программа позвол€ет отображать текущее состо€ние механизма квот. ѕо умолчанию отображаетс€ только квота пользовател€, запустившего программу на выполнение. Ёту программу может запускать любой пользователь системы.

convertquota Ц программа производит перевод файлов quota.user и quota.group в файлы aquota.user и aquota.group. ‘айлы quota.user и quota.group €вл€ютс€ файлами пользовательских квот старого формата. Ќачина€ с версии €дра 2.4.0, в Linux используетс€ новый формат дисковых квот, который обладает, в отличие от старой версии, следующими преимуществами:

†- поддержка 32-битных идентификаторов пользователей (UID);

†- установка квоты дл€ привилегированного пользовател€;

†- установка дисковой квоты в байтах (в старой версии единицей дисковой квоты служил килобайт);

†- поддержка дисковой квоты дл€ журналируемой файловой системы ReiserFS.

ƒл€ настройки новой версии механизма квот используютс€ файлы aquota.user и aquota.group. ѕроще говор€, программа convertquota позвол€ет перевести файлы настройки квот из старого формата в новый, тем самым позвол€€ перейти к использованию новой версии с минимальной перенастройкой системы.

edquota Ц программа €вл€етс€ редактором пользовательских квот. ѕри вызове этой программы запускаетс€ текстовый редактор, установленный по умолчанию в системе. ¬ этом редакторе можно сделать необходимые изменени€ в файле дисковой квоты.

qout Ц программа выводит статистику в килобайтах по пользовательским квотам дл€ конкретной файловой системы. Ќа момент написани€ работы программа quot, вход€ща€ в пакет версии 3.11, поддерживала только файловую системы XFS.

quotacheck Ц программа дл€ проверки целостности дисковой квоты. ѕри интенсивной работе механизма квот в файловой системе могут возникать различные неточности, св€занные с использованием дискового пространства пользователей. ѕрограмма quotacheck проводит проверку файловой системы, определ€€ размер доступного и зан€того пространства, производит построение таблицы текущего использовани€ дискового пространства и сравнивает полученные данные с запис€ми в файле дисковой квоты. ≈сли имеютс€ какие-то несоответстви€, эти несоответстви€ устран€ютс€ путем исправлени€ неверных значений в файлах дисковой квоты.

quotaon Ц программа дл€ включени€ пользовательских квот на указанной файловой системе. ƒо использовани€ этой программы необходимо дл€ требуемой файловой системы установить параметр usrquota и/или grpquota в файле /etc/fstab.

quotaoff Ц программа дл€ выключени€ пользовательских квот на указанной файловой системе.

repquota Ц программа дл€ вывода статистики по использованию дискового пространства дл€ указанной файловой системы.

setquota Ц программа дл€ редактировани€ пользовательских квот в режиме командной строки.

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

Ѕолее подробна€ информаци€ о программах пакета quota может быть получена из соответствующих man-руководств.

ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 4.

2.3. Ѕиблиотека PAM

PAM (Pluggable Authentication Modules) Ц подгружаемые модули аутентификации. PAM €вл€етс€ набором динамически подключаемых модулей, с помощью которых привилегированный пользователь может выбирать, как приложение должно осуществл€ть процесс аутентификации. “ака€ технологи€ оказалась очень полезна, особенно при по€влении различных методов аутентификации пользовател€ в системе. Ёта технологи€ имеет два основных преимущества. ѕервым преимуществом €вл€етс€ модульность приложений, поддерживающих PAM. Ёто означает, что дл€ приложени€, поддерживающего PAM, по€вл€етс€ возможность изменить механизм аутентификации пользователей без перекомпил€ции программы, как говор€т Ђна ходуї, достаточно изменить конфигурационный файл PAM. ¬торое преимущество использовани€ PAM заключаетс€ в том, что администратор системы получает полную свободу в выборе схемы аутентификации дл€ каждого отдельного приложени€, причем эта схема может быть достаточно сложной и состо€щей из нескольких этапов. ≈динственным неотъемлемым требованием дл€ использовани€ PAM €вл€етс€ наличие изначально встроенных в приложение функций работы с библиотекой PAM. —ейчас практически все попул€рные программные продукты имеют встроенную поддержку PAM.


–ис. 2.3.1 —труктурна€ схема взаимодействи€ приложени€ и библиотеки PAM


Ќа рисунке 2.3.1 нагл€дно показано, как происходит взаимодействие некого приложени€ ј с библиотекой PAM. ѕриложение взаимодействует с библиотекой PAM, причем приложению неизвестно, какие алгоритмы аутентификации используютс€ при проверке подлинности пользовател€. ¬се операции по аутентификации, то есть шифрование парол€ и его проверку, производит библиотека PAM. Ѕиблиотека Linux-PAM (в середине рисунка) производит чтение параметров аутентификации приложени€ ј из конфигурационного файла и загружает необходимые модули в пам€ть. «атем загруженные модули попадают в одну из четырех управл€ющих групп (расположенных в нижней части рисунка посередине) и помещаютс€ туда в пор€дке по€влени€ их в конфигурационном файле (сначала модуль а в группу auth, за ним b и так далее). Ёти модули при вызове библиотекой Linux-PAM выполн€ют различные задачи аутентификации дл€ приложени€ ј. ƒл€ передачи текстовой информации, запрашиваемой у пользовател€, может быть использована встроенна€ функци€ обмена.

¬се модули PAM по умолчанию располагаютс€ в каталоге /lib/security, а конфигурационные файлы PAM Ц в каталоге /etc/pam.d. »м€ каждого конфигурационного файла, расположенного в каталоге /etc/pam.d, совпадает с именем приложени€, использующего его. Ќапример, дл€ программы login полный путь к конфигурационному файлу PAM будет иметь вид /etc/pam.d/login. —одержимое этого файла может иметь следующий вид:

#%PAM-1.0

auth† required† /lib/security/pam_securetty.so

auth† required† /lib/security/pam_stack.so service=system-auth

auth† required† /lib/security/pam_nologin.so

account† required /lib/security/pam_stack.so service=system-auth

password required /lib/security/pam_stack.so service=system-auth

session† required /lib/security/pam_stack.so†† service=system-auth

session† required /lib/security/pam_limits.so

session† optional /lib/security/pam_console.so

 ажда€ строчка файла означает, что дл€ удачной аутентификации пользователь должен пройти через указанный модуль. ‘ормат строки любого конфигурационного файла PAM имеет вид:

тип_моду눆†† флаг_контрол€ путь_к_модулю параметры_модул€

¬се модули библиотеки PAM по функциональному признаку дел€тс€ на четыре типа:

auth Ц этот тип модулей позвол€ет осуществл€ть два аспекта аутентификации. ¬о-первых, он выполн€ет саму аутентификацию, то есть устанавливает факт того, что пользователь действительно тот, за кого себ€ выдает. Ёто может быть запрос парол€ или другие методы идентификации. ¬о-вторых, модуль может разрешить членство в группе (независимо от файла групп пользователей group) или определить другие привилегии, основыва€сь на информации о пользователе.

account Ц этот тип модулей выполн€ет функции, не св€занные с аутентификацией напр€мую. ќбычно он используетс€ дл€ разрешени€ или запрещени€ доступа в зависимости от определенных условий, таких как† врем€ дн€, количество пользователей, одновременно запросивших ресурс, различные параметры системы и так далее.

sessions Ц в основном этот тип используетс€ дл€ определени€ дополнительных действий, которые необходимо выполнить до или после предоставлени€ сервиса пользователю. —юда можно отнести протоколирование действий по открытию определенных файлов, монтирование каталогов, удаление временных файлов и так далее.

password Ц этот последний тип необходим дл€ обновлени€ опознавательного признака (например, того же самого парол€), который идентифицирует пользовател€.

Ќаличие четырех управл€ющих типов говорит о том, что сама технологи€ аутентификации с использованием библиотеки PAM способна предоставить не только Ђголыйї способ установлени€ подлинности пользовател€, а еще и широкий спектр дополнительных возможностей по защите системы и предоставлению доступа к сервисам.

‘лаг контрол€ определ€ет, как система будет себ€ вести при удачном или неудачном прохождении соответствующего модул€. ѕоскольку модули запускаютс€ один за другим, то специальной расстановкой флагов можно определить значимость каждого из них. ¬ качестве флагов могут быть использованы четыре ключевых слова:

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

requisite Ц эффект действи€ этого флага тот же, что и флага required, с одним различием: при получении отказа управление сразу возвращаетс€ приложению, прохождение остальных модулей не производитс€.

sufficient Ц весь процесс аутентификации считаетс€ успешным, если работа модул€ с этим флагом была успешной и проверка на предшествующих модул€х с флагом required не провалилась. ≈сли работа модул€ с этим флагом была неудачной, это не считаетс€ фатальной ошибкой.

optional Ц успешность модул€ с этим флагом €вл€етс€ необ€зательной и его использование не критично дл€ аутентификации.

ѕуть к модулю содержит строку полного пути к модулю в файловой системе. ¬се модули хран€тс€ в каталоге /lib/security, поэтому, например, путь к модулю pam_limits будет выгл€деть как /lib/security/pam_limits.so.

ѕараметры модул€ €вл€ютс€ индивидуальным дл€ каждого модул€ и описываютс€ в документации модул€.

ѕомимо основных конфигурационных файлов некоторые модули используют дополнительные файлы конфигурации, наход€щиес€ в каталоге /etc/security.  аждый файл в этом каталоге предназначен дл€ конкретной группы настроек:

time.conf Ц в этом файле можно ограничить врем€ доступа пользователей с различных терминалов к различным сервисам. Ёти настройки использует модуль pam_time, поэтому дл€ вступлени€ в силу временных ограничений необходимо добавить модуль pam_time в конфигурационный файл приложени€, на которое должны распростран€тьс€ эти ограничени€.

pam_env.conf Ц с помощью этого файла можно ограничить возможность изменени€ некоторых переменных среды пользовател€ми. Ётот файл используетс€ модулем pam_env.

limits.conf Ц этот файл дает возможность ограничить размер core-файла, максимально допустимый размер файла, максимальное количество одновременно открытых файлов, запущенных процессов, количество одновременно открытых пользовательских сессий и так далее. »спользуетс€ модулем pam_limits.

access.conf Ц с помощью этого файла можно определить различные параметры входа пользовател€ в систему, например, с каких компьютеров пользователь имеет доступ в систему. Ётот конфигурационный файл используетс€ модулем pam_access.

group.conf Ц в этом файле можно указать, к какой группе будет принадлежать процесс, запущенный пользователем в определенное врем€ с определенного терминала. ‘айл читаетс€ модул€ми pam_time и pam_group.

console.perms Ц в этом файле имеетс€ возможность указать права, назначаемые привилегированным пользовател€м при входе в систему и возвращаемые консоли при его выходе. ‘айл используетс€ модулем pam_console.

 ак уже неоднократно упоминалось, все модули располагаютс€ в каталоге /lib/security.  ратко рассмотрим, какие модули вход€т в стандартный пакет PAM, и какие функции выполн€ет каждый из них:

Ќазвание модул€

“ип модул€

ќписание

pam_cracklib

password

ѕозвол€ет провер€ть пароль на стойкость, не €вл€етс€ ли он, например, словом из словар€ и т. д. ¬ основном используетс€ программами, задающими пароли.   полезным параметрам относ€тс€:

retry=N Ц задает количество попыток на исправление ошибки;

diffok=N Ц определ€ет минимальное количество символов, которое должно быть изменено при смене парол€;

minlen=N Ц задает минимальный размер парол€ в символах;

dcredit=N ucredit=N lcredit=N ocredit=N Ц задает минимальное количество цифр, строчных, прописных букв и других символов, которые должны присутствовать в пароле.

pam_deny

любой

ќсновное назначение этого модул€ Ц запрет доступа при любых услови€х.

pam_env

auth

 онтролирует сохранность переменных среды. — помощью параметра conffile=S можно указать файл конфигурации, отличный от стандартного.

pam_ftp

auth

ѕредназначен дл€ организации анонимного доступа. ѕолучив в качестве имени пользовател€ последовательность СanonymousТ, модуль в качестве парол€ требует строку, похожую на почтовый адрес.   полезным параметрам относ€тс€:

users=XXX, XXX, Е - разрешает анонимный вход дл€ пользователей из этого списка;

ignore Ц позвол€ет не обращать внимани€, похож ли пароль на почтовый адрес.

pam_group

auth

ќпредел€ет группу-владельца процесса, запущенного аутентифицированным пользователем.

pam_lastlog

auth

—ообщает о месте и времени входа в систему. ƒл€ протоколировани€ используетс€ файл wtmp, наход€щийс€ в каталоге /var/log .   полезным параметрам можно отнести:

nodate noterm nohost silent Ц позвол€ют не выводить в сообщении дату, терминал, адрес машины или вообще ничего не записывать в файл;

never Ц предоставл€ет возможность выдачи приветстви€ пользовател€, впервые вошедшего в систему.

pam_limits

session

ѕозвол€ет задавать ограничени€ дл€ пользовател€ на размер файлов, число одновременно открытых дескрипторов и т. д. »меет параметр conf=S дл€ указани€ альтернативного конфигурационного файла.

pam_listfile

auth

ѕредназначен дл€ организации доступа на основе конфигурационных файлов наподобие /etc/ftpaccess. ¬озможные паарметры:

onerr=succeed | fail Ц задает возвращаемое значение в случае неудачного поиска;

sence=allow | deny Ц задает возвращаемое значение в случае удачного поиска;

file=filename Ц позвол€ет указать им€ файла со списком;

item=user | tty | rhost | ruser | group | shell Ц определ€ет тип элементов в списке. Ќапример, значение item=user означает, что в файле содержитс€ список имен пользователей, имеющих возможность входа в систему.

pam_mail

auth

ѕозвол€ет уведомл€ть пользовател€ о вновь пришедшей почте. ѕолезные параметры:

dir=S Ц указывает путь к каталогу почтовых очередей;

noenv Ц отмен€ет установку переменной среды MAIL;

close Ц разрешает уведомл€ть о новых письмах в почтовых €щиках пользователей с аннулированными бюджетами;

nopen Ц запрещает вывод какой-либо почтовой информации дл€ вновь заведенного бюджета.

pam_nologin

auth

≈сли файл /etc/nologin существует, в систему может войти только привилегированный пользователь root, остальным же при попытке входа выдаетс€ содержимое этого файла.

pam_permit

любой

Ётот модуль дает доступ при любых услови€х. Ќеобдуманное использование этого модул€ весьма опасно!

pam_pwdb

любой

«амещает модули серии pam_unix. Ётот модуль использует интерфейс библиотеки libpwdb, предназначенный дл€ работы с пользовательскими базами данных, что повышает независимость системы аутентификации от способа хранени€ пользовательских данных. ѕолезные параметры:

nullok Ц разрешает использование пустых паролей;

md5 shadow bigcrypt Ц указывает используемые алгоритмы шифровани€ паролей.

pam_radius

session

ѕозвол€ет осуществл€ть аутентификацию через сервер RADIUS.

pam_rhosts_auth

auth

ћеханизм работы этого модул€ основываетс€ на анализе содержимого файлов hosts.equiv и .rhosts, используемых дл€ аутентификации такими службами, как rlogin и rsh. ѕолезные параметры:

no_hosts_equiv Ц позвол€ет игнорировать содержимое файла hosts.equiv;

no_rhosts - позвол€ет игнорировать содержимое файла .rhosts;

suppress Ц позвол€ет избежать запись малозначительных сообщений в системный журнал, в частности, при использовании флага sufficient.

pam_root_ok

auth

ѕозвол€ет организовать доступ привилегированного пользовател€ к сервису, мину€ процедуру ввода парол€. ѕользователь допускаетс€ к сервису, только если его системный идентификатор равен нулю (то есть привилегированный пользователь root).

pam_securetty

auth

ѕозвол€ет учитывать файл /etc/securetty. ¬ файле /etc/securetty указаны терминалы, с которых привилегированный пользователь имеет доступ в систему.

pam_time

account

Ќакладывает временные ограничени€ на доступ в систему.

pam_warn

auth, password

ѕроизводит записи в системных журналах при определенных действи€х.

pam_wheel

auth

Ётот модуль позвол€ет получить права привилегированного пользовател€ только пользовател€м определенной группы. ѕолезные параметры:

group=XXX Ц задает группу, пользователи которой имеют возможность получить права пользовател€ root;

deny Ц этот параметр инвертирует действие модул€, другими словами, он запрещает изменение прав на права пользовател€ root дл€ указанной группы;

trust Ц избавл€ет пользователей указанной группы от необходимости ввода парол€ при смене идентификатора на нулевой.

¬озможно также создание собственных PAM-модулей на основе готовых шаблонов, что позвол€ет быстро получить необходимый метод аутентификации без особых усилий. Ѕолее подробную информацию о модул€х и библиотеке PAM можно найти в документации, поставл€емой вместе с пакетом. ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 5.

2.4. Ѕрандмауэр

Ћокальна€ безопасность Ц необходима€ составл€юща€ общей безопасности системы. ќна позвол€ет устранить угрозу локального взлома. ќднако, при работе компьютера в сети возникает еще один тип угрозы Ц сетевой. ƒл€ устранени€ сетевой угрозы, как и дл€ локальной, существуют свои средства и методы. ќдним таким средством, наиболее важным и практически необходимым при построении сетевой системы безопасности €вл€етс€ брандмауэр.

Ѕрандмауэр, он же сетевой экран, он же firewall (с англ. Ђогненна€ стенаї) - это система или группа систем, реализующих правила управлени€ доступом между двум€ сет€ми. ‘актические средства, с помощью которых это достигаетс€, весьма различны, но в принципе брандмауэр можно рассматривать как пару механизмов: один дл€ блокировани€ передачи информации, а другой Ц дл€ пропуска информации. Ќекоторые брандмауэры удел€ют больше внимани€ блокировке передачи информации, другие Ц ее пропуску. Ќекоторые брандмауэры пропускают только сообщени€ электронной почты, тем самым защища€ сеть от любых атак, кроме атак на почтовую службу. ƒругие брандмауэры обеспечивают менее строгую защиту и блокируют лишь службы, определенно угрожающие безопасности. ќбычно брандмауэры конфигурируютс€ дл€ защиты от неавторизованной интерактивной регистрации из внешнего мира. »менно это, больше, чем все остальное, помогает предотвратить проникновение взломщиков в компьютеры внутренней сети. Ѕолее развитые брандмауэры блокируют передачу информации извне в защищаемую сеть, разреша€ при этом внутренним пользовател€м свободно взаимодействовать с внешним миром.

—хема сетевого запроса на сервер с установленным брандмауэром показана на рисунке 2.4.1.


–ис. 2.4.1. ѕошагова€ схема выполнени€ сетевого запроса с установлением соединени€ к ќ— Linux



ядро ќ— Linux версии 2.4 и более поздних имеет встроенный межсетевой экран netfilter, который располагает следующими возможност€ми:

Ј        † пакет завершени€ сеанса), IP адресе компьютера-отправител€ и компьютера-получател€, MAC адресе отправител€ и получател€ и так далее.

Ј        NAT (Network Address Translation) и подмену портов NPT (Network Port Translation). ƒействие NAT заключаетс€ в подмене IP адреса компьютера-отправител€ или компьютера-получател€ на указанный. ¬ большинстве случаев эта возможность используетс€ дл€ организации обмена информацией между двум€ сет€ми, имеющими разные диапазоны IP адресов. ƒействие NPT аналогично NAT с тем различием, что в последнем производитс€ подмена порта приложени€ вместо IP адреса.

Ј        TOS (Type Of Service), TTL (Time To Live) и так далее, что предоставл€ет расширенные возможности дл€ управлени€ процессом маршрутизации.

¬с€ логическа€ структура экрана netfilter строитс€ на пон€ти€х цепочек, таблиц и правил доступа.

÷епочка Ц определенный набор правил управлени€ доступом. ѕопада€ в цепочку, пакет проходит все ее правила, начина€ с самого первого.  аждое правило имеет критерий и действие. ≈сли пакет попадает под критерий правила, то с пакетом производитс€ действие, определенное дл€ этого правила.

“аблица Ц это набор цепочек. “аблицы дел€тс€ по функциональному назначению и определ€ют действи€, которые разрешено выполн€ть в правилах цепочек этих таблиц.

Netfilter содержит только три таблицы:

mangle Ц эта таблица используетс€ дл€ внесени€ изменений в заголовки пакетов. ѕримером может служить изменение пол€ TTL, TOS или MARK. “аблица имеет п€ть цепочек: PREROUTING, POSTROUTING, INPUT, OUTPUT и FORWARD. ÷епочка PREROUTING используетс€ дл€ внесени€ изменений на входе в брандмауэр, перед прин€тием решени€ о маршрутизации. ÷епочка POSTROUTING используетс€ дл€ внесени€ изменений на выходе из брандмауэра уже после прин€ти€ решени€ о маршрутизации. ÷епочка INPUT используетс€ дл€ внесени€ изменений в пакеты перед тем, как они будут переданы локальному приложению внутри брандмауэра. ÷епочка OUTPUT используетс€ дл€ внесени€ изменений в пакеты, поступающие от приложений внутри брандмауэра. », наконец, цепочка FORWARD используетс€ дл€ внесени€ изменений в транзитные пакеты после первого прин€ти€ решени€ о маршрутизации, но перед последним прин€тием решени€ о маршрутизации. »спользование таблицы дл€ других целей, нежели изменени€ заголовка пакета, €вл€етс€ недопустимым.

nat Ц эта таблица используетс€ дл€ преобразовани€ сетевых адресов, именуемого также NAT, и подмены портов NPT. „ерез эту таблицу проходит только первый пакет из всего потока данных соединени€. ѕреобразование адресов автоматически примен€етс€ ко всем последующим пакетам. Ёта таблица содержит три заранее определенные цепочки. ÷епочка PREROUTING используетс€ дл€ внесени€ изменений в пакеты на входе в брандмауэр. ÷епочка OUTPUT используетс€ дл€ преобразовани€ адресов в пакетах, созданных приложени€ми внутри брандмауэра, перед прин€тием решени€ о маршрутизации. » последн€€ треть€ цепочка в этой таблице Ц POSTROUTING, котора€ используетс€ дл€ преобразовани€ пакетов перед отправкой их в сеть. Ёта таблица должна использоватьс€ только дл€ преобразовани€ адресов и портов в пакете.

filter Ц эта таблица используетс€ главным образом дл€ фильтрации пакетов. “аблица имеет три встроенных цепочки. ѕерва€ Ц FORWARD, используема€ дл€ фильтрации пакетов, не адресованных серверу, на котором установлен брандмауэр, то есть идущих транзитом через него. ÷епочку INPUT проход€т пакеты, которые предназначены локальным приложени€м сервера. » цепочка OUTPUT используетс€ дл€ фильтрации исход€щих пакетов, сгенерированных приложени€ми на сервере с брандмауэром.

—труктурна€ схема брандмауэра netfilter показана на рисунке 2.4.2.


–ис. 2.4.2. —труктурна€ организаци€ брандмауэра

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

—леду€ рисунку 2.4.2, рассмотрим, какой путь совершает пакет, прежде чем достичь места назначени€. ѕопада€ на сервер, пакет сначала проходит цепочки PREROUTING таблиц mangle и nat. «атем, в зависимости от того, кому адресован пакет, его направление может мен€тьс€. ≈сли пакет адресован локальному процессу сервера, после маршрутизации он попадает в цепочки INPUT таблиц mangle и filter. ≈сли ему удаетс€ успешно пройти эти цепочки, пакет достигает локального процесса. ќтвет локального процесса перед отправкой проходит сначала цепочку OUTPUT всех трех таблиц, и, если пакет не был отфильтрован, он попадает в заключительную цепочку POSTROUTING таблиц mangle и nat. ѕосле этого пакет покидает сервер.

≈сли же пакет адресован другому компьютеру, то есть €вл€етс€ транзитным, то после маршрутизации он попадает в цепочку FORWARD таблиц mangle и filter, в которой осуществл€ютс€ все необходимые действи€ по управлению доступом дл€ всех транзитных пакетов. ƒалее, как и пакет локального процесса, перед отправкой в сеть транзитный пакет проходит через цепочки POSTROUTING таблиц mangle и nat.

Ётих трех таблиц с заранее закрепленным функциональным назначением вполне достаточно дл€ реализации всех перечисленных ранее возможностей.  оличество таблиц €вл€етс€ определенным и не может быть изменено ни при каких услови€х. ѕри настройке брандмауэра в таблицы могут быть добавлены другие цепочки в дополнение к уже существующим, что позвол€ет создавать более гибкую систему управлени€ доступом, нежели просто добавление правил в заранее определенные цепочки. ¬ отличие от цепочек, созданных администратором, системные цепочки INPUT, OUTPUT, FORWARD, PREROUTING и POSTROUTING не могут быть удалены ни при каких услови€х.

ƒл€ настройки и управлени€ брандмауэром в составе ќ— Linux поставл€етс€ программный пакет iptables. Ётот пакет помимо файлов документации и модулей, подгружаемых в €дро и используемых дл€ осуществлени€ фильтрации по различным критери€м, включает следующие исполн€емые файлы:

iptables Ц основна€ программа пакета, с помощью которой производитс€ манипулирование правилами в цепочках. Ёта программа позвол€ет совершать с правилами и пользовательскими цепочками все доступные действи€.

iptables-save Ц программа, котора€ позвол€ет сохран€ть все текущие правила в одном файле дл€ последующего их восстановлени€. ѕо умолчанию этим файлом €вл€етс€ /etc/sysconfig/iptables. ¬ файле /etc/sysconfig/iptables хранитс€ вс€ конфигураци€ брандмауэра и из этого файла она считываетс€ при загрузке системы.

iptables-restore Ц эта программа позвол€ет считывать правила и цепочки, сохраненные ранее программой iptables-save. ѕо умолчанию эта программа пытаетс€ загрузить файл /etc/sysconfig/iptables, если он существует.

Ѕолее подробна€ информаци€ о программном пакете iptables содержитс€ в файлах документации, а также в соответствующих man-руководствах.

ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 6.

2.5. ”даленное управление

ѕотребность в удаленном управлении возникла с момента по€влени€ сети и систем, которые необходимо было администрировать на рассто€нии.

„тобы лучше представить, в чем заключаетс€ удобство от использовани€ программ удаленного управлени€, возьмем простой пример. ќрганизаци€ имеет свой собственный сервер, на котором располагаетс€ почтова€ система и почтовые €щики всех сотрудников организации. ќрганизаци€ арендует помещение на двадцатом этаже высотного здани€, в котором помимо нее функционирует еще дес€ток-другой таких же организаций. ¬ этом здании имеетс€ специализированное подвальное помещение с хорошо организованной системой охлаждени€, в котором располагаютс€ коммуникационные средства, системы св€зи и сервера. —ервер рассматриваемой организации также располагаетс€ в этом помещении.† «а работоспособностью сервера следит специальное лицо, выполн€ющее функции администратора сети, которое помимо этого выполн€ет необходимые изменени€ в конфигурации предоставл€емых сервисов. ј теперь представим, какие действи€ необходимо совершить администратору, если, например, какому-то пользователю почтовой системы нужно помен€ть пароль. ѕри отсутствии удаленного управлени€ администратор вынужден каждый раз спускатьс€ с двадцатого этажа в подвальное помещение, открывать локальную консоль на сервере и, выполнив необходимые действи€, возвращатьс€ обратно. ¬ принципе, ситуаци€ не така€ уж безвыходна€. ј если организаци€ арендует сервер в другой стране или на другом континенте?

¬ таких случа€х идеальным решением €вл€етс€ организаци€ полнофункционального управлени€ сервером посредством сетевого доступа. —уществует несколько очень распространенных протоколов удаленного администрировани€, позвол€ющих управл€ть системой посредством сети. —амым старым и самым распространенным, но в то же врем€ самым небезопасным, €вл€етс€ протокол Telnet. Ёто самый первый протокол удаленного взаимодействи€, по€вившийс€ на заре развити€ вычислительных сетей, когда проблеме безопасности при передаче информации не удел€лось практически никакого внимани€. ѕри передаче информации по протоколу Telnet все данные передаютс€ в открытом незашифрованном виде, в том числе имена и пароли пользователей. Ћюбой, даже малоопытный в компьютерных делах, пользователь, име€ программу под общим названием network sniffer (с англ. Ђсетевой анализатор пакетовї), может получить им€ и пароль при передаче их по сети.

ѕомимо протокола Telnet в UNIX-системах существует целое семейство так называемых r-программ.   ним относ€тс€ rsh, rlogin (начальна€ буква r трактуетс€ как remote) и другие, позвол€ющие производить различные операции, св€занные с удаленным администрированием. ќднако уровень безопасности при использовании r-программ, как и уровень безопасности при использовании Telnet, также оставл€ет желать лучшего.

—уществует еще один протокол дл€ управлени€ некоторыми параметрами системы и получени€ информации о ней. Ёто протокол SNMP (Simple Network Management Protocol). ѕротокол SNMP имеет ограниченный спектр возможностей и не лишен тех же недостатков в плане безопасности, что и протокол Telnet.

Ёти протоколы могут служить хорошим решением дл€ таких локальных сетей, где требовани€, предъ€вл€емые к безопасности, €вл€ютс€ не очень высокими. ќднако, при передаче данных по такой сети, как »нтернет, где пакет, прежде чем достичь адресата, проходит несколько небезопасных узлов, их использование может служить потенциальной угрозой безопасности и основной причиной успешного проникновени€ в систему.

Ќа сегодн€шний день одним из самых распространенных и безопасных протоколов удаленного администрировани€, использующих шифрование при передаче данных, €вл€етс€ протокол SSH (Secure SHell). –ассмотрим поподробнее, в чем же состоит преимущество† протокола SSH перед другими протоколами удаленного управлени€.

ѕротокол SSH по€вилс€ в 1995 году и с самого начала в основу была положена иде€ создани€ средства организации безопасного доступа к компьютерам при работе по небезопасным каналам св€зи, таким как сеть »нтернет. ¬ протоколе SSH дл€ организации безопасного доступа примен€етс€ процедура аутентификации с использованием асимметричного шифровани€ с открытым ключом. Ёто обеспечивает более высокую безопасность, чем при использовании симметричного шифровани€, хот€ и порождает дополнительную вычислительную нагрузку. ѕри последующем обмене данными примен€етс€ уже симметричное шифрование, более экономичное в смысле затрат процессорного времени. “акже SSH поддерживает возможность работы с уже упом€нутым протоколом Telnet, безопасную работу по протоколу графического уровн€ X11, благодар€ возможности перенаправлени€ соответствующих данных по надежным SSH-каналам, предоставл€ет безопасную замену многим r-программам UNIX, с которыми традиционно св€заны проблемы обеспечени€ безопасности.

ѕроект стандарта SSH описывает протоколы SSH и состоит из нескольких документов, которые описывают общую архитектуру протокола, а также протоколы трех уровней: протокол транспортного уровн€, протокол аутентификации и протокол соединени€. »х задача - обеспечивать безопасную сетевую службу наподобие Telnet поверх небезопасной сети.

ѕротокол транспортного уровн€ обеспечивает аутентификацию сервера, конфиденциальность и целостность. ѕротокол аутентификации обеспечивает аутентификацию клиента дл€ сервера. Ќаконец, протокол соединени€ SSH мультиплексирует безопасный шифруемый канал, представл€€ его в виде нескольких логических каналов, которые используютс€ дл€ различных целей или различных видов служб. ѕомимо этого протокол транспортного уровн€ предусматривает возможность сжати€ данных, что €вл€етс€ бесспорным преимуществом по сравнению с протоколом Telnet при передаче данных по низкоскоростному каналу. ѕротокол транспортного уровн€ работает поверх соединени€ TCP/IP, в свою очередь† протокол аутентификации работает поверх протокола транспортного уровн€, а протокол соединени€ Ц поверх протокола аутентификации. ¬ итоге получаетс€ жестка€ взаимосв€зь протоколов, обеспечива€ в сумме наиболее безопасную и эффективную передачу данных.

— целью повышени€ безопасности в протоколе SSH осуществл€етс€ не только аутентификаци€ клиента дл€ сервера, к которому обращаетс€ клиент, но и аутентификаци€ сервера клиентом - другими словами, происходит аутентификаци€ обеих сторон.  лиент шлет запрос на обслуживание в первый раз, когда устанавливаетс€ безопасное соединение транспортного уровн€ SSH. ¬торой запрос направл€етс€ уже после завершени€ аутентификации клиента.

¬ дистрибутивах Linux и в большинстве UNIX-подобных ќ— возможность работы по протоколу SSH предоставл€ет бесплатный и свободно-распростран€емый программный продукт OpenSSH, в который включены как серверна€ программа, так и клиентское приложение. Ќастройка программ пакета OpenSSH осуществл€етс€ отчасти при установке пакета, некотора€† настройка производитс€ посредством изменени€ в конфигурационных файлах.

ѕри установке пакета из исходных файлов при запуске программы конфигурировани€ configure можно задать целый р€д ключей. ¬ частности, можно указать, какие методы шифровани€ сеанса будут использованы при работе SSH: IDEA, DES, тройной DES, ARCFOUR и BLOWFISH. ѕо умолчанию основным €вл€етс€ алгоритм IDEA, использующий 128-разр€дные ключи. ≈сли он исключен соответствующим ключом, основным алгоритмом становитс€ 3DES - трехкратное последовательное DES-шифрование c 56-разр€дным ключом. ћожно выделить также метод BLOWFISH, который при той же длине ключа (от 32 до 448 разр€дов) работает быстрее IDEA и DES. ћожно задать также замену стандартных команд rlogin и rsh соответствующими одноименными модул€ми из дистрибутива SSH. “огда дл€ соединений будет использоватьс€ протокол SSH, конечно, если удаленный компьютер его поддерживает. ¬ противном случае после предупреждени€ будет осуществлен переход к обычным r-средствам. ¬се возможные ключи конфигурационной программы можно узнать из документации, идущей с дистрибутивом, или запуском программы с ключом Цhelp.

ѕо умолчанию, если путь не был изменен ключом† конфигурационной программы, файлы конфигурации OpenSSH при установке помещаютс€ в каталог /usr/local/etc/ssh. ѕосле установки этот каталог содержит несколько конфигурационных файлов, основными из которых €вл€ютс€ файлы конфигурации sshd_config и ssh_config серверной и клиентской частей соответственно. Ёти файлы имеют формат

<параметр> <значение>

и могут быть использованы дл€ установки таких параметров работы, как, например, необходимость использовани€ аутентификации сервера на базе имени компьютера, аутентификации пользовател€ с помощью парол€, протокол какой версии SSH (на сегодн€ существует две основные версии: SSH версии 1.0 и SSH версии 2.0) необходимо использовать при обмене информацией. ƒл€ серверной программы в конфигурационном файле sshd_config существует возможность указать, на каком порту демон sshd будет принимать соединени€ (по умолчанию дл€ этой цели используетс€ порт с номером 22), а также на какой IP адрес должны приходить запросы. ¬се параметры конфигурационных файлов очень подробно описаны в документации, поставл€емой с пакетом OpenSSH.

ѕрактическое применение рассмотренной информации приводитс€ в приложении в примере 7.

¬ывод.

¬ этой главе работы были рассмотрены основные средства безопасности, которыми располагает ќ— Linux. ¬ первой части главы приводитс€ описание средств обеспечени€ локальной безопасности, то есть без учета подключени€ компьютера с ќ— Linux† к сети. ¬тора€ часть ориентирована на проблемы обеспечени€ сетевой безопасности. ѕерва€ часть освещает основные возможности файловой системы ext2, приводитс€ описание программ изменени€ прав доступа и владельца файла chmod и chown, подробно рассматриваютс€ атрибуты файлов, программы работы с атрибутами chattr и lsattr. ¬ дополнение ко всему приводитс€ описание пакета lcap дл€ настройки некоторых параметров €дра ќ—. ƒалее рассматриваетс€ концепци€ пользовательских дисковых квот, пакет дл€ работы с пользовательскими квотами quota. ¬ последнем разделе, посв€щенном локальной безопасности, приводитс€ современна€ технологи€ аутентификации с использованием библиотеки PAM, рассматриваютс€ ее возможности, приводитс€ перечень модулей, вход€щих в эту библиотеку, и их описание. ѕодробно рассматриваетс€ формат конфигурационных файлов PAM. ¬о второй части главы рассматриваетс€ принцип защиты системы от сетевого вмешательства посредством межсетевого экрана netfilter, описываетс€ алгоритм функционировани€ межсетевого экрана, рассматриваетс€ концепци€ построени€ правил фильтрации. ƒалее приводитс€ общий обзор протоколов удаленного администрировани€ и большое внимание удел€етс€ протоколу ассиметричного шифровани€ SSH, рассматриваютс€ принципы работы этого протокола, его назначение и основные характеристики.


3. —редства усилени€ безопасности в Linux

ѕомимо стандартных средств организации безопасной работы Linux существует огромное количество дополнительного системного программного обеспечени€, позвол€ющего расширить возможности стандартных средств и добавить новые, более гибкие и приспособленные к специфическим услови€м. ¬ большинстве случаев стандартные средства Linux позвол€ют добитьс€ необходимого уровн€ защиты. Ќо бывают ситуации, когда к системе предъ€вл€ютс€ повышенные требовани€, и стандартных средств обеспечени€ безопасности может оказатьс€ недостаточно. ¬ таких случа€х простым решением может служить использование дополнительных программных пакетов.

3.1. Linux ACLs

»ногда в процессе работы администратор сервера может столкнутьс€ с проблемой правильной установки прав доступа. Ќапример, возникла ситуаци€, когда на один файл необходимо установить право на чтение трем пользовател€м разных групп и право на чтение и выполнение дл€ пользовател€ четвертой группы. –ешение этой проблемы стандартными средствами €вл€етс€ достаточно сложной задачей. ѕрава доступа в Linux задаютс€ дев€тью битами, что предполагает установку прав только дл€ пользовател€-владельца, группы-владельца и всех остальных.  акие-либо дополнительные возможности по установке прав доступа к файлу в стандартной конфигурации ќ— Linux отсутствуют.† ¬ результате дл€ решени€ задачи может потребоватьс€ внесение пользователей в общие группы или создание дополнительных групп, что €вл€етс€ не всегда приемлемым и помимо всего прочего создает дополнительные проблемы управлени€.

ќптимальным решением в ситуации такого рода может послужить программна€ разработка Linux ACLs.

Linux ACLs (Access Control Lists) Ц это набор заплаток дл€ €дра операционной системы и приложений дл€ работы с файловой системой и несколько дополнительных программ, дающих возможность устанавливать права доступа к файлам не только дл€ пользовател€-владельца и группы-владельца файла, но и дл€ любого пользовател€ и группы.

Linux ACLs использует расширенные атрибуты дл€ хранени€ данных о правах доступа к файлам пользователей и групп. —писок расширенного контрол€ доступа существует дл€ каждого файла в системе и состоит из шести компонентов. ѕервые три €вл€ютс€ копией стандартных прав доступа к файлу. ќни содержатьс€ в единственном экземпл€ре в ACL и есть у каждого файла в системе:

Ј        ACL_USER_OBJ Ц режим доступа к файлу пользовател€-владельца;

Ј        ACL_GROUP_OBJ Ц режим доступа к файлу группы-владельца;

Ј        ACL_OTHER Ц режим доступа к файлу остальных пользователей.

—ледующие два компонента устанавливаютс€ дл€ каждого файла в отдельности и могут присутствовать в ACL в нескольких экземпл€рах:

Ј        ACL_USER Ц содержит UID и режим доступа к файлу пользовател€, которому установлены права, отличные от основных. Ќа каждого пользовател€ со своими правами на данный файл хранитс€ отдельна€ запись. Ќе может существовать более одной записи на одного и того же пользовател€;

Ј        ACL_GROUP Ц содержит те же самые данные, что и ACL_USER, но дл€ группы пользователей;

Ј        ACL_MASK Ц маска действующих прав доступа дл€ расширенного режима.

ѕри установке дополнительных прав доступа присваиваетс€ значение и элементу ACL_MASK.

 аталоги также могут иметь список контрол€ доступа по умолчанию. ¬ отличие от основного ACL, он действует на создаваемые внутри данного каталога файлы и каталоги. ѕри создании файла внутри такого каталога файл получает ACL, равный ACL по умолчанию этого каталога.

ƒл€ использовани€ Linux ACLs необходимо получить на сайте разработчика пакет Linux ACLs и заплатки к €дру ќ— Linux и некоторым программам системного окружени€. —начала необходимо наложить заплатку на исходные файлы €дра, чтобы получить поддержку листов доступа, затем собрать €дро с поддержкой расширенных атрибутов и листов контрол€ доступа. ѕосле сборки €дра с поддержкой листов доступа нужно наложить заплатки† на некоторые системные программы и пересобрать их. ƒалее необходимо собрать пакет приложений ACL, который тоже находитс€ на сайте разработчика. — помощью приложений этого пакета производитс€ управление расширенными правами доступа. ¬есь процесс установки Linux ACLs, начина€ наложением заплаток и заканчива€ сборкой пакета ACL, подробно описан в документации программного пакета.

ѕосле включени€ в системе поддержки Linux ACLs манипулирование расширенными атрибутами производитс€ с помощью двух программ, вход€щих в пакет ACL Ц getfacl и setfacl. ѕерва€ программа позвол€ет получить информацию о расширенных правах доступа файла. ¬тора€ производит изменение этих прав доступа. —интаксис командных строк этих программ подробно описан в соответствующих man-руководствах пакета.

3.2. LIDS

LIDS (Linux Intrusion Detection/Defence System) Ц система обнаружени€ и защиты от вторжени€. Ёта система представл€ет собой дополнение к €дру операционной системы Linux, добавл€ющее дополнительные возможности дл€ увеличени€ безопасности операционной системы. LIDS позвол€ет запретить или ограничить доступ к файлам, пам€ти, устройствам, сетевым интерфейсам и запущенным приложени€м привилегированному пользователю, что дает возможность надежно оградить даже взломанную операционную систему от дальнейшего вмешательства.

¬ отличие от других средств защиты операционной системы Linux, эту систему невозможно отключить, не зна€ парол€ администратора LIDS, который в зашифрованном виде хранитс€ в специальном файле, видимом только программой администрировани€ LIDS. “аким же образом защищены и конфигурационные файлы LIDS. ѕомимо этого система имеет одно очень существенное преимущество: зна€ пароль администратора LIDS, систему можно отключить только с локальной консоли компьютера.

ƒл€ того, чтобы установить LIDS, необходимо включить поддержку этой системы в €дре, что требует наложени€ заплаток на исходные файлы €дра и включение возможностей LIDS при конфигурировании €дра до его сборки. ѕосле включени€ в €дре поддержки LIDS станет доступным список параметров LIDS. “акже пакет LIDS включает программы дл€ настройки этой системы.

ѕосле установки LIDS в каталоге /etc по€витс€ каталог lids, содержащий следующие конфигурационные файлы:

lids.cap Ц этот файл предназначен дл€ хранени€ текущих значений установок способностей.

lids.net Ц файл предназначен дл€ настройки отправки электронных сообщений системой LIDS.

lids.pw Ц в этом файле записан в зашифрованном виде пароль администратора. »змен€ть этот файл можно только с помощью программы lidsadm пакета LIDS.

lids.conf Ц этот файл содержит текущие установки правил доступа. »змен€ть этот файл может только программа lidsadm.

ѕри установке различных ограничений LIDS использует так называемые способности.

—пособность Ц это возможность программ совершать какие-либо действи€.

¬се способности устанавливаютс€ в файле /etc/lids/lids.cap. Ётот файл имеет следующий формат:

[ + | - ] <номер>:<способность>

У+Ф включает соответствующую способность, а УЦУ выключает ее.

номер Ц пор€дковый номер способности.

способность Ц наименование способности.

–едактирование файла /etc/lids/lids.cap можно производить с помощью любого текстового редактора. ¬ключение способностей вли€ет на все программы без исключени€, а выключение вли€ет на все программы, кроме тех, которым напр€мую указана данна€ способность с помощью правил доступа lidsadm.

ѕосле установки файл /etc/lids/lids.cap содержит включенными следующие способности:

Ј        CAP_CHOWN Ц устанавливает способность программ измен€ть владельца и группу-владельца файла;

Ј        CAP_DAC_OVERRIDE Ц разрешает программам, запускаемым привилегированным пользователем, не принимать во внимание режимы доступа к файлам. ѕри отключении этой способности пользователь root тер€ет возможность измен€ть файлы, если ему напр€мую не заданы права доступа;

Ј        CAP_DAC_READ_SEARCH Ц определ€ет то же самое, что и CAP_DAC_OVERRIDE, только в данном случае ограничение распростран€етс€ только на каталоги;

Ј        CAP_FOWNER Ц разрешает операции с файлами, когда владелец файла должен совпадать с пользователем, совершающим операцию;

Ј        CAP_FSETID Ц разрешает установку бит SUID и SGID на файлах, не принадлежащих пользователю root;

Ј        CAP_KILL Ц разрешает процессам привилегированного пользовател€ уничтожать другие процессы;

Ј        CAP_SETGID, CAP_SETUID Ц управл€ет способностью программ привилегированного пользовател€ измен€ть группу и пользовател€, под которыми работает программа;

Ј        CAP_SETPCAP Ц позвол€ет программам мен€ть способности;

Ј        CAP_LINUX_IMMUTABLE Ц управл€ет способностью снимать расширенные атрибуты immutable и append с файлов;

Ј        CAP_NET_BIND_SERVICE Ц разрешает программам, выполн€ющимс€ не от имени пользовател€ root, использовать сетевой порт ниже 1024;

Ј       

Ј        CAP_NET_ADMIN Ц параметр управл€ет большим количеством различных способностей: конфигурирование сетевых интерфейсов, изменение правил брандмауэра, изменение таблиц маршрутизации и других способностей, св€занных с сетевыми настройками Linux;

Ј        CAP_NET_RAW Ц управл€ет способностью программ использовать гнезда;

Ј        CAP_IPC_LOCK Ц управл€ет способностью процессов привилегированного пользовател€ блокировать сегменты раздел€емой пам€ти;

Ј        CAP_IPC_OWNER Ц управл€ет доступом программ пользовател€ root к ресурсам межпроцессорного взаимодействи€ процессов, не принадлежащих пользователю root;

Ј        CAP_SYS_MODULE Ц управл€ет способностью загружать модули €дра;

Ј        CAP_SYS_RAWIO Ц управл€ет низкоуровневым доступом на чтение/запись к таким устройствам, как /dev/mem, /dev/kmem, /dev/port, /dev/hd*, /dev/sd*;

Ј        CAP_SYS_CHROOT Ц управл€ет способностью устанавливать корневой каталог дл€ текущей командной оболочки;

Ј        CAP_SYS_PTRACE Ц позвол€ет программам использовать вызов функции ptrace(), котора€ позвол€ет процессу-родителю управл€ть выполнением процессов-потомков;

Ј        CAP_SYS_PACCT Ц управл€ет способностью конфигурировать учет процессов;

Ј        CAP_SYS_ADMIN Ц управл€ет множеством способностей: управление устройством /dev/random, создание новых устройств, конфигурирование дисковых квот, настройка работы klogd, установка доменного имени компьютера, сброс кэша, монтирование и размонтирование дисков, включение и отключение раздела виртуальной пам€ти, установка параметров последовательных портов и многое другое;

Ј        CAP_SYS_BOOT Ц управл€ет способностью перезагружать систему;

Ј        CAP_SYS_NICE Ц управл€ет способностью измен€ть приоритет процессов, не принадлежащих привилегированному пользователю;

Ј        CAP_SYS_RESOURCE Ц управл€ет способностью измен€ть предельные значени€ использовани€ ресурсов системы: дисковые квоты, зарезервированное пространство на разделах с файловой системой ext2, максимальное количество консольных программ и так далее;

Ј        CAP_SYS_TIME Ц управл€ет способностью измен€ть системное врем€;

Ј        CAP_SYS_TTY_CONFIG Ц управл€ет способностью измен€ть настройки устройств tty;

Ј        CAP_HIDDEN Ц управл€ет способностью программ становитс€ невидимыми в списке выполн€емых процессов. Ќе вли€ет на все программы;

Ј        CAP_INIT_KILL Ц управл€ет способностью уничтожать процессы-потомки процесса init;

ƒл€ вступлени€ в действие способностей, необходимо сразу после загрузки системы и запуска всех сервисов выполнить команду

lidsadm ЦI

Ёта команда обычно записываетс€ в один из файлов сценариев, выполн€емых при загрузке системы.

ѕомимо способностей система LIDS позвол€ет задавать правила доступа к дисковым ресурсам. ¬се управление LIDS осуществл€етс€ с помощью программы lidsadm. Ёта программа способна работать в двух режимах: режиме настройки правил доступа и режиме ввода команд администрировани€. ¬се установки правил доступа наход€тс€ в файле /etc/lids/lids.conf. ƒл€ их просмотра необходимо запустить программу lidsadm с параметром ЦL.

[root@app /]# lidsadm ЦL

LIST

Subject†††††† ACCESS†† TYPE†††† Object

-------------------------------------------------------------

Any File††††† READ†††† /sbin

Any File††††† READ†††† /bin

Any File††††† READ†††† /boot

Any File††††† READ†††† /lib

Any File††††† READ†††† /usr

Any File††††† DENY†††† /etc/shadow

/bin/login††† READ†††† /etc/shadow

/bin/su†††††† READ†††† /etc/shadow

Any File††††† APPEND†† /var/log

Any File††††† WRITE††† /var/log/wtmp

Е

ѕравила доступа состо€т из трех элементов: субъекта, объекта и цели. ќбъектом €вл€етс€ любой файл или каталог, на который должны действовать правила доступа и защита LIDS. ≈сли в качестве объекта указан каталог, то все файлы в нем и вложенные подкаталоги с их файлами автоматически станов€тс€ объектами.

—убъектом €вл€етс€ люба€ защищенна€ программа, которой дают доступ к защищаемому объекту. ѕоэтому, прежде чем использовать программу в качестве субъекта, ее саму надо защитить средствами LIDS, применив к ней правила доступа как к объекту. ≈сли субъект не указан, субъектом €вл€етс€ люба€ программа.

÷елью €вл€етс€ тип доступа субъекта к объекту. —уществуют следующие типы доступа:

Ј        READ Ц доступ на чтение;

Ј        WRITE Ц доступ на запись;

Ј        DENY Ц запрет на какой-либо доступ вообще;

Ј        APPEND Ц открытие только дл€ записи в конец файла;

Ј        IGNORE Ц игнорирование защиты.

ѕостроение прав доступа подробно описано в соответствующих файлах документации и man-руководствах.

3.3. AIDE

AIDE (Advanced Intrusion Detection Environment) Ц расширенное окружение обнаружени€ вторжений. ќсновное назначение программного продукта AIDE Ц обнаружени€ изменени€ файлов, их атрибутов, прав доступа, пользователей владельцев, размера, количества ссылок на файл и других параметров, которые присущи файлу в Linux.

ѕрограммный пакет AIDE создает базу данных всех файлов, перечисленных в основном конфигурационном файле программы aide.conf. ¬ базу помимо стандартных атрибутов файла записываетс€ также криптографическа€ контрольна€ сумма или хэш каждого файла, вычисленных с использованием одного или комбинации следующих алгоритмов шифровани€: SHA1, MD5, RMD160, TIGER.

—разу после установки и настройки необходимых сервисов и программ, но перед подключением системы к сети, администратор должен создать базу AIDE. Ёто база будет содержать информацию о файлах в их первоначальном виде. ќбычно к контролируемым файлам относ€тс€ все бинарные файлы, исполн€емые файлы, конфигурационные файлы системы и программ, заголовочные файлы, файлы исходного кода и другие файлы, изменение которых после установки практически не производитс€.

ƒл€ создани€ базы данных программа aide запускаетс€ с параметром Цinit.

[root@gw /]# aide Цinit

ѕосле создани€ базы ее необходимо переместить в безопасное место, где привилегированный пользователь root имеет ограниченный доступ или не имеет доступа вообще. Ќаилучшим решением будет запись базы на какой-либо съемный носитель информации, который без особых проблем можно подключить к системе в любой момент.

ѕроверка целостности файлов производитс€ вызовом программы aide с параметром Цcheck.

[root@gw /]# aide Цcheck

ѕрограмма выполн€ет чтение файлов на диске и производит сравнение с данными из базы данных. ќтчет о проведенной проверке тут же выводитс€ на экран.

ѕрограммный пакет AIDE может служить хорошим дополнением к базовой защите в качестве средства профилактики, однако использование этого продукта в качестве основной системы защиты нежелательно. ѕомимо того, что взломщик может изменить саму базу данных AIDE, если сможет получить к ней доступ, он так же может произвести изменение файла с сохранением основных его атрибутов. ≈стественно, подделать контрольную сумму файла после его изменени€ Ц нелегка€ задача, но все же осуществима€.

¬ывод.

ƒанна€ глава посв€щена дополнительному программному обеспечению, расшир€ющему стандартные возможности систем Linux в плане безопасности. ¬ первой части главы рассматриваетс€ программный пакет Linux ACLs, листы доступа на основе расширенных атрибутов, программы getfacl и setfacl дл€ работы с расширенными правами доступа. ¬тора€ часть посв€щена системе обнаружени€ и защиты от вторжени€ LIDS, описываютс€ возможности €дер 2.4 и принципы работы LIDS на основе этих атрибутов. “акже приводитс€ формат конфигурационных файлов этой системы. «аключительный раздел посв€щен расширенному окружению обнаружени€ вторжений AIDE, описываетс€ назначение, принцип работы и основы† конфигурировани€.


4. “ехника безопасности

Ётот† раздел €вл€етс€ дополнением к основной дипломной работе. ¬ этом разделе рассматриваютс€ некоторые аспекты безопасной работы на компьютере.

—реди различных физических факторов окружающей среды, которые могут оказывать неблагопри€тное воздействие на человека и биологические объекты, большую сложность представл€ют электромагнитные пол€ неионизирующей природы, особенно относ€щиес€ к радиочастотному излучению. «десь неприемлем замкнутый цикл производства без выброса загр€зн€ющего фактора в окружающую среду, поскольку используетс€ уникальна€ способность радиоволн распростран€тьс€ на далекие рассто€ни€. ѕо этой же причине неприемлемо и экранирование излучени€ и замена токсического фактора† на другой, менее токсический фактор. Ќеизбежность воздействи€ электромагнитного излучени€ на население и окружающую живую природу стало данью современному техническому прогрессу и все более широкому применению телевидени€ и радиовещани€, радиосв€зи и радиолокации, использовани€ —¬„-излучающих приборов и так далее. » хот€ возможна определенна€ канализаци€ излучени€, уменьшающа€ нежелательное облучение населени€, и регламентаци€ во врем€ работ излучающих устройств, дальнейший технический прогресс все же повышает веро€тность воздействи€ электромагнитного излучени€ на человека.

Ќа возможность неблагопри€тного вли€ни€ на организм человека электромагнитных полей было обращено внимание еще в конце 40-х годов. ¬ результате обследовани€ людей, работающих в услови€х воздействи€ электромагнитных полей значительной интенсивности, было показано, что наиболее чувствительными к данному воздействию €вл€етс€ нервна€ и сердечно-сосудиста€ система. ќписаны изменени€ кроветворени€, нарушени€ со стороны эндокринной системы, метаболических процессов, заболевани€ органов зрени€. Ѕыло установлено, что клинические про€влени€ воздействи€ радиоволн наиболее часто характеризуютс€ астеническими и вегетативными реакци€ми.

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

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

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

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

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

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

—ерьезного внимани€ заслуживают вопросы гигиенической оценки уровней электромагнитного излучени€, которым подвергаютс€ лица, работающие в зоне действи€ излучений, но не св€занные с обслуживанием радиотехнических устройств. ѕо данным американского јгентства по охране окружающей среды около 1% человеческой попул€ции подвергаютс€ воздействию электромагнитного излучени€ интенсивностью более 1мк¬т/см2. ѕри этом наибольшие значени€ интенсивности были зафиксированы в высотных здани€х, особенно на уровн€х, соответствующих уровн€м размещени€ антенных систем.

  сожалению, вредное воздействие электромагнитного излучени€ св€зано не только с источниками широкомасштабного излучени€. »звестно, что магнитное поле возникает вокруг любого предмета, работающего на электрическом поле. ј это практически любой прибор, сопровождающий нас в быту (даже электрические часы).

ƒисплеи персональных компьютеров, выполненные на электронно-лучевых трубках, €вл€ютс€ потенциальными источниками м€гкого рентгеновского, ультрафиолетового, инфракрасного, видимого, радиочастотного, сверх- и низкочастотного электромагнитного излучени€.

ѕоследстви€ регул€рной работы с компьютером без применени€ защитных средств:

Ј       

Ј       

Ј       

Ј       

Ј       

ќсобенно опасно электромагнитное излучение компьютера дл€ детей и беременных женщин. ”становлено, что у беременных женщин, работающих на компьютерах с диспле€ми на электронно-лучевых трубках, с 90-процентной веро€тностью в 1,5 раза чаще случаютс€ выкидыши и в 2,5 раза чаще по€вл€ютс€ на свет дети с врожденными пороками.

Ќекоторые допустимые уровни электромагнитных полей приведены в таблице 4.1.

“аблица 4.1. ѕредельно допустимые уровни электромагнитных полей при круглосуточном непрерывном излучении

ћетрическое подразделение диапазона

„астоты

ƒлины

волн

ѕредельно

ƒопустимый

”ровень

 илометровые волны,

низкие частоты

√ектометровые волны,

средние частоты

ƒекаметровые волны,

высокие частоты

ћетровые волны,

ќчень высокие частоты

ƒециметровые волны,

”льтравысокие волны

—антиметровые волны,

—верхвысокие частоты

30-330 к√ц

0,3-3 ћ√ц

3-30 ћ√ц

30-300 ћ√ц

300-3000 ћ√ц

3-30 √√ц

10-1 км

1-0,1 км

100-10 м

10-1 м

1-0,1 м

10-1 см

25 ¬/м

15 ¬/м

10 ¬/м

3 ¬/м

10 мквт/см2

10 мквт/см2

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

–екомендуетс€, например, чтобы экран диспле€ находилс€ от глаз пользовател€ на рассто€нии не ближе, чем 50-70 см.

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

¬се работы с персональным компьютером дел€тс€ на три категории:

Ј       

Ј       

Ј       

ѕродолжительность непрерывной работы с персональным компьютером не должна превышать 2 часов.

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

Ќа мониторы рекомендуетс€ устанавливать защитные фильтры класса полной защиты (Total Shield), которые обеспечивают практически полную защиту от вредных воздействий монитора в электромагнитном спектре и позвол€ют уменьшить блик от электронно-лучевой трубки, а также повысить читаемость символов.

¬ывод.

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


«аключение

¬ данной работе был выполнен обзор средств безопасности, которыми располагает операционна€ система Linux дл€ безопасного функционировани€ как в качестве пользовательской системы, так и в качестве сервера.

¬ работе были рассмотрены следующие темы:

Ј       

Ј        Linux, добавление и удаление пользователей, изменение регистрационных записей, структура файла пользовательских регистрационных записей passwd, структура файла паролей shadow, программы управлени€ пользовательскими запис€ми useradd, usermod и userdel, программа установки парол€ пользовател€ passwd, пример безопасной настройки системы путем удалени€ ненужных регистрационных записей;

Ј        ext2, права доступа, программы изменени€ прав доступа и владельца файла chmod и chown, атрибуты файлов, программы работы с атрибутами chattr и lsattr, пакет lcap, пользовательские дисковые квоты, пакет дл€ работы с дисковыми квотами quota, пример безопасной настройки системы с помощью прав доступа, расширенных атрибутов и дисковых квот;

Ј        PAM, ее возможности, методы ограничени€ ресурсов с помощью PAM, перечень модулей PAM и их описание, формат конфигурационных файлов PAM, пример безопасной настройки системы с использованием ограничени€ ресурсов;

Ј        netfilter, обзор возможностей брандмауэра netfilter, программный пакет iptables, использование iptables дл€ настройки брандмауэра Linux, пример безопасной настройки межсетевого экрана дл€ работы в небезопасной сети;

Ј        Telnet, rsh, SNMP, описание протокола SSH, программный продукт OpenSSH, описание конфигурационного файла демона sshd, пример настройки безопасного сервера SSH;

Ј        Linux ACLs, листы доступа на основе расширенных атрибутов, программы getfacl и setfacl;

Ј        LIDS, возможности €дер 2.4, формат конфигурационных файлов LIDS;

Ј        AIDE, назначение, принцип работы.

Ј       

ѕомимо теоретической части к каждому разделу в приложении приводитс€ пример практического применени€ рассмотренного материала. ¬се примеры, приведенные в работе, были опробованы в реальных услови€х и успешно реализованы на серверах ”збекского внешнеэкономического информационно-коммерческого центра Ђ”зинкомцентрї при јгентстве внешних экономических св€зей –еспублики ”збекистан. Ќа момент защиты работы мной были проинсталлированы и настроены семь серверов на базе ќ— Linux, четверо из них €вл€ютс€ серверами общего назначени€, остальные трое Ц специализированные сервера с ограниченным набором функций. ѕ€ть серверов успешно функционируют по сей день. ƒвое упразднены за ненадобностью.


—писок литературы

1.     Linux. јлексей —тахнов, издательство ЂЅ’¬-ѕетербургї, —анкт-ѕетербург, 2002.

2.     Linux.


ѕриложение

ѕ–»ћ≈– 1.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. Ќазначение Ц маршрутизатор.

«адача: удалить неиспользуемые регистрационные записи и добавить три записи. Ќеобходимо добавить пользователей anna и pavel, а также одного пользовател€ с именем systemuser дл€ системных нужд.

–еализаци€.

»значально файл пользовательских регистрационных записей может иметь следующий вид:

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

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

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

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

news:x:9:13:news:/etc/news:

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

rpm:x:37:37::/var/lib/rpm:/bin/bash

¬ зависимости от установленных программ, содержание этого файла может отличатьс€ от приведенного.

»з соображений безопасности следует удалить следующие неиспользуемые в данной конфигурации сервера системные записи: adm, lp, shutdown, halt, news, operator, games, gopher, ftp. —истемна€ запись lp используетс€ только в том случае, если к компьютеру подключен принтер. Ќастраиваемый компьютер выполн€ет функции маршрутизатора, следовательно эта регистрационна€ запись €вл€етс€ лишней. «аписи shutdown и halt позвол€ют обычным программам выключать компьютер, что дл€ сервера €вл€етс€ только дополнительной брешью в безопасности. «аписи news, gopher и ftp используетс€ в том случае, если сервер выполн€ет функции службы новостей, сервера GOPHER или FTP-сервера. ”четна€ запись games используетс€ программами графического интерфейса, а поскольку последний отсутствует на маршрутизаторе, эта учетна€ запись тоже €вл€етс€ лишней.

ƒл€ удалени€ пользователей необходимо дл€ каждой учетной записи выполнить команду

userdel <им€_пользовател€>

¬ реализации это будет выгл€деть так:

[root@gw /]# userdel adm

[root@gw /]# userdel lp

[root@gw /]# userdel shutdown

[root@gw /]# userdel halt

[root@gw /]# userdel news

[root@gw /]# userdel operator

[root@gw /]# userdel games

[root@gw /]# userdel gopher

[root@gw /]# userdel ftp

ѕерва€ часть поставленной задачи выполнена. ƒалее необходимо добавить указанных пользователей.

[root@gw /]# useradd Цm Цs /bin/bash Цc СNormal UserТ Цd /home/pavel Цg users pavel

[root@gw /]# useradd Цm Цs /bin/bash Цc СNormal UserТ Цd /home/pavel Цg users anna

[root@gw /]# useradd Цr Цs /sbin/nologin Цc СSystem UserТ Цd /var/empty systemuser

ѕриведенные команды создают в системе указанных пользователей, однако, дл€ входа в систему обычным пользовател€м дополнительно ко всему следует задать еще и пароль. Ёто выполн€ют приведенные ниже команды.

[root@gw /]# passwd anna

Changing password for user anna.

New password: <ввод_парол€>

Retype new password: <повтор_ввода_парол€>

passwd: all authentication tokens updated successfully.

[root@gw /]# passwd pavel

Changing password for user pavel.

New password: <ввод_парол€>

Retype new password: <повтор_ввода_парол€>

passwd: all authentication tokens updated successfully.

¬ результате произведенных действий система будет содержать все необходимые дл€ нормального функционировани€ системные регистрационные записи, а также двух пользователей anna и pavel, которые смогут заходить и работать в системе.

ѕ–»ћ≈– 2.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. Ќазначение Ц сервер приложений. ѕрограммное обеспечение Ц web-сервер Apache, FTP-сервер Proftpd. Web-сервер выполн€етс€ от имени системного пользовател€ nobody, FTP-сервер Ц от имени системного пользовател€ ftpuser. ќба пользовател€ вход€т в группу nogroup. Ќа сервере работает web-портал, имеющий распределенную структуру. ¬есь портал делитс€ на 2 части: администрируемую часть Ц динамические данные и неадминистрируемую часть Ц статические данные или оболочка. јдминистрирование динамической части может осуществл€тьс€ как с помощью протокола FTP, так и с помощью специально разработанного web-интерфейса. —татические данные может измен€ть только привилегированный пользователь и только с помощью терминального доступа.

«адача: настройка защищенной конфигурации web-портала с использованием средств разграничени€ прав доступа.

–еализаци€.

ƒопустим, что все файлы объекта защиты, то есть web-портала, наход€тс€ в директории /www. ¬ свою очередь, директори€ /www содержит каталоги ftp и html: первый Ц дл€ хранени€ и доступа к файлам по FTP протоколу, второй Ц дл€ доступа к файлам по протоколу HTTP. ƒл€ обеспечени€ эффективной защиты файлы, наход€щиес€ в каталоге /www, должны иметь доступ только на чтение дл€ пользователей nobody и ftpuser. ‘айлы, наход€щиес€ в каталоге /www/ftp, должны быть доступны на чтение и на запись как пользователю ftpuser, так и пользователю nobody. ¬ свою очередь, файлы каталога /www/html должны быть доступны только пользователю nobody и с правами только на чтение. ѕривилегированный пользователь всегда имеет право на чтение и на запись, независимо от прав доступа, установленных дл€ файла.

”читыва€, что оба пользовател€ nobody и ftpuser принадлежат одной группе nogroup, права на каталог /www могут быть установлены следующим образом:

[root@app /]# chmod 050 /www

[root@app /]# chown root:nogroup /www

[root@app /]# ls Цl

Е

d---r-x---††† 1† root† nogroup† 4096† ‘ев 7††† 19:48†† www

Е

ѕерва€ команда устанавливает права только на чтение и вход в каталог дл€ пользователей группы-владельца каталога. ¬тора€ команда мен€ет группу-владельца каталога на группу nogroup. “реть€ команда позвол€ет просмотреть сделанные изменени€.  ак видно из результата выполнени€ третьей† команды, каталог www теперь имеет права доступа дл€ группы только на чтение и вход, дл€ пользовател€-владельца и всех остальных какие-либо права отсутствуют вообще.

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

[root@app www]# chown ЦR ftpuser:nogroup /www/ftp

[root@app www]# chmod ЦR o-rwx /www/ftp

[root@app www]# chmod ЦR ug+rw /www/ftp

[root@app www]# chown ЦR nobody:root /www/html

[root@app www]# chmod ЦR go-rwx /www/html

[root@app www]# chmod ЦR u+r /www/html

[root@app www]# ls Цl /www

drwxrwx---††† 1† ftpuser nogroup 4096† ‘ев 7 19:55† ftp

dr-x------††† 1† nobody† root††† 4096† ‘ев 7 20:01† html

ѕерва€ команда мен€ет группу-владельца и пользовател€-владельца дл€ каталога ftp, втора€ Ц отмен€ет все права на операции с файлами дл€ всех остальных, треть€ Ц добавл€ет права на чтение и запись дл€ пользовател€-владельца и группы-владельца.  люч ЦR позвол€ет рекурсивно изменить параметры у текущего каталога и всех подкаталогов и файлов, хран€щихс€ в нем. —ледующа€ команда Уchown ЦR nobody:root /www/htmlФ позвол€ет изменить пользовател€-владельца дл€ каталога html и всех его подкаталогов и файлов на пользовател€ nobody.  оманда Уchmod ЦR go-rwx /www/htmlФ отмен€ет все права дл€ группы-владельца и всех остальных. ƒалее команда Уchmod ЦR u+r /www/htmlФ устанавливает права только на чтение дл€ пользовател€-владельца. ѕоследн€€ команда выводит результат выполненных операций на экран. «адача выполнена!

—ледует сделать маленькое замечание: все вышеприведенное верно только в том случае, если маска создани€ файла по умолчанию при создании каталогов и файлов была определена как 022 (umask 022). ¬ противном случае действи€, которые необходимо предприн€ть дл€ установки необходимых прав доступа, завис€т от конкретных настроек системы.

ѕ–»ћ≈– 3.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. ѕрограммное обеспечение Ц пакет lcap. ¬ данном случае функциональное назначение сервера существенной роли не играет.

«адача: произвести настройку комплексной защиты сервера с использованием расширенных атрибутов (в частности, с помощью атрибута immutable).

–еализаци€.

ƒл€ реализации поставленной задачи необходимо изначально определить, какие файлы в процессе работы могут быть изменены, а какие могут быть изменены только в специальном режиме, например, только в режиме профилактики или обновлении программного обеспечени€. ¬ данном случае специальный режим предполагает перевод системы в однопользовательский режим работы.

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

/boot /etc Ц в окончательно настроенной системе содержимое этих каталогов измен€тьс€ не должно. «а редким исключением содержимое каталога /etc может мен€тьс€ при перенастройке каких-либо программ или сервисов.

/bin Ц каталог содержит исполн€емые файлы, которые могут быть изменены, удалены или добавлены только при обновлении программного обеспечени€.

/sbin Ц в каталоге хран€тс€ исполн€емые файлы системных программ, большинство из которых доступно на выполнение только привилегированному пользователю и также не должно измен€тьс€ во врем€ работы системы.

/lib Ц каталог системных библиотек, которые также могут быть изменены только при обновлении программных продуктов.

—ледующие команды позвол€ют установить атрибут immutable дл€ вышеперечисленных директорий и дл€ всех файлов, наход€щихс€ в них.

[root@app /]# chattr ЦR +i /boot /etc /bin /sbin /lib

[root@app /]# lsattr

---i---------- ./boot

Е

---i---------- ./etc

-------------- ./root

---i---------- ./bin

-------------- ./initrd

---i---------- ./lib

Е

---i---------- ./sbin

ѕараметр ЦR как и в предыдущих примерах используетс€ дл€ рекурсивной установки атрибута дл€ всех файлов и каталогов, расположенных ниже в иерархии.

 аталог /usr имеет свою собственную иерархию. ¬ этой иерархии следующие каталоги должны иметь установленный флаг immutable:

/usr/bin /usr/sbin /usr/lib /usr/local/bin /usr/local/sbin /usr/local/lib Ц перечисленные каталоги имеют то же значение, что и одноименные каталоги корневой иерархии.

/usr/include /usr/local/include Ц оба каталога содержит заголовочные файлы дл€ компилируемых программ. «аголовочные файлы не должны измен€тьс€ ни при каких услови€х, ну разве только тогда, когда компьютер используетс€ дл€ разработки программного обеспечени€ и в заголовочные файлы внос€тс€ изменени€.

[root@app /]# chattr ЦR +i /usr/bin /usr/sbin /usr/lib /usr/include

[root@app /]# lsattr /usr

-------------- /usr/lost+found

---i---------- /usr/bin

---i---------- /usr/lib

-------------- /usr/libexec

---i---------- /usr/sbin

Е

---i---------- /usr/include

-------------- /usr/local

---i---------- /usr/src

Е

¬ завершение всех операций можно выполнить программу lcap с параметрами CAP_LINUX_IMMUTABLE и CAP_SYS_RAWIO:

[root@app /]# lcap CAP_LINUX_IMMUTABLE

[root@app /]# lcap CAP_SYS_RAWIO

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

ѕриведенный пример, оп€ть же, €вл€етс€ не всегда применимым, все зависит от конкретной конфигурации системы и конкретных условий ее эксплуатации.

ѕ–»ћ≈– 4.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. Ќазначение† - сервер приложений. ѕрограммное обеспечение Ц €дро версии 2.4.20, собранное с поддержкой пользовательских квот, пакет quota-3.11. ƒл€ пользовательских каталогов выделен отдельный раздел /dev/hda3 объемом 25 √байт, смонтированный в директории /home.

«адача: организовать разделение дискового пространства между пользовател€ми с использованием механизма квот.  аждому пользователю необходимо выделить по 10 ћбайт дискового пространства с максимальным количеством возможных файлов Ц 1000.

–еализаци€.

ѕользовательские квоты распростран€ютс€ на отдельный раздел жесткого диска и активизируютс€ при загрузке системы. ƒл€ включени€ поддержки квот необходимо в файле /etc/fstab дл€ раздела /home добавить параметр usrquota или grpquota, или оба этих параметра, если нужна поддержка квоты дл€ пользователей и групп одновременно. ¬ данном случае дл€ реализации поставленной задачи необходим только параметр usrquota.

—трока файла /etc/fstab, относ€ща€с€ к разделу /home, после изменени€ может иметь следующий вид:

/dev/hda3†††† /home††† ext2 ††† default,usrquota††††††† 1† 2

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

ƒл€ активации пользовательских квот необходимо перезагрузить систему. ѕри загрузке необходимо выполнить проверку квотируемого раздела, что можно сделать запуском программы quotacheck, а также включить механизм квот выполнением программы quotaon. Ёти обе программы имеют множество параметров командной строки, о которых можно узнать из man-руководств, вход€щих в пакет quota. —тандартна€ строка запуска этих программ, котора€ подходит дл€ большинства систем, может иметь вид:

quotacheck Цaug

quotaon Цaug

ѕараметр командной строки Цa сообщает программе, что необходимо выполнить проверку всех файловых систем, перечисленных в файле fstab, на которых включена поддержка квот, и которые не €вл€ютс€ файловыми системами NFS. ѕараметр Цu указывает выполнить проверку квот дл€ пользователей на разделах, перечисленных в файле /etc/mtab. ‘айл /etc/mtab модифицируетс€ при монтировании и размонтировании любой файловой системы и содержит все файловые системы, смонтированные на текущий момент. ѕараметр Цg выполн€ет ту же функцию, что и параметр Цu, но только дл€ групп. ѕоследний параметр не имеет значени€, если квота включена только дл€ пользователей, но, чтобы в дальнейшем при изменении конфигурации не возникало проблем, рекомендую добавл€ть этот параметр.

∆елательно сделать так, чтобы механизм квот активировалс€ сразу после монтировани€ файловых систем. ћонтирование† файловых систем при запуске Linux RedHat выполн€етс€ в файле /etc/rc.d/init.d/rc.sysinit. ¬ том же файле сразу после монтировани€ следует код, который запускает программы quotacheck и quoaton с указанными параметрами, если они присутствуют в системе. —ледовательно, дл€ Linux RedHat добавл€ть код запуска программ не нужно, поскольку он уже присутствует по умолчанию. ƒл€ других версий ќ— Linux этот код, возможно, придетс€ добавл€ть вручную.

¬о врем€ загрузки системы программа quotacheck выполнит проверку файловых систем с включенными квотами на наличие файлов квот и, если файлы отсутствуют, quotacheck создаст их в корневом каталоге этой файловой системы. ¬ данном случае в каталоге /home по€витс€ файл aquota.user, в котором будет хранитьс€ информаци€ о пользовательских квотах.

ƒалее, использу€ программу setquota, необходимо выполнить настройку квот дл€ каждого пользовател€, имеющего домашний каталог в разделе /home. Ёто можно сделать командой:

[root@app /]# setquota Цu <им€_пользовател€> 10240 0 1000 0 /dev/hda3

ѕриведенна€ команда установит ограничение дискового пространства в 10 ћбайт с максимальным количеством возможных файлов Ц 1000 дл€ указанного пользовател€. ƒл€ пользовател€ anna эта команда будет иметь вид:

[root@app /]# setquota Цu anna 10240† 0† 1000† 0† /dev/hda3

≈сли квота остальных пользователей должна быть идентична приведенной, что как раз и требуетс€ дл€ реализации, квоту пользовател€ anna можно использовать как шаблон. ƒалее при создании квоты дл€ пользовател€ igor†† параметры квотировани€ пользовател€ anna просто копируютс€:

[root@app /]# setquota Цu Цp anna igor /dev/hda3

¬ результате выполнени€ команды пользователь igor получает те же настройки квоты, что и пользователь anna, в данном случае ему выдел€етс€ 10 ћбайт на хранение 1000 файлов. ¬ышеприведенную команду необходимо выполнить дл€ всех пользователей системы.

ѕросмотр сделанных настроек позвол€ет выполнить программа repquota. ¬ызов этой программы с параметрами Цa выводит достаточно удобочитаемый подробный отчет по всем файловым системам с включенной поддержкой квот.

[root@app /]# repquota -a

*** Report for user quotas on device /dev/hda3

Block grace time: 00:00; Inode grace time: 00:00

††††††††††††††† Block limits††††††††††† File limits

User††† used††† soft†† hard† grace††† used† soft† hard† grace

----------------------------------------------------------------

...

anna† --†† 4 2097152††† ††0††††††††††††† 1†††† 0†††† 0

igor† --†† 4 2097152††††† 0††††††††††††† 1†††† 0†††† 0

...

ƒл€ обеспечени€ надежности работы механизма квот, необходимо врем€ от† времени производить проверку целостности файла aquota.user на предмет наличи€ ошибок. ƒл€ этой цели можно использовать программу-планировщик cron,† котора€ €вл€етс€ стандартной практически дл€ всех версий ќ— Linux. Ќа момент проверки файловой системы рекомендуетс€ отключить поддержку механизма квот дл€ этой файловой системы во избежание повреждений. ƒл€ этого перед запуском quotacheck необходимо выполнить программу quotaoff. ¬ыполнение указанной последовательности можно реализовать, создав отдельный исполн€емый файл, например /usr/sbin/chkquota, который может иметь следующее содержание:

#!/bin/bash

# Turn off quotas

quotaoff Цaug

# Check quotas

quotacheck Цaug

# Turn on quotas

quotaon Цaug

“огда строка запуска проверки квот в конфигурационном файле /etc/crontab программы cron может выгл€деть следующим образом:

0 3 * * 0 root /usr/sbin/chkquota

Ёта конфигураци€ позвол€ет выполн€ть проверку квот каждое воскресенье в три часа ночи. ƒл€ более детального ознакомлени€ с форматом файла /etc/crontab существуют man-руководства, включенные в пакет cron.

ѕ–»ћ≈– 5.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. Ќазначение† - сервер приложений. ѕрограммное обеспечение Ц библиотека pam-0.75-32.

«адача: настроить ограничени€ ресурсов, используемых в процессе работы, дл€ пользователей группы users. Ќеобходимо ограничить количество одновременно запущенных процессов до 20, количество одновременно открытых файлов до 30 и запретить создание каких-либо файлов €дра.

–еализаци€.

ќграничением ресурсов занимаетс€ модуль pam_limits. Ётот модуль использует файл конфигурации /etc/security/limits.conf, в котором и задаютс€ необходимые параметры ограничени€. ‘айл состоит из строк, кажда€ из которых определ€ет ограничение на определенный вид ресурса. ‘ормат строки следующий:

<субъект_ограничени€> <тип> <объект_ограничени€> <значение>

—убъектом ограничени€ может быть либо одиночный пользователь, либо группа, котора€ определ€етс€ добавлением знака @ перед ее именем, либо значок *, означающий, что ограничение должно распростран€тьс€ на всех без исключени€. ƒл€ реализации задачи субъектом ограничени€ будет служить слово @users.

“ип ресурса может быть либо soft, либо hard. «начение soft задает м€гкое ограничение на использование указанного ресурса, а значение hard определ€ет жесткое или абсолютное предельное значение использовани€ ресурса. ƒл€ реализации задачи лучше всего будет указать жесткое ограничение на все виды ресурсов.

ќбъект ограничени€ указывает, на какой вид ресурса распростран€етс€ это ограничение. ƒл€ реализации задачи в качестве ограничиваемых объектов необходимо указать следующие параметры:

nproc Ц количество одновременно запущенных процессов. ƒолжно иметь значение 20.

nofile Ц количество одновременно открытых файлов. ƒолжно быть установлено в 30.

core Ц размер файла €дра. ƒл€ запрета на создание файлов €дра значение этого параметра должно быть установлено в 0.

¬ результате файл /etc/security/limits.conf будет иметь вид:

@users††††††† hard††††††††† nproc††††††††††††† 20

@users††††††† hard††††††††† nofile†††††††††††† 30

@users††††††† hard††††††††† core ††††††††††††† 0

ƒл€ того, чтобы активизировать ограничение ресурсов дл€ конкретного приложени€, вызов модул€ pam_limits необходимо добавить в соответствующий файл сценари€ библиотеки PAM. ƒл€ локального входа пользователей этим приложением €вл€етс€ программа login, котора€ имеет одноименный файл сценари€ в каталоге /etc/pam.d. ѕосле модификации файл /etc/pam.d/login может выгл€деть следующим образом:

#%PAM-1.0

auth†††† required†††† pam_securetty.so

auth†††† required†††† pam_stack.so service=system-auth

auth†††† required†††† pam_nologin.so

account† required†††† pam_stack.so service=system-auth

password required†††† pam_stack.so service=system-auth

session† required†††† pam_stack.so service=system-auth

session† optional†††† pam_console.so

session† required†††† pam_limits.so

ѕоследн€€ строка предписывает библиотеке PAM использовать модуль pam_limits, причем успешное прохождение через этот модул€ €вл€етс€ необходимым дл€ успешного завершени€ процесса аутентификации в целом.

ƒл€ терминального доступа по протоколу ssh вызов модул€ pam_limits необходимо также добавить в файл /etc/pam.d/sshd. ¬ итоге этот файл может быть таким:

#%PAM-1.0

auth†††† required†††† pam_stack.so service=system-auth

auth†††† required†††† pam_nologin.so

account† required†††† pam_stack.so service=system-auth

password required†††† pam_stack.so service=system-auth

session† required†††† pam_stack.so service=system-auth

session† optional†††† pam_console.so

session† required†††† pam_limits.so

ѕри такой конфигурации как локальный, так и удаленный доступ дл€ пользователей группы users будет иметь ограничени€ на указанные ресурсы.

ѕ–»ћ≈– 6.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. Ќазначение† - маршрутизатор. ѕрограммное обеспечение Ц iptables-1.2.5,† €дро версии 2.4.22, собранное с поддержкой netfilter и iptables. Ќа сервере установлены три сетевые карты. — помощью двух сетевых карт под символическими именами eth0 и eth1 сервер св€зывает две локальные TCP/IP сети с различными диапазонами IP адресов. ѕерва€ сеть имеет адрес 192.168.0.0, втора€ Ц 192.168.1.0, обе сети имеют маску 255.255.255.0. —етева€ карта eth0 имеет IP адрес 192.168.0.1, а eth1 Ц 192.168.1.1. “реть€ сетева€ карта с символическим именем eth2 имеет реальный сетевой адрес 144.333.333.333 обеспечивает выход в »нтернет.

«адача: настроить межсетевой экран с повышенными требовани€ми к безопасности. »з сети »нтернет необходимо открыть доступ к HTTP-серверу, почтовой службе, функционирующей по протоколу SMTP, серверу имен DNS, а также терминальный доступ по протоколу SSH.  омпьютеры обеих локальных сетей помимо перечисленных сервисов должны иметь возможность получать почту с локального сервера посредством протокола POP3. “акже необходимо обеспечить обмен информацией между компьютерами двух локальных сетей, обеспечить выход компьютеров сети 192.168.0.0 в »нтернет, а из сети 192.168.1.0 Ц только компьютерам с IP адресами 192.168.1.30 и 192.168.1.45.

–еализаци€.

„тобы маршрутизатор функционировал в качестве шлюза, в €дре необходимо помен€ть значение переменной ip_forward. Ёто можно сделать командой приведенной далее, а чтобы эта переменна€ устанавливалась в 1 при загрузке, необходимо в файле /etc/sysctl.conf найти и раскомментировать, если она закомментирована, строку вида Уnet.ipv4.ip_forward = 0Ф и изменить значение 0 в этой строке на 1. ≈сли же такой строки нет, ее необходимо добавить. “аким образом, маршрутизатор получает указание работать в качестве шлюза, то есть обрабатывать пакеты, пришедшие из сети и не адресованные локальным процессам, в соответствии с заранее заданной таблицей маршрутизации. ¬ключение этой функции необходимо дл€ обеспечени€ доступа в сеть »нтернет из двух локальных сетей.

[root@app /]# echo 1 > /proc/sys/net/ipv4/ip_forward

ƒалее приводитс€ последовательность действий, которые необходимо выполнить, чтобы построить требуемую конфигурацию брандмауэра.

[root@app /]# /sbin/iptables Цt filter -P INPUT DROP

[root@app /]# /sbin/iptables Цt filter -P OUTPUT DROP

[root@app /]# /sbin/iptables Цt filter -P FORWARD DROP

ѕараметр командной строки Ц– позвол€ет установить политику действи€ по умолчанию дл€ всех пакетов, которые не попали ни под один критерий в правилах INPUT, OUTPUT и FORWARD. ƒействие DROP означает, что пакет должен быть уничтожен, если ни одно правило цепочки ему не соответствует. ѕараметр Цt указывает, над какой таблицей производитс€ действие. ≈сли этот параметр не указан, используетс€ таблица filter, поэтому использование этого параметра в данном случае не об€зательно.

ƒл€ распределени€ нагрузки и простоты в управлении можно создать в таблице filter дополнительные цепочки с разным функциональным назначением.

[root@app /]# /sbin/iptables -N bad_tcp_packets

[root@app /]# /sbin/iptables -N allowed

[root@app /]# /sbin/iptables -N tcp_packets

[root@app /]# /sbin/iptables -N udp_packets

[root@app /]# /sbin/iptables -N icmp_packets

÷епочка bad_tcp_packets предназначена дл€ отфильтровывани€ пакетов с "неправильными" заголовками. «десь отфильтровываютс€ все пакеты, которые распознаютс€ как NEW, то есть пакеты, открывающие новое соединение, но не €вл€ютс€ SYN пакетами, то есть часть пакета, ответственна€ за синхронизацию, отсутствует, а так же обрабатываютс€ SYN/ACK-пакеты, имеющие статус NEW. Ёта цепочка может быть использована дл€ защиты от вторжени€ и сканировани€ портов.

[root@app /]# /sbin/iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset

[root@app /]# /sbin/iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"

[root@app /]# /sbin/iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

÷епочка tcp_packets €вл€етс€ фильтром сетевых сервисов. »менно в этой цепочке будет осуществл€тьс€ фильтраци€ tcp-соединений по критерию запрашиваемого сервиса. ¬ качестве такого критери€ используетс€ порт, на который приход€т запросы на обслуживание.† ƒл€ того, чтобы только пользователи локальной сети смогли получать почту, в последних двух правилах в качестве дополнительного критери€ фильтрации используютс€ символические имена сетевых интерфейсов локальных сетей. ¬ качестве действи€ пакет посылаетс€ в цепочку allowed дл€ последующей проверки более низкого уровн€.

[root@app /]# /sbin/iptables -A tcp_packets -p TCP --dport 22 -j allowed

[root@app /]# /sbin/iptables -A tcp_packets -p TCP --dport 25 -j allowed

[root@app /]# /sbin/iptables -A tcp_packets -p TCP --dport 80 -j allowed

[root@app /]# /sbin/iptables -A tcp_packets -p TCP Цi eth0 --dport 110 -j allowed

[root@app /]# /sbin/iptables -A tcp_packets -p TCP Цi eth1--dport 110 -j allowed

÷епочка allowed используетс€ дл€ дополнительной фильтрации tcp пакетов, прошедших† цепочку tcp_packets и разрешенных в ней. ѕервое правило провер€ет, установлен ли в заголовке пакета бит SYN, то есть, €вл€етс€ ли пакет первым пакетом установлени€ соединени€. “акие пакеты считаютс€ разрешенными и пропускаютс€. ¬торое правило провер€ет состо€ние пакета, и если оно либо ESTABLISHED, либо RELATED, то пакет разрешаетс€. Ёти состо€ни€ присваиваютс€ пакетам, когда соединение уже установлено и ведетс€ обмен данными. ѕоследнее правило просто сбрасывает все остальные пакеты, не попавшие под первые два правила.

[root@app /]# /sbin/iptables -A allowed -p TCP --syn -j ACCEPT

[root@app /]# /sbin/iptables -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT

[root@app /]# /sbin/iptables -A allowed -p TCP -j DROP

÷епочка udp_packets имеет ту же функцию, что и цепочка tcp_packets, с единственным отличием Ц в этой цепочке производитс€ фильтраци€ udp-соединений. —ервис DNS использует как раз протокол UDP дл€ обмена информацией, поэтому правило, которое будет разрешать пакеты DNS, необходимо добавить именно в эту цепочку.

[root@app /]# /sbin/iptables -A udp_packets -p UDP --dport 53 -j ACCEPT

÷епочка icmp_packets предназначена дл€ фильтрации icmp-пакетов. ƒл€ нормального функционировани€ сервера Linux в сети достаточно разрешение только двух типов сообщений: ICMP Echo Request и Time Exceeded.

[root@app /]# /sbin/iptables -A icmp_packets -p ICMP --icmp-type 8 -j ACCEPT

[root@app /]# /sbin/iptables -A icmp_packets -p ICMP --icmp-type 11 -j ACCEPT

≈ще раз хочу заметить, что по умолчанию без использовани€ параметра Цt все действи€ производ€тс€ в таблице filter.

“еперь перейдем к заполнению основных системных таблиц. Ќачнем с вход€щей цепочки INPUT таблицы filter.

[root@app /]# /sbin/iptables -A INPUT -p tcp -j bad_tcp_packets

[root@app /]# /sbin/iptables -A INPUT -i lo Цs 127.0.0.0/8 -j ACCEPT

[root@app /]# /sbin/iptables -A INPUT -i lo -s 192.168.0.1 -j ACCEPT

[root@app /]# /sbin/iptables -A INPUT -i lo -s 192.168.1.1 -j ACCEPT

[root@app /]# /sbin/iptables -A INPUT -i lo -s 144.333.333.333 -j ACCEPT

[root@app /]# /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

[root@app /]# /sbin/iptables -A INPUT Цp TCP† -j tcp_packets

[root@app /]# /sbin/iptables -A INPUT -p UDP -j udp_packets

[root@app /]# /sbin/iptables -A INPUT -p ICMP -j icmp_packets

[root@app /]# /sbin/iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

—начала все пакеты должны пройти через цепочку bad_tcp_packets на предмет неправильного заголовка. ƒалее необходимо прин€ть все пакеты, пришедшие со всех адресов сетевых карт через локальный интерфейс. “акие пакеты могут посылать только локальные приложени€, поэтому дл€ их нормального функционировани€ необходимо пропускать эти пакеты беспреп€тственно. «атем следует правило определ€ющее состо€ние пакета. ≈сли пакет находитс€ в одном из двух состо€ний (RELATED или ESTABLISHED), то он тоже беспреп€тственно разрешаетс€. ƒело в том, что настройка брандмауэра подразумевает 99-процентную достоверность фильтрации приход€щих запросов, поэтому, если соединение было разрешено на этапе установлени€, то при последующем обмене информацией критерии сервиса не провер€ютс€, что позвол€ет немного увеличить скорость обработки и уменьшить нагрузку на сервер.

≈сли пакет не удовлетвор€ет ни одному из перечисленных условий, далее следуют правила, в которых пакет классифицируетс€ по типу используемого протокола. ѕакеты протоколов TCP, UDP и ICMP попадают в одноименные цепочки дл€ их фильтрации по типу запрашиваемого сервиса. ≈сли пакет проходит одну из этих цепочек, и к нему не было применено действие ACCEPT, то есть пакет не €вл€етс€ запросом к разрешенному сервису, сначала происходит запись параметров запроса в журнальный файл (действие LOG), а затем примен€етс€ политика по умолчанию цепочки INPUT, то есть пакет просто уничтожаетс€.

[root@app /]# /sbin/iptables -A FORWARD -p tcp -j bad_tcp_packets

[root@app /]# /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

[root@app /]# /sbin/iptables -A FORWARD -i eth0 Цs 192.168.0.0/24 -j ACCEPT

[root@app /]# /sbin/iptables -A FORWARD -i eth1 Цs 192.168.1.30 -j ACCEPT

[root@app /]# /sbin/iptables -A FORWARD -i eth1 Цs 192.168.1.45 -j ACCEPT

[root@app /]# /sbin/iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "

јналогично цепочке INPUT, пакеты, проход€щие транзитом, сначала фильтруютс€ на предмет неправильного заголовка с помощью таблицы bad_tcp_packets. ѕакеты уже установленного соединени€ разрешаютс€ без дополнительных проверок. ƒалее все пакеты, пришедшие с интерфейса eth0, через который к серверу подключена сеть 192.168.0.0, разрешаютс€, что позвол€ет всем пользовател€м сети 192.168.0.0 работать в »нтернет. ќднако, перед этим необходимо настроить NAT, что и будет сделано дальше.

[root@app /]# /sbin/iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 144.333.333.333

ѕриведенна€ команда добавл€ет в цепочку POSTROUTING таблицы nat правило, которое мен€ет адрес-источник у пакета, покидающего сервер через интерфейс eth2, то есть пакета, который должен быть отправлен в сеть »нтернет, на адрес интерфейса сервера. ¬ результате компьютер, у которого нет реального адреса в сети »нтернет, получает возможность посредством локального сервера обмениватьс€ информацией с любым сервером в »нтернете.

[root@app /]# /sbin/iptables -A OUTPUT -p tcp -j bad_tcp_packets

[root@app /]# /sbin/iptables -A OUTPUT† -s 127.0.0.0/8 -j ACCEPT

[root@app /]# /sbin/iptables -A OUTPUT -s 192.168.0.1 -j ACCEPT

[root@app /]# /sbin/iptables -A OUTPUT -s 192.168.1.1 -j ACCEPT

[root@app /]# /sbin/iptables -A OUTPUT -s 144.333.333.333 -j ACCEPT

[root@app /]# /sbin/iptables -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

ƒл€ цепочки OUTPUT необходимо указать, с каких IP адресов разрешать пакеты. «десь должны быть перечислены все адреса, которые присвоены сетевым картам сервера.

¬ конце созданные правила необходимо сохранить командой

[root@app /]# /sbin/iptables-save > /etc/sysconfig/iptables

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

Ќа этом настройку брандмауэра можно считать оконченной.

ѕ–»ћ≈– 7.

»сходные данные: ќ— Linux RedHat 7.3 без графической оболочки. Ќазначение Ц маршрутизатор. ѕрограммное обеспечение Ц пакет OpenSSH-3.6.1p2.

«адача: выполнить безопасную настройку сервиса SSH с учетом у€звимостей в версии SSH 1.0.

–еализаци€.

¬ерси€ 1.0 протокола SSH имеет у€звимость, котора€ позвол€ет при определенных услови€х получить доступ с правами привилегированного пользовател€. ¬ерси€ 2.0 от этой недоработки в системе безопасности избавлена, поэтому ее использование будет самым оптимальным решением. Ќастройка сервиса SSH по молчанию позвол€ет использовать обе версии протокола, выбор осуществл€етс€ в зависимости от того, какой протокол поддерживает клиентска€ программа. „тобы €вно запретить использование протокола версии 1.0, необходимо в файл конфигурации sshd_config внести следующую строку

Protocol 2

Ёта строка указывает демону sshd использовать только протокол версии 2.0. ¬ противном случае, если клиент запросит разрешение на открытие сеанса с использованием протокола 1.0, запрос будет отвергнут.

OpenSSH версии 3.6 и некоторых более ранних версий имеет специальный параметр UsePrivilegeSeparation, который позвол€ет запускать процесс sshd от имени аутентифицированного пользовател€. ѕосле того, как пользователь успешно прошел аутентификацию, основной процесс sshd, запущенный от имени привилегированного пользовател€, передает управление дополнительному процессу sshd, который выполн€етс€ уже от имени аутентифицированного пользовател€. “ака€ технологи€ позвол€ет добитьс€ более высокого уровн€ безопасности по сравнению с предыдущими верси€ми пакета OpenSSH, в которых доступ пользователей контролировалс€ процессом, запущенным с правами пользовател€ root.  онфигураци€ демона по умолчанию уже использует этот параметр, однако в некоторых более ранних верси€х этот параметр выключен. ƒл€ активации разделени€ пользовательских привилегий в файл sshd_config необходимо добавить строку

UsePrivilegeSeparation yes

≈сли сборка пакет производилась из исходных файлов, дл€ настройки разделени€ привилегий необходимо совершить несколько дополнительных операций. Ёти операции хорошо документированы и последовательность их выполнени€ в документации по установке пакета OpenSSH расписана практически по шагам.

„тобы ограничить доступ привилегированному пользователю, можно использовать параметр PermitRootLogin. ”становка этого параметра в значение

PermitRootLogin no

не позволит пользователю root получить доступ к удаленному терминалу. ѕолучение привилегий пользовател€ root в таком случае можно будет осуществить только запуском команды su.

ƒл€ настройки ограничени€ доступа существуют также параметры AllowGroups, DenyGroups и AllowUsers, DenyUsers дл€ разрешени€ и запрета на доступ определенным группам и пользовател€м соответственно. Ќапример, дл€ запрета доступа всем группам пользователей кроме пользователей группы wheel, конфигурационный файл должен содержать такие строки

DenyGroups *

AllowGroups wheel

ƒл€ усилени€ уровн€ безопасности можно помен€ть еще два параметра. «начени€ этих параметров по умолчанию €вл€ютс€ приемлемыми дл€ большинства систем и их изменение в данном случае большой роли не играет. ѕараметр MaxStartups позвол€ет задать максимальное количество одновременно запущенных процессов демона sshd, другими словами, этот параметр определ€ет максимальное количество одновременно подключенных пользователей. ѕо умолчанию ограничение на количество пользователей равно 10. ≈сли в систему должен иметь доступ только администратор и еще пара человек обслуживающего персонала, этот параметр можно выставить в значение 5. ѕараметр LoginGraceTime определ€ет период времени, в течение которого, начина€ с момента установлени€ соединени€, должна быть осуществлена аутентификаци€ пользовател€. ѕо умолчанию это значение равно 2 минутам. ≈сли в течение этого времени пользователь не пройдет аутентификацию, серверна€ сторона просто закроет соединение. ≈сли администрирование производитс€ из локальной сети, дл€ аутентификации может быть достаточно 30 секунд, если же существует хот€ бы веро€тность, что доступ будет осуществл€тьс€ через низкоскоростное соединение, например, посредством телефонного соединени€, имеет смысл выставить это значение в 60 секунд минимум.

ƒалее приводитс€ часть конфигурационного файла, сформированна€ с учетом всего вышеуказанного

Е

Protocol 2

UsePrivilegeSeparation yes

PermitRootLogin no

MaxStartups 5

LoginGraceTime 30

Е

—ервис SSH изначально настроен с максимальными требовани€ми к безопасности, поэтому изменение каких-либо дополнительных настроек дл€ стандартной конфигурации не требуетс€. »зменени€ могут потребоватьс€ лишь в том случае, если к работе сервиса предъ€вл€ютс€ особые требовани€.






—одержание †TOC o "1-3" ............................................................................................. PAGEREF _Toc74760928 h 1. ќсновные пон€ти€ компьютерной безопасности PAGEREF _Toc74760929 h 2. Ћокальна€ и сетева€ безопасность

 

 

 

¬нимание! ѕредставленна€ –абота находитс€ в открытом доступе в сети »нтернет, и уже неоднократно сдавалась, возможно, даже в твоем учебном заведении.
—оветуем не рисковать. ”знай, сколько стоит абсолютно уникальна€ –абота по твоей теме:

Ќовости образовани€ и науки

«аказать уникальную работу

ѕохожие работы:

ѕример выполнени€ магнитного анализа электромагнитного привода в Ansys 6.1.
ѕричины попул€рности ќ— Microsoft
‘айловый менеджер
’арактеристика различных видов графики. ’арактеристика графических редакторов
»нструкци€ по работе с программой "“арификаци€"
ќперационна€ система Windows XP
ѕринцип построени€ компьютера
ћедотические рекомендации по выполнению работ по программе ЂWinampї
ќбъекты конфигурации –егистры накоплени€
 одировка Serpent

—вои сданные студенческие работы

присылайте нам на e-mail

Client@Stud-Baza.ru