Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Безопасность *NIX систем


Автор: powerfox 2.1.2007, 19:57
У меня некоторое время назад появилась идея сделать такой раздел. Если дело пойдёт, то можно будет всё-таки поговорить с админами, чтоб выделили соответствующий раздел, а пока всё в прикреплённой теме.

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

http://forum.vingrad.ru/topic-130152/kw-%E1%E5%E7%EE%EF%E0%F1%ED%EE%F1%F2%FC-linux-unix.html

Так же прошу кидать сюда ссылки на соответствующие темы на нашем форуме.

Разрешено выклыдыват скрипты и программы, которые могут проверить защищённость систмы пользователя. К ним, естественно, давать комментарии. Только, пожалуйста, не надо делать в них что-то в стиле "rm-rf /".

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

Автор: Alexandr87 6.1.2007, 19:55
http://www.gentoo.org/doc/en/security/index.xml

Автор: SparF 6.1.2007, 20:49
http://security.nnov.ru/
Статей мало, зато неплохая рассылка по найденным уязвимостям.

Автор: nickless 7.1.2007, 00:27
Автоматическая проверка на руткиты:
http://www.chkrootkit.org/
http://www.rootkit.nl/

Автор: powerfox 23.1.2007, 17:24
http://www.simonzone.com/software/guarddog/

user posted image

Неплохой файерволл, сегодня поставил - пашет. По умолчанию при установке закрывает все порты. Имеет 2 встроенные зоны: local (локальные адреса, что под этим подразумевается, я несовсем понял) и интернет (все адреса, которые не включены в local и созданные вами зоны). При создании зоны её можно отнести к любой уже созданной (настройки, а не IP, естественно), при этом новая зона появится в списке соединений зоны, куда вы её отнесли. простой и удобный интерфейс. Весьма неплохая вещь.

Добавлено @ 17:31 
Ещё несколько ссылок (пока не опробовал, но собираюсь в ближайшее время).

http://nessus.org/
Сканер для проверки безопасности. Существует GUI, который надо отдельно качать.

http://insecure.org/nmap/
Сетевой аудитор, как писали где-то в обзоре.  Способен определить вашу ОС и список запущенных сервисов + открытые порты. Сканировать чужие компьютеры этой утилитой разоаботчики не рекомендуют, так как это будет воспринято, как атака. Ceществует фронтэнд - knmap.

Автор: bilbobagginz 23.1.2007, 23:21
базовый сетевой инструментарий:

nmap - это порт сканнер с большой базой разных ответов. может не только посылать любые удобные вам сообщения, но и определять по ответу: 
  • версию и тип ОС
  • список открытых/"полуоткрытых" портов и протоколов
  • версию тип ПО бегущего на данном порту, делать проверки на возможность разл. атак сетевого оборудования и т.д.
  • характеристики устройства ethernet
  • характеристики IP стека
  • много других и т.д. и т.п.
есть несколько гуи для nmap. один из них nmap-fe, другой упомянут свыше.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tcpdump - это прекрасный сниффер, т.е. подслушивалка сети, помогает снять трафик для характеристики и анализа, т.е. используется для:
  • определения загрузки сегмента сети 
  • проверок функциональности сетевой защиты
  • характеристики траффика
  • и т.д. ( et cetera )
работает как и все остальные на основе libpcap ( packet capturing lib ), она может работать в читабельном режиме, или бинарном. снятие трафика можно делать по протоколу, хосту, порту и разным другим параметрам. снятие можно делать на протяжении времени, или просто снять n-ное кол-во сообщений.
к нему есть ГУИ, под названием ethereal. 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ethereal - ГУИ сниффер. может работать с файлами полученными от tcpdump, или сам, посредством вызовов функций из libpcap самостоятельно.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
netcat ( иногда nc ) - конфигурируемoe IP существо, ... сетевой котик smile. может быть сервером, клиентом. посылать/принимать сообщения и данные по TCP/UDP и т.п. 
очень удобен в тестировании фаервола: если какое-то действие удалось возвращает 0, как все умные программы. можно настраивать всё в настройках сокетов - таймауты и т.д.
позволяет передавать данные между двумя компутерами, как будто мы запускает cat.
напр. на сервере запускаем:
Код

netcat -l myserver 10023 

а на клиенте запускаем:
Код

echo "balablablalblaba" | netcat myserver 10023

после запуска команды на клиенте, на сервере появится на терминале нужная инфа. 
с таким же успехом можно пересылать целые файлы.
его называют "Швейцарский перочинный ножик" smile


Автор: Exaktus 10.3.2008, 12:10
Немного про организацию защиты web-сервера.
Для общего ознакомления рекоммендую прочитать статью http://www.xakep.ru//magazine/xa/097/034/1.asp. Правда на бубны с изменением версии внимания можно не обращать.

По материалам хочется добавить:

~~~~~~~~~[Mod_Security]~~~~~~~~~
Описание с www.securitylab.ru
Цитата
Mod_Security -– модуль Apache, добавляющий возможности обнаружения и предотвращения вторжения на веб сервер. Модуль подобен IDS системе, которую вы бы использовали для анализа сетевого трафика, за исключением того, что mod_security работает только на HTTP уровне. Он позволит вам анализировать действия, обычные с точки зрения HTTP протокола, но трудные для анализа классическими IDS системами.

В дополнение к обнаружению, mod_security также поддерживает предотвращение нападение. Поскольку модуль расположен между клиентом и сервером, то если он найдет, что запрос содержит злонамеренные данные, он может отклонить запрос, выполняя любое множество встроенных действий (правил).
Большая часть кода ModSecurity 2.0 полностью переписана. Из новых функций можно отметить:

    * Реализована идея накопления веса для блокировки (Transaction scoring, IP address scoring);
    * Добавлен HTML RPC API дающий возможность создания своих приложений обращающихся к mod_security для выполнения проверок и управляющих запросов;
    * Возможность использования функций (например, RBL запросы, сравнение строк и чисел) в правилах;
    * Формирования черного списка в реальном времени (Real-time Black List);
    * Добавлен сборщик мусора для базы IP адресов;
    * Увеличена производительность.
    * Средства отслеживания сессий и выявления аномалий;
    * Новые средства для защиты от DoS и "brute force" атак;
    * Возможность анализа XML контента для защиты web-серв

При правильной настройке отличная вещь. В других случаях только вредит.
Оффсайт: http://www.modsecurity.org/
По настройке стоит почитать рекомендации:
http://www.modsecurity.org/documentation/faq.html
http://www.opennet.ru/base/sec/mod_security2.txt.html (http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html)
http://www.opennet.ru/base/sec/apache_secure.txt.html
http://www.securitylab.ru/analytics/216322.php
http://www.softsel.net.ru/readarticle.php?article_id=11
~~~~~~~~~[/Mod_Security]~~~~~~~~~

Естественно это не спасет, если остальные компоненты настроены безграмотно.  
Для постижения "азов":
http://www.securitylab.ru/analytics/216289.php
http://www.securitylab.ru/analytics/216295.php
http://www.securitylab.ru/analytics/216298.php
http://www.osp.ru/win2000/2002/01/175206/
http://www.linuxrsp.ru/artic/dns-sec.html
http://www.rhd.ru/docs/manuals/enterprise/RHEL-4-Manual/security-guide/s1-server-ftp.html

http://www.nestor.minsk.by/sr/2005/03/05309.html

Больная тема - DDos:
Mod_Security(^)
http://linuxgazette.net/126/cherian.html
http://www.internet-technologies.ru/articles/article_436.html
http://wiz.su/2007/10/28/borba-s-ddos-i-dos-na-urovne-nginx/
http://www.protocols.ru/modules.php?name=News&file=article&sid=139
http://gazette.linux.ru.net/rus/articles/lnx_dos.html

Security-Guide
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/security-guide/ (http://www.rhd.ru/docs/manuals/enterprise/RHEL-4-Manual/security-guide/)
http://www.linuxtopia.org/online_books/centos_linux_guides/centos_linux_security_guide/
http://www.linuxtopia.org/online_books/linux_administrators_security_guide/
http://www.scribd.com/doc/428478/Linux-Security-Guide?ga_related_doc=1
http://www.gentoo.org/doc/en/security/index.xml
http://www.debianadmin.com/category/security/
http://www.linuxsecurity.com/docs/harden-doc/html/securing-debian-howto/
http://zmey.kahovka.net/trans/checklist.txt

Security-Blog
http://www.linuxsecurity.com/

Автор: Exaktus 12.3.2008, 11:54
Проверка целостности файлов в заданном каталоге
Код

#!/bin/bash
# file-integrity.sh: Проверка целостности файлов в заданном каталоге

E_DIR_NOMATCH=70
E_BAD_DBFILE=71

dbfile=File_record.md5
# Файл для хранения контрольных сумм.


set_up_database ()
{
  echo ""$directory"" > "$dbfile"
  # Записать название каталога в первую строку файла.
  md5sum "$directory"/* >> "$dbfile"
  # Записать контрольные суммы md5 и имена файлов.
}

check_database ()
{
  local n=0
  local filename
  local checksum

  # ------------------------------------------- #
  #  Возможно эта проверка и не нужна,
  #+ но лучше перестраховаться сейчас, чем жалеть об этом потом.

  if [ ! -r "$dbfile" ]
  then
    echo "Не могу прочитать файл с контрольными суммами!"
    exit $E_BAD_DBFILE
  fi
  # ------------------------------------------- #

  while read record[n]
  do

    directory_checked="${record[0]}"
    if [ "$directory_checked" != "$directory" ]
    then
      echo "Имя каталога не совпадает с записаным в файле!"
      # Попытка использовать файл контрольных сумм для другого каталога.
      exit $E_DIR_NOMATCH
    fi

    if [ "$n" -gt 0 ]   # Не имя каталога.
    then
      filename[n]=$( echo ${record[$n]} | awk '{ print $2 }' )
      #  md5sum записывает в обратном порядке,
      #+ сначала контрольную сумму, затем имя файла.
      checksum[n]=$( md5sum "${filename[n]}" )

      if [ "${record[n]}" = "${checksum[n]}" ]
      then
        echo "Файл ${filename[n]} не был изменен."
      else
        echo "ОШИБКА КОНТРОЛЬНОЙ СУММЫ для файла ${filename[n]}!"
        # Файл был изменен со времени последней проверки.
      fi

    fi


    let "n+=1"
  done <"$dbfile"       # Чтение контрольных сумм из файла.

}

# =================================================== #
# main ()

if [ -z  "$1" ]
then
  directory="$PWD"      #  Если каталог не задан,
else                    #+ то используется текущий каталог.
  directory="$1"
fi

clear                   # Очистка экрана.

# ------------------------------------------------------------------ #
  if [ ! -r "$dbfile" ] # Необходимо создать файл с контрольными суммами?
  then
    echo "Создание файла с контрольными суммами, \""$directory"/"$dbfile"\"."; echo
    set_up_database
  fi
# ------------------------------------------------------------------ #

check_database          # Выполнить проверку.

echo

exit 0

Схожую задачу, но более профессионально выполняет пакет http://sourceforge.net/projects/tripwire/

Автор: Imple 12.3.2008, 21:52
Лучшая политика безопасности на мой взгляд: 

1) Все, что не разрешено, то запрещено
2) Сетевая политика безопасности не может быть оспорима
3) Админ всегда прав

Мое мнение  smile

Добавлено @ 21:57
И еще, немного флейма. Основная проблема безопасности (линукса в том числе) - конечный пользователь. К примеру, можно взять несколько тем из нами горячо любимого http://forum.vingrad.ru/, которые сводятся к тому, что "админ поставил фильтр", "посоветуйте как обойти?".
Да емае, извиняюсь. Большинства вирусов, и прочей шняги, небыло бы давно, если бы не желание продвинутого end-user'а идти против правил, смысл которых он не понимает. Это, конечно, мое имхо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)