Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Выпуск #17:


Служба Рассылок Subscribe.Ru
OS Linux для начинающих.  ::  http://linuxbegin.by.ru  ::  Выпуск #17. (31.03.02).  ::  Подписчиков: ~ 7500.
  Сегодня в выпуске:
Защищаем Linux - О том, как просто и надежно защитить свой Linux box.

  Links:
Запуск WarCraft-III Beta под новейшим WineX - Интересный thread из форума LOR. "Игра сразу же пошла, да так, что матрасы, вудухи и атихи отдыхают! Это притом еще, что в опциях было выставлено 1024x768x32 и все в максимум, игра даже не притормозила, короче, разницы по скорости в сравнении с виндовсом я не заметил...."
LinuxPrinting.org - Все, что вы хотели узнать о печати в Линуксе. Говорят, что там даже есть информация о том, как печатать из Linux на русском языке... English.
Mini HOWTO - Linux и FreeBSD - Linux и FreeBSD на одном компьютере. (Вместо "FreeBSD" можно читать "NetBSD", "Solaris", etc, потому что все эти диалекты Unix очень похожи). Главные сходства и различия, запуск программ FreeBSD в Линуксе и наоборот... Короче говоря, это - информационный ресурс для всех, кто спрашивал о совместной установке и использовании этих 2 операционных систем.

  Новые статьи:
Реализация bridging firewall - "В чём разница между bridging firewall и обычным брандмауэром (firewall)? Мост (bridge) - это часть оборудования, соединяющая два (или более) сегмента сети вместе и перенаправляющая пакеты в обе стороны". Статья предназначена для продвинутых сетевых администраторов :). (LG)
Полезные мелочи Linux - "Эта статья продолжает тему маленьких хитростей Linux..." (I2R)
Первый шаг: От "чайника" - в Unix - Сначала идет рассуждение о том, что такое Unix и кому он нужен. "Прежде чем продолжить чтение, определитесь, готовы ли вы пойти по непростому пути, на котором понимание идей и концепций значительно важнее, чем знание расположения кнопок в том или ином пакете...". Потом все это плавно перетекает в подробный рассказ об операционной системе FreeBSD. Так что - если вы хотите изучить Unix, но вам не нравится "хроническая болезнь сегментации и непредсказуемости развития Linux", то операционная система FreeBSD (и эта статья) как раз для вас! (ITC)
Cканеры в Linux - "Использование сканера не является привилегией одних только пользователей MS Windows. Хотя, действительно - "завести" устройство от целого ряда производителей подобного оборудования в альтернативной ОС, бывает, мягко говоря, проблематично..." (I2R)
Курс молодого сисадмина - Exclusive!! Это - статья из журнала, который еще не вышел. Поэтому пока она доступна только по одной ссылке, которую я здесь и указал.
"Бурное развитие информационных технологий повлекло за собою повышенную востребованность такой штатной единицы, как «системный администратор». Как грибы после дождя плодятся соответствующие курсы. Однако вряд ли в их учебных программах хотя бы пару часов отведено рассмотрению и решению весьма специфических социальных проблем, с которыми наверняка придется столкнуться новоиспеченному спецу..."

  Интересный софт:
• LinNeighborhood - Графическое отображение "сетевого окружения", короче говоря - Front End для Samba. Позволяет просматривать и подключать расшаренные ресурсы Windows.
• Финансы без проблем - Сверхбыстрая и безотказная платформа для систем учета и управления. "Многих людей объединяет необходимость учета денег и вещей. Многие люди владеют предприятиями и хотят эффективно управлять ими. Перед вами чрезвычайно эффективный инструмент для этих целей...". Версия для Linux появилась совсем недавно, и поэтому пока в рекламных целях она раздается совершенно бесплатно!!! (Для сравнения - версия на 10 пользователей для Windows стоит $395 :).
• DyneBolic - Небольшой дистрибутив (всего 47 Mb), позволяющий запускать Linux c CD без использования жесткого диска!! (Совершенно так же, как и нашумевший DemoLinux). Вы просто закатываете образ на CD, загружаетесь с CD-ROM'а и попадаете в полнофункциональный дистрибутив Linux, для работы которого совершенно не обязательно иметь HDD. Графика основана на BlackBox. Так что - если вы хотите поработать в настоящем Линуксе :), при этом не делая ничего с жестким диском, то этот дистрибутив для вас! Статья, из которой я узнал об этом дистрибутиве, находится здесь (English), там же есть ссылки на другие подобные дистрибутивы (например, на тот же самый DemoLinux, включающий в себя KDE и Gnome.)

  Реклама:

На сайте рассылки http://linuxbegin.by.ru вы найдете:

• Все предыдущие выпуски
• Часто задаваемые вопросы
• Статьи
• Ссылки
• Форум
• И многое другое!

  Мировые новости:

28.03.02: На сайте NewsForge появился обзор любопытного дистрибутива DemoLinux (http://www.demolinux.org). Главная отличительная черта данного дистрибутива - это отсутствие необходимости в установке на жесткий диск. Такой дистрибутив может быть полезен тем, кто желает испытать открытую ОС самостоятельно, однако опасается возможной потери данных на винчестере в результате установки... (I2R)
25.03.02: Red Hat предлагает Microsoft создать версию Microsoft Office и Internet Explorer для Linux. Технический директор компании Red Hat Майкл Тайманн на очередном заседании суда по делу о монополизме компании Microsoft заявил, что если требования штатов о более строгих ограничениях, накладываемых на Microsoft, будут выполнены, то компания Red Hat станет одним из первых претендентов на лицензию на офисное ПО и веб-браузер софтверного гиганта... (I2R)

  Новости рассылки:

• Начиная с этого выпуска, у вас есть возможность самим выбрать статью, которая будет опубликована в следующем выпуске!! (Так же можно голосовать и против той или иной статьи :).
• До меня дошла информация, что на мой новый Email-адрес xoid26@bk.ru иногда невозможно ничего отправить. (письма приходят назад с ошибкой "такого адреса нет"). Значит, мне придется искать что-нибудь более надежное...

   Защищаем Linux. // Mcweazy, 02/2002.

Данное руководство включает в себя 4 раздела. Большинство из них можно было бы назвать отдельными руководствами, если опубликовать их отдельно. Мы попытались собрать всю информацию по этим вопросам в несколько легких для понимания и независимых модулей. Я надеюсь, что это руководство будет для вас полезно. Здесь не хватает одной важной вещи - глубокого обсуждения философии и теории защиты. Эта тема не входит в данное руководство, потому что для ее обсуждения существуют специальные сайты (например, такие, как hackerthreads.org).

1) Методология упрощения.
2) Построение Firewall'а с помощью ipchains и iptables.
3) Проверка сервисов / демонов.
4) Set-UID.

Методология упрощения основана на повышении защищенности с помощью уменьшения количества уязвимостей. В этом руководстве вы узнаете, как:
1) Ограничить сетевой доступ к вашему компьютеру с помощью firewall'а. (Мы научим вас, как создать свою систему правил доступа).
2) Уменьшить количество программ, работающих под высокими привилегиями. (Потому что это уменьшает количество путей, с помощью которых любой пользователь может получить высокие права в вашей системе).
3) Улучшить конфигурацию тех программ, работающих под высокими привилегиями, которые вы хотите оставить.
4) Уменьшить количество путей к root'у. (Это - ограничение доступа для непривилегированных пользователей).

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

Построение Firewall'а с помощью ipchains и iptables. Основы ipchains.

Существует много хороших руководств и HOWTO по ipchains, и если после прочтения этого руководства у вас есть вопросы - я рекомендую поискать ответ в Интернете.

Ядро Linux 2.2 поддерживает фильтрацию пакетов без статистики - как роутер.
Ядро Linux 2.4 поддерживает фильтрацию пакетов со статистикой - как коммерческие firewall'ы.

Введение в TCP/IP.

TCP/IP - это основной протокол Internet, разработанный группой ученых. Это - Open Source стандарт, и именно это делает существование Интернета возможным. Microsoft пытался подчинить себе этот стандарт и выпустил стандарты, которые должны были вытеснить TCP/IP. Но, к счастью, эти попытки закончились неудачно. Каждый сеанс связи между двумя компьютерами в Интернете разделен на пакеты данных. Пакет начинается с заголовка, который указывает серверам и компьютерам, куда посылать пакет. TCP/IP расшифровывается, как Transport Control Protocol / Internet Protocol (Протокол контроля передачи / Интернет протокол). IP передает информацию с одного хоста на другой. Важнейшие поля заголовка - IP-адрес источника и IP-адрес цели (SRC_IP и DST_IP). TCP передает информацию от одной программы к другой программе. Здесь важнейшие поля заголовка - это порт источника и порт цели. Еще один протокол, похожий на TCP - это UDP (или User Datagram Protocol). Здесь я не буду обьяснять их различия - если надо, поищите в Интернете.

TCP внедрен в IP-пакет, и это - важная деталь в понимании ipchains. Заголовок TCP помещается в начале раздела данных пакета IP. TCP хорош в корректировке ошибок, упорядочении пакетов, подтверждении пакетов и создании / прекращении подключений. Последняя часть представляет особенный интерес. Понимая, как происходит подключение через TCP (и из каких частей оно состоит), вы можете регулировать все подключения к вашему компьютеру. Все атаки начинаются именно с подключения, так что - этому вопросу нужно уделить повышенное внимание.

Введение в фильтрацию пакетов.

У firewall'ов существуют 2 основных принципа работы - фильтрация пакетов и прокси. Я рекомендую использовать firewall в режиме фильтрации пакетов, который может быть реализован с помощью ipchains и iptables (подробнее читайте ниже). Фильтрация пакетов управляет пакетами, идущими по сети, в соответствии с вашими правилами. Firewall, основанный на принципе proxy, позволяет подключаться к серверу через промежуточный хост - вы подключаетесь к прокси, и прокси подключается к серверу за вас, таким образом возникает полноценное подключение с защитой всех, кто находится за прокси-сервером. Главный недостаток - замедление скорости подключения. Так что - этот тип firewall'а обычно бывает нужен только для того, чтобы работать в сети анонимно. Но все равно при этом нужно помнить, что вы не анонимны полностью, потому что в логах прокси-сервера остался ваш адрес. Список proxy-серверов можно получить, например, на сайте cyberarmy.com.

Когда вы совершаете подключение, вы посылаете пакет с определенного порта вашего компьютера на порт другого компьютера. Сервисы, такие, как FTP или Web-сервер, занимают определенные порты. Например, web-броузеры всегда по умолчанию проверяют порт 80. Конечно же, вы можете подключиться к другому порту через web-броузер - например, www.hackerthreads.org:2105, но если там ничего нет, или там запущен сервис, не понимающий запрос броузера, то ответа не будет. Обычно программы, которые слушают порты, называются daemons. И построение firewall'а основано именно на закрывании портов, потому что именно через них происходят подключения. Каждый из открытых портов может обозначать уязвимость.

Самые распространенные сервисы и их порты: FTP -- 20/21, SSH -- 22, SMTP -- 25, DNS -- 53, HTTP -- 80, POP -- 110, IMAP -- 143, HTTPS -- 443, IRC -- 6667, Telnet -- 23.

Блокируем подключения.

Вот как происходит блокирование всех входящих подключений. Когда происходит новое подключение через TCP, сначала происходит процесс приветствия, или по другому - "handshaking". Первый пакет посылается от источника к приемнику и содержит поля: Синхронизация = включена и Запрос = выключен (SYN = on, ACK = off). Второй пакет посылается от приемника к источнику, SYN = on, ACK = on. Третий пакет посылается от источника к приемнику, SYN = off, ACK = on. Все остальные пакеты этого подключения содержат SYN = off и ACK = on. Таким образом - для того, чтобы заблокировать все входящие запросы, нужно только настроить firewall на выкидывание всех пакетов с комбинацией SYN = on и ACK = off. Теперь рассмотрим несколько практических приемов использования ipchains.

Есть всего 3 возможных цепочки - input, forward, и output (входящие, пересылка, и исходящие). Пересылаемые (например, при переадресации) пакеты проходят через все 3 цепочки. Когда происходит входящий запрос на подключение к определенному порту, компьютер сверяет запрос с правилами, и после этого определяет, будет ли этот запрос принят, отказан или выкинут.

Пример цепочки INPUT:

Default Policy: Accept
src_port = 23 judgement=block
dst_port = 21 judgement=block

Если запросы не совпадают ни с одним правилом, то по умолчанию они принимаются (Accept). Но любой пакет, идущий с порта 23, блокируется (эффективный запрет доступа с telnet). Так же блокируется и любой пакет, идущий на порт 21 (эффективный запрет доступа к FTP).

Синтаксис IPChains:

ipchains -P <имя цепочки> <действие> - установка политики для цепочки по умолчанию.
ipchains -F <имя цепочки> - удаление всех правил (Flush).
ipchains -A <имя цепочки> <правило> - добавление правила.
ipchains -L <имя цепочки> - список всех правил.

Параметры:
ipchains -A <имя цепочки> <выражение> <действие>
-s (Source_IP) - адрес источника
-d (Destination_IP) - адрес цели
--source-port (Source_Port) - порт источника
--destination-port (Destination_Port) - порт цели
-i (network_interface) - сетевой интерфейс
! (выражение) - "НЕ" (булева логика)
-y = SYN (флаг) - чтобы блокировать пакеты с указанным флагом SYN.

Цепочки: INPUT,OUTPUT,FORWARD

Действия: ACCEPT - принять пакет, DENY - уничтожить, REJECT - отвергнуть, т.е. уничтожить и послать квитанцию отправителю в виде ICMP-пакета, если, конечно, отвергаемый пакет сам не был ICMP, MASQ - замаскарадить пакет (допустимо только в пересылочной цепочке и только если ядро было скомпилировано с поддержкой маскарадинга), REDIRECT - переадресовать пакет на определенный порт локальной машины, независимо от того, куда он был отправлен (Прозрачное проксирование. Допустимо только во входной цепочке. Номер порта указывается после ключевого слова), RETURN: вызывает прекращение дальнейших проверок в цепочке и применение к пакету политики цепочки.

Уже рассмотренный пример блокирования FTP и Telnet'а
{Default Policy: Accept
src_port = 23 judgement=block
dst_port=21 judgement=block}

выглядит так:
ipchains -P input allow --setting default policy
ipchains -F input --flushing ruleset
ipchains -A input -p tcp --sport 23 -j DENY
ipchains -A input -p tcp --dport 21 -j DENY.

Построение Firewall'а с помощью iptables.

Существует много хороших руководств и HOWTO по iptables, и если после прочтения этого руководства у вас есть вопросы - я рекомендую поискать ответ в Интернете.

Здесь используется та же философия, что и в ipchains. Пакет iptables использует возможности ядра, которые могут быть добавлены в ядро при компиляции. Многие новые дистрибутивы Linux содержат IPTables, как инструмент по умолчанию. Вообще, IPTables - это взгляд в будущее, и многие верят, что таблицы могут заменить цепочки полностью. Посмотрим на синтаксис iptables:

iptables -A <цепочка> <выражение> <действие>

Цепочки:
INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING

Действия:
ACCEPT, DROP, REJECT, LOG, MASQUERADE

Параметры:
-s (Source_IP) - адрес источника
-d (Destination_IP) - адрес цели
--source-port (Source_Port) - порт источника
--destination-port (Destination_Port) - порт цели
-i (incoming network_interface) - входящий сетевой интерфейс
-o (outgoing network_interface) - исходящий сетевой интерфейс
! (выражение) - "НЕ"
--syn = С установленным флагом SYN.

Расширенные функции IPTables:

--tcp-flags - проверяет состояние флагов.
-m state --state STATE1, STATE2 - состояние подключения (где STATEx = NEW, ESTABLISHED, RELATED, INVALID).
--icmp-type type/code
-m mac --mac-source (например - 00:60:08:91:CC:B7)
и т.д.

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

Следующий вопрос - какие порты нужно блокировать? Для этого нужно знать, какие сервисы запущены и чем они занимаются. Есть несколько методов отключения сервисов:

Проверка сервисов / демонов (Daemons/services Audit).

Как админинстратор Linux, я могу порекомендовать вам проводить регулярные проверки сервисов / демонов. Конечно же, это занимает много времени, и это не так просто, но в результате вы сэкономите больше времени и усилий на том, что ваш сервер будет очень трудно взломать.

В Линуксе все программы имеют привилегии. Некоторые из них обладают самыми высокими привилегиями - правами root'а. Просто это необходимо для их работы. Серсисы бывают или постоянно работающими, или временными (которые загружаются только при запуске системы на небольшое время). И если у вас есть постоянно работающие сервисы, которые вам не нужны, то это - не только потенциальная уязвимость в системе, но и лишняя трата ресурсов. Но не думайте, что временные сервисы не могут представлять никакой опасности - они тоже потенциально опасны.

Шаг 1:

Inetd - оригинальный сетевой суперсервер. Сейчас так же XInetd стал очень популярным. Я расскажу об Inetd, но все эти принципы в той же мере касаются и XInetd. Суперсервер - это программа, поддерживающая и контролирующая несколько процессов или сервисов одновременно.

Inetd занимает много портов, и для каждого подключения запускает сервер нужного типа. Самые известные из сервисов Inetd - это ftp, telnet, pop, imap, finger. Вы можете получить список сервисов в /etc/services, и так же посмотреть на статус ваших сервисов. Для конфигурации суперсервера inetd используют /etc/inetd.conf.

Пример того, что можно увидеть в inetd.conf:

(порт) (тип) (протокол) (ожидание) (UID) (программа) (аргументы)
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Вот - пример файла inetd.conf из дистрибутива RH 6.2: (Я не призываю вас к использованию RedHat или другого дистрибутива)

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
shell stream tcp nowait root /usr/sbin/tcpd in.rshd
login stream tcp nowait root /usr/sbin/tcpd in.rlogind
talk dgram udp wait nobody.tty /usr/sbin/tcpd in.talkd
talk dgram udp wait nobody.tty /usr/sbin/tcpd in.ntalkd
finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
linuxconf stream tcp wait root /bin/linuxconf linuxconf --http

Обратите внимание на сервисы, у которых в графе UID стоит root. Эти программы имеют права root'а. И если кто-нибудь захватит контроль над одним из этих сервисов, то у вас появятся большие проблемы. Поэтому проверка сервисов очень важна.

Шаг 2:

Иногда бывает сложно найти документацию по всем этим сервисам. Почему по умолчанию их включается так много? Просто многие дистрибутивы Linux хотят попасть на рынок за счет большего числа возможностей, которые они предоставляют. Так же это уменьшает количество звонков в службу поддержки на тему "А как мне включить такой-то сервис?".

ftp
Одни только плохие новости. Данные передаются открытым текстом, и это очень плохо. FTP ограничить трудно, потому что порты 20 и 21 должны быть открыты, и обычно FTP-серверы открывают множество дополнительных портов. В WU-FTPd, Pro-FTPd, и других распространенных FTP-сервисах существует огромное количество уязвимых мест. Я предлагаю заменить FTP на SSH. (Об SSH - позже). Главное преимущество FTP - все знают, как им пользоваться, и существует много клиентов. tftp может быть полезной в некоторых случаях, и если вы знаете об этой программе, то вам уже не нужны мои обьяснения.

telnet
Одни только плохие новости. Данные передаются открытым текстом, и пароли узнаются легко с помощью таких программ, как Hunt. Этого я тоже избегаю, потому что SSH может выполнять те же функции. Обычно этот сервис используется для удаленного доступа к компьютеру.

rsh, rlogin, rcp, rexec
Эти сервисы тоже передают данные открытым текстом. Доступ к ним определяется IP-адресом, который можно подделать с помощью spoof'инга. Мне кажется, что r-сервисы уже устарели, и я никогда ими не пользуюсь.

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

finger
Инструмент для получения информации о пользователях сети. Для этого достаточно набрать finger <имя юзера>. Используйте chfn, чтобы изменить вашу информацию, доступную через finger. Если вы создадите в домашней директории файлы .plan и/или .profile, то в ваш finger будет включена информация о ваших интересах, графике работы, и т.д. Это может быть полезно, например, для тех, кому нужен ваш график работы для того, чтобы с вами связаться. Как вы видите - этот сервис может быть полезным, но ваша информация может попасть к кому угодно. Так что - если вы хотите использовать finger, то ограничьте его пределами вашей локальной сети.

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

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

ipchains
Загружает правила фильтрации для ядра. Если у вас нет набора правил, то вы можете отключить этот сервис. Я рекомендую отключить этот сервис и использовать IPTables и TCP Wrapper'ы.

network
Загружает сетевые интерфейсы - очень важная функция. Еще один временный сервис. Должен быть включенным.

portmap
Предоставляет распределение портов для NFS и NIS. Если вы их не используете (а я не рекомендую их использовать), то можно отключить этот сервис. У portmap есть много уявимостей, поэтому лучше не рисковать.

nfslock
Загружает rpc.lockd и rpc.statd - два сервиса, нужных для работы NFS. Если вы не используете NFS - выключите это.

apmd
Это сокращение расшифровывается, как "Продвинутый демон управления питанием" (Advanced Power Management Daemon). Если ваша система установлена на лаптопе, то это - полезная вещь. А если нет - можно отключать, потому что хотя в этой программе и нет уязвимостей, но она занимает системные ресурсы.

random
Генерирует случайные значения при запуске. Не нвдо беспокоиться насчет этого. Обычно случайные числа используются при шифровке.

netfs
Подключает сетевые файловые системы. Это не постоянный сервис, и он не представляет особого риска. Как я уже упоминал, NFS имеет несколько слабых мест в защите, поэтому я бы не рекомендовал использовать эту систему. Если у вас нет NFS, то этот сервис необязателен. А если вы настаиваете на использовании NFS или Samba, то я могу посоветовать только одно - приложите все силы, чтобы защитить вашу сеть от опасных вторжений.

syslogd
Syslog Daemon - важная программа, которая ведет логи. Я настоятельно рекомендую, чтобы Syslogd был запущен всегда, потому что логи - это главное средство для защиты системы. Если вы думаете, что на вас была произведена атака, или заметили что-то странное - то первым же делом советую заглянуть в log-файлы.

identd
Изучите эту программу - и вы ее полюбите. Определяет, кто совершил подключение по TCP. Я обычно использую это для проверки локальных пользователей. Среди возможностей - определение, какой из компьютеров был взломан, и определение того, кто совершил эту атаку. Если бы я находился на вашем месте и не знал ничего об этом сервисе, то я бы просто написал в командной строке "man identd".

atd
Позволяет пользователям планировать выполнение программ по времени. Сейчас те же функции выполняет cron или anacron, так что - лучше выключить этот сервис.

crond
Позволяет пользователям планировать выполнение программ по времени. Я обычно использую это для повторения запусков определенных программ. Требуется знание языка shell. Лучше всего сконфигурировать эту программу так, чтобы ей могли пользоваться только привилегированные пользователи. Я думаю, что вы найдете для этой программы множество применений. Мне, например, часто хочется спланировать все события в жизни с помощью cron :).

pcmcia
Загружает модули pcmcia в ядро, если у вас есть карточка pcmcia. И снова - эта программа нужно только пользователям laptop'ов, а для остальных это - просто трата системных ресурсов.

xinetd/inetd
Как уже обсуждалось выше, xinetd/inetd контролирует множество сетевых daemon'ов. Если ни один из этих сервисов вам не нужен, и вы не используете TCP wrapper'ы, то это можно отключить.

rawdevices
Позволяет вашей системе размещать и блокировать устройства. Это - временный сервис, который не представляет никакой угрозы в плане безопасности. Нужная вещь.

gpm
Позволяет копировать и вставлять текст в режиме командной строки. Прошлые версии имели несколько уязвимостей. Если вы работаете в Иксах, то это вам не нужно. Обычно я отключаю этот сервис по привычке, но вы можете оставить, если с ним вам удобнее работать в командной строке.

httpd
Это - веб-сервер Apache. Я запускаю его только тогда, когда я работаю с web-страничками или экспериментирую с различными модификациями. Web-серверы могут вызвать несколько интересных проблем.

xfs
Это нужно только тогда, когда ваш компьютер - font-сервер. Я это всегда отключаю.

linuxconf
Используется для внесения изменений в системные настройки. Я подозреваю, что это - разработка Red Hat. В Linux-сообществе идут вечные споры насчет этой программы. Сам я пользовался этим только тогда, когда я только начинал изучать Linux, но сейчас больше не пользуюсь. Это - временный сервис, который не представляет особого риска. Если вы им не пользуетесь - отключите.

local
Это безопасно. Local хранит скрипты вашего компьютера. Я оставляю этот сервис, но периодически проверяю и обновляю в случае проблем с безопасностью.

Set-UID.

Все файлы в Unix имеют свои права доступа. Например: 755 - пользователь может читать/писать/запускать, группа может читать/запускать, все могут читать/запускать. Но 755 на самом деле - это 0755. Первая цифра в этом числе относится к Set-UID или SUID. SUID/SGID программы имеют первую цифру, отличную от нуля - например, 4755 для SetUID, или 2755 для SetGID.

Программы обычно запускаются под правами пользователя, который их запустил. SUID-программы запускаются под правами владельца. Если в SUID-программе обнаружится баг или уязвимость, то через нее каждый пользователь сможет получить права владельца (обычно - root'а). Поэтому ограничение Set-UID - это хорошая идея.

Два метода ограничения Set-UID:

1) Удалить SUID-бит. Пример: chmod u-s foo or chmod 0755 foo.

2) Убрать право на запуск для всех пользователей - чтобы только специальная группа могла ее использовать. Пример: chmod o-x foo or chmod 4750 foo.

Теперь вы знаете о Set-UID все, и вам остается только проверить свои программы, являющиеся собственностью root'а, на бит SUID. И если какая-нибудь программа будет иметь Set-UID, то вам нужно разобраться, действительно ли это необходимо для работы этой программы.

  Читайте в следующем номере:

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

Установка Mandrake Linux 8.1 - Подробное описание установки одного из новейших дистрибутивов Linux. (Только не это!)
Мини-дистрибутивы Linux - Скромный, но полезный обзор мини дистрибутивов Linux. (Только не это!)
Графические интерфейсы Linux: Перспектива - Все, что вы хотели узнать о KDE, Gnome и других графических интерфейсах Linux. (Только не это!)
Не нужно ничего из вышеперечисленного - Тогда я размещу какую-нибудь супер новейшую статью, которая появится в Инете на следующей неделе :).
Ваше предложение - Пишите на xoid26@bk.ru, какую информацию хотели бы вы видеть в рассылке, и, может быть, в следующих выпусках вы найдете именно то, что вам нужно!!

/\ Наверх /\ OS Linux для начинающих: Первые шаги в мир Open source. © Xoid26 a.k.a. Slider111, 2002. D.zine by Xoid26


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное