Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

7. Безопасность ядра

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

Поскольку ядро контролирует поведение вашего компьютера в сети, очень важно, чтобы ядро было само очень безопасно, и его нельзя было каким-либо образом взломать или подвергнуть риску. Чтобы предотвратить некоторые из последних известных методов сетевых атак, вы должны использовать последние стабильные версии ядра. Вы можете найти их на ftp://ftp.kernel.org

7.1 Опции компиляции ядра

  • IP: Drop source routed frames (CONFIG_IP_NOSR)

    Эта опция должна быть включена. Пришедшие кадры (Source routed frames) содержат полный путь их назначения внутри пакета. Это значит, что маршрутизатору, через который проходят пакеты, не нужно их проверять, а просто передавать их дальше. В противном случае это могло бы привести к тому, что входящие в вашу систему данные имели бы потенциальную возможность деструктивных действий.

  • IP: Firewalling (CONFIG_IP_FIREWALL)

    Эта опция необходима если вы намереваетесь сконфигурировать вашу машину как щит (firewall), настроить маскарад (masquerading), или хотите защитить вашу станцию с комутирующимися соединениями от кого-либо, желающего проникнуть через ваш PPP dial-up интерфейс.

  • IP: forwarding/gatewaying (CONFIG_IP_FORWARD)

    Если вы включили IP forwarding, ваша Linux станция в сущности стала маршрутизатором. Если ваша машина в сети, то вы можете теперь ретранслировать данные из одной сети в другую, и можете, таким образом, разрушить существующий щит, поставленный именно для того, чтобы этого не происходило. Обыкновенным dial-up пользователям лучше выключить это, а другим нужно сконцентрироваться на безопасной реализации этой опции. В компьютере-щите эту опцию нужно активировать и использовать вместе с программным обеспечением реализующим щит (firewall).

    Вы можете включить либо выключить IP forwarding динамически, используя команду для включения:

            root#  echo 1 > /proc/sys/net/ipv4/ip_forward
    
    и для выключения
            root#  echo 0 > /proc/sys/net/ipv4/ip_forward
    
    Этот файл (и много других файлов в /proc) всегда отображаются с нулевой длиной, но на самом деле это не так. Это новое свойство ядра, так что убедитесь, что ваше ядро имеет версию 2.0.33 или выше.

  • IP: firewall packet logging (CONFIG_IP_FIREWALL_VERBOSE)

    Эта опция дает вам информацию о пакетах, которые приходят на ваш щит, как то отправитель, получатель, порт и т.п.

  • IP: always defragment (CONFIG_IP_ALWAYS_DEFRAG)

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

  • IP: syn cookies (CONFIG_SYN_COOKIES)

    SYN атака генерирует "отказ в предоставлении сервиса" (DoS), который поглощает все ресурсы вашей системы, что в результате приводит к перезагрузке. Поэтому мы не видим ни одной причины, по которой эту опцию не нужно было бы включать.

  • Packet Signatures (CONFIG_NCPFS_PACKET_SIGNING)

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

  • IP: Firewall packet netlink device (CONFIG_IP_FIREWALL_NETLINK)

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

7.2 Устройства ядра

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

Два устройства, /dev/random и /dev/urandom, предоставляются ядром для получения в любой момент времени случайных чисел.

И /dev/random и /dev/urandom должны быть достаточно безопасны, чтобы использоваться в генераторах PGP ключей, SSH вызовах, и других приложениях, в которых используются случайные числа. Взломщик не должен иметь возможности предугадать следующее число, выданное любой начальной последовательностью чисел из этих генераторов. Было приложено огромное количество усилий для обеспечения того, чтобы числа, которые вы получаете от этих генераторов, были случайны в полном смысле слова "случайный".

Разница состоит только в том, что /dev/random оканчивается на случайном байте и это заставляет вас больше ждать до полного накопления. Заметьте, что в некоторых системах, это может на длительное время заблокировать ввод при генерации в системе записи о новом пользователе. Поэтому вы должны с осторожностью использовать /dev/random. (Возможно наилучшим будет использовать его, когда вы генерируете чувствительную к регистру (клавиши) информацию, и вы говорите пользователю постоянно стучать по клавишам, пока вы не выдадите "ОК, достаточно")

/dev/random является высококачественной энтропией, генерируемой из измерения времени внутренних прерываний, или чего-то в этом роде. Он блокируется до тех пор, пока не наберется достаточно бит случайных данных.

Работа /dev/urandom подобна, но когда памяти под энтропию становиться мало, он возвращает криптографически надежные случайные данные (hash) того что есть на момент останова. Это не настолько же безопасно, но достаточно для большинства приложений.

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

        root#  head -c 6 /dev/urandom | uuencode -
Эта команда выдаст 6 случайных символов на консоль, - удобно для генерации пароля.

Если вы хотите узнать алгоритм, то загляните в /usr/src/linux/drivers/char/random.c.

Спасибо Theodore Y. Ts'o, Jon Lewis, и другим ядерщикам Linux за помощь мне (Dave) в этом вопросе.


Вперед Назад Содержание
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...