PFinger
PFinger проще Cfingerd, но тоже безопасная замена обычного fingerd. Вы можете скачать PFinger
http://www.xelia.ch/unix/pfinger.
PGP-ключи:
Пожалуйста обратите внимание, что я использую этот ключ для seifried@seifried.org и listuser@seifried.org (мой логин для списков рассылки).
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGPfreeware 6.5.2 for non-commercial use <http://www.pgp.com>
mQGiBDd4BcsRBADUoqfo4M0lgxBJAdd/S2KTM7HjepPGzfwvjfXWK9TPQkmTYEwP P8OkXMk7XRhfO0QKJAVkrXlWtBp0R+mqQ3jmZ0G4j93qskEsSU9rl62GaafU236X t1b/lSoXQwQ4In/OvkwMnVzKbMApH0tlvugAv69HxNoIl4990kcqnPq5eQCg/2oU gsYP7/UrugRtZIKufr6XizED/3G7KGI7LJmJijCHbYcgPRscTCzb8XOTknb7lZyG /WPVLeYPO9C68i49KHZ1VqjlM5LxsfUvYDSDUZLYXrjYyh8Td/0rf3eV1thItmqk GiaQA1X3j+Xv4D/gT3w43thqiWtNKM+B/ULkJ/sO1xlKKyja97V08JTjO9UCUq0K D0CsBACFF5T/W3qI05e68F7qojwls71IiDA0E/x5HZd8OKM0qvHGko7pnkl/AFW+ 4MqOU6zj5qtRqB3H0gjkLwqiVCMasPMgBGSE+etrtG9acnk2qKo1uY3cnOK3cfTv Zp1Nm0e8Io2SXwLI+vxxm/KYCyPI+zVtKk56Vl04IPIoya/VE7QlS3VydCBTZWlm cmllZCA8c2VpZnJpZWRAc2VpZnJpZWQub3JnPokASwQQEQIACwUCN3gFywQLAwIB AAoJEIb9cm7tpZo3kbkAoKsXhmRFa7SgnLZ/FqaFrHdoBQPJAJ9hJ7N8AJh02+4d RlXBW3DIqbU6lIkAnAQQAQEABgUCOIVMzwAKCRA1LHNOSlL+VZKhA/9ih5eLXf6v o22EHyMY4P8sL1cgu+ucrmF0ATl99QD/QRDeIglmbep5heyJj3bvlL6QONKoWwL5 fGS7MtlIhQwaR/4o2W9u8bxffVHGkfVQ3mMsN1FpuD1bwS3szjYJo97UbAr6ZEsN oSKVKJGgvLNjjGcwoXr862T/YKX7+GhA47QlS3VydCBTZWlmcmllZCA8bGlzdHVz ZXJAc2VpZnJpZWQub3JnPokASwQQEQIACwUCODuCqAQLAwIBAAoJEIb9cm7tpZo3 fSsAn29Kdkl8s7W+giKw1VN9b0gjwnhZAJ4lewK2Lpc202L3q+SK0U7UFPA5LbQr S3VydCBTZWlmcmllZCA8c2VpZnJpZWRAc2VjdXJpdHlwb3J0YWwuY29tPokASwQQ EQIACwUCOG3kHwQLAwIBAAoJEIb9cm7tpZo3eJMAoPPAbfACMBQjUI6UGpZvm1i2 o7v4AKC2jqafvis99yZjvosEih3tUpgF2bkCDQQ3eAXMEAgA9kJXtwh/CBdyorrW qULzBej5UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX 1KHTUPj1WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFe xwGq01uejaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8 Wy2O9vPJI8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18 hKcKctaGxAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV 6TILOwACAggAt5ZYjwTb3CviA8ECSRHXM0V6n5AjtyNiKHzay93Ac9bCL/dypY+C qRByzX31DY08h8UdfgHhs1ppZ/BfU5VHvPR/T69AkrXSyo4xAeyJ0VGY9RGzSO8P GcQQ9kehwavWc97f1aMTqYW+u8nQF2vi/kINOaEef7/JpNwNPadWmYA6zio9Gt3I 5SGquXMvEKsWJEjTsKhFAmkfWvC/XLswHyIaf7fs4wOpXhIaW4yxvMEPnvWh/NaE 3Njadml39MuPE6wLAC858SKgq8JWuk81lRpAUAktZacgfJyIiDzKNSPDgH/ikupc 012AkuFDd6SLaBGaJtGGK2bAflBc5K+bS4kARgQYEQIABgUCN3gFzAAKCRCG/XJu 7aWaN9vmAKDw9ZWdnej1n2sHUtyW7ffPFWHpgQCg8kVLzK9vEDGhyWP3PbwWaQ9/ NjE= =OJbD -----END PGP PUBLIC KEY BLOCK-----
Возможно, Вы заметили тэги FrontPage в LASG и задались вопросом: что они делали там. Хорошо, пришло время открыть мой ужасный секрет:
Изначчально я написал LASG в Word 97, затем конвертировал в HTML и поддерживаю его с использованием FrontPage.
Позор и ужас... Но я перебрал все доступные мне редакторы HTML и выяснил, что для новичка в HTML нет ничего лучше FrontPage с его полезными свойствами, типа поддержки отслеживания ссылок, проверки орфографии и прочего. Так что, мастер-копия LASG хранится на моем NT Server (который я использую как автоматизированное рабочее место) и поддерживается через FrontPage, но как это добирается для Вас?
Через TCP-IP и ряд методов передачи файлов.
Первая стадия должна переместить документ с внутренней NT-машины, что выполняется через ftp и perl-скрипт "mirror". Этот сценарий также позволяет мне легко управлять каталогами vti для FrontPage. Затем на моем Linux-сервере создается ежедневный tarball и обновляется ссылка на него. С одного из серверов SecurityPortal.com ежедневно он просто зеркалируется (локальное время 4am) через rsync (который работает действительно хорошо). Так что все серверы SecurityPortal.com захватывают свежую версию через rsync,
Причина создания такой схемы в том, что она хорошо автоматизируется (фактически на 100%) и работает без проблем (никаких сбоев за несколько месяцев).
Back
Written by Kurt Seifried |
PGP (Pretty Good Privacy)
Это одна из популярнейших программ для публичного шифрования. Она перенесена на Unix, Windows и Macintosh. К сожалению, это теперь коммерциализировано, что закончилось потерей качества для пользователей. Я лично полагаю, что любое программное обеспечение используемое, чтобы шифровать или иначе защищать данные ДОЛЖНО иметь открытые исходные коды (а как еще Вы убедитесь что это безопасно?). PGP сейчас продан Network Associates и я не могу его честно рекомендовать. PGP можно скачать с ftp://ftp.zedz.net, http://www.pgp.com и с http://www.pgpi.org.
PGP VPN
Авторы (Network Associates) теперь создали пакет ?PGP VPN?. Он поддерживает IPSec и (по сообщениям) работает с Linux FreeS/WAN. Вы можете скачать его с
http://www.nai.com/asp_set/products/tns/pgp_vpn.asp. Свободная версия PGP из NAI также поддерживает IPSEC VPN и доступна на http://www.pgpi.com.
Pgp4pine
pgp4pine PGP-shell для pine, позаоляет легко работать с PGP/GnuPG из pine. Скачать можно с
http://www.rhrk.uni-kl.de/~lamm/pgp4pine.
Phoenix Adaptive Firewall
Я только изучаю этот пакет, но уже считаю его очень хорошим. Он польностью заменяет ipchains и добавляет много умного и полезного в процесс firewall. Это коммерческий продукт (около $3000 US), и это первый firewall, который ICSA сертифицировала для Linux. Доступен на
http://www.progressive-systems.com/products/phoenix.
Pikt
Pikt чрезвычайно интересный инструмент, это фактически язык скриптов для администрирования системы. Pikt позволяет Вам делать многое: уничтожать неактивные процессы пользователя, устанавливать квоты почты, контролировать систему на предмет подозрительных действий и многое другое. Единственной проблемы с Pikt будет трудность изучения, поскольку он использует собственный язык создания скриптов, но в конечном счете я думаю этот язык того стиот, особенно если Вы имеете много систем (тем более, что Pikt сейчас работает на Solaris, Linux и FreeBSD). Pikt доступен на http://pikt.uchicago.edu/pikt.
Поддержка IPSec ядром
Чтобы использовать IPSEC, Вы нуждаетесь в поддержке IPSEC в ядре. К сожалению ни один дистрибутив American Linux не может включать в свой состав сильный crypto вне Северной Америки, так что они не включают это вообще. Международные версии Linux в настоящее время не имеют поддержки IPSEC встроенной в ядро. Вы должны получить исходный текст ядра (я рекомендую 2.2.13, от декабря 1999), и исходный текст Linux IPSEC, доступный на http://www.freeswan.org
(текущий стабильный snapshot 1.2, от декабря 1999).
Установите исходник ядра (обычно в /usr/src/linux) и затем скомпилируйте новое ядро, установите его, загрузитесь в нем и проверьте его. Удостоверитесь, что Ваша сеть работает правильно, если она не работают, IPSEC работать не будет. Теперь Вы должны загрузить последний вариант IPSEC (версия 1.0 не будет работать с ядрами 2.2.x!). Затем идите в /usr/local/src (или туда, где Вы помещаете исходные тексты для программ), распаковывайте исходник и выполняйте программу установки (make menugo обычно для конфигурации, основанной на ncurses). Это исправит файлы ядра, затем выполнит настройку ядра и сформирует инструментальные средства IPSEC и ядро.
cd /usr/local/src tar ?zvvxf /path/to/tarball/snapshot.tar.gz chown ?R root:root freeswan-snap1999Jun14b cd freeswan-snap1999Jun14b make menugo
Удостоверьтесь, что Вы сохраняете настройки ядра, даже при том, что параметры выбраны, они не были сохранены. Вам возможно также придется восстанавливать ядро, поскольку команда "make menugo" иногда выполняет "make zImage", а она обычно терпит неудачу из-за больших размеров ядеер серии 2.2.x. Сразу после комиляции в таком случае будет выдано сообщение об ошибке. Если оно есть, просто скомандуйте:
cd /usr/src/linux make bzImage cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.13-ipsec
Теперь Вы должны отредактировать lilo.conf, выполнить lilo и перезагрузиться, чтобы использовать новое ядро. lilo.conf должен выглядеть примерно так:
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=100 image=/boot/vmlinuz-2.2.13-ipsec label=linux-ipsec root=/dev/hda1 read-only image=/boot/vmlinuz-2.2.13 label=linux root=/dev/hda1 read-only
При выполнении lilo Вы должны видеть нечто вроде:
linux-ipsec * linux
Затем перезагрузитесь, и Вы должны получить ядро 2.2.13 с поддержкой IPSEC. При перезагрузке будут сообщения об ошибках. Дело в том, что по умолчанию IPSEC установлен так, чтобы использовать интерфейс eth999, который конечно не существует. Вы должны также добавить /usr/local/lib/ipsec к Вашей инструкции path, или Вы будете должны каждый раз набирать полный путь.
Поиск софта
Проблема с Linux возникает при поиске софта, не поставляемого в дистрибутиве. Поиск через Internet особыми прелестями не отличается. Но есть несколько приятных ресурсов:
http://www.rpmfind.net
http://www.linuxapps.com
http://www.freshmeat.net
POP серверы
POP (post Office Protocol) является относительно простым протоколом, который позволяет Вам получать почту с сервера и удалять ее. Основные команды: USER, PASS (используется для регистрации), LIST (для получения списка писем и их размеров), RETR (для получения почты) и DELE (для удаления почты).
Portmap
Один сервис, который часто надо закрыть, portmap. Он используется некоторыми сервисами, например, nfs, и имеет длинный список проблем. Его запрет в OpenLinux связан с некоторыми проблемами, поскольку он запускается из того же скрипта, что и inetd. Вы можете или удалить portmap (?rpm ?e portmap?) или исправить в /etc/rc.d/init.d/inet:
NAME1=inetd DAEMON1=/usr/sbin/$NAME1 NAME2=rpc.portmap DAEMON2=/usr/sbin/$NAME2
на:
NAME1=inetd DAEMON1=/usr/sbin/$NAME1 #NAME2=rpc.portmap #DAEMON2=/usr/sbin/$NAME2
и заменить:
# Bail out if neither is present [ -x $DAEMON1 ] || [ -x $DAEMON2 ] || exit 2
на:
# Bail out if neither is present [ -x $DAEMON1 ] || exit 2
еще замените:
[ -x $DAEMON1 ] && ssd -S -n $NAME1 -x $DAEMON1 -- $INETD_OPTIONS [ -x $DAEMON2 ] && ssd -S -n $NAME2 -x $DAEMON2 -- $PORTMAP_OPTIONS
на:
[ -x $DAEMON1 ] && ssd -S -n $NAME1 -x $DAEMON1 -- $INETD_OPTIONS # [ -x $DAEMON2 ] && ssd -S -n $NAME2 -x $DAEMON2 -- $PORTMAP_OPTIONS
Затем закомментируйте весь фрагмент:
NFS="" cat /etc/mtab | while read dev mpoint type foo; do [ "$type" = "nfs" ] && NFS="$mpoint $NFS" done if [ -n "$NFS" ]; then echo -n "Unmounting NFS filesystems: " POLICY=I # Ignore 'device busy' during shutdown [ "$PROBABLY" != "halting" ] && POLICY=1 # exit on 'busy' for mpoint in $NFS; do SVIrun S $POLICY "$mpoint" "!$mpoint" \ umount $mpoint done echo "." fi
Portscanner
Portscanner очень маленькая утилита с настраиваемыми уровнями вывода, что делает его удобным для использования в скриптах. Имеет открытые исходники и свободен, скачать можно с
http://www.ameth.org/~veilleux/portscan.html.
Postfix
Postfix агент передачи почты (mail transfer agent, MTA) нацеленный на защиту, быстродействие и легкость конфигурации. Единственная часть Postfix, который выполняется как root главная управляющая программа, точно названная ?master?, она вызывает несколько других программ, чтобы обработать почту к очереди (?pickup?), управлять очередью, ждать входящих подключений, доставлять отсроченную почту и так далее (?qmgr?), чтобы фактически посылать и получать почту (?smtpd?) и так далее. Каждая часть Postfix очень хорошо обдумана, и обычно делает одну или две задачи, но очень хорошо. Например, вместо модели sendmail, где поставленная в очередь почта просто выбрасывается в /var/spool/mqueue, в Postfix имеется общедоступный каталог ?maildrop?, который проверяется ?pickup?, который скармливает данные ?cleanup?, который перемещает почту (если она правильно сформатирована и так далее) в безопасный каталог очереди для фактической обработки.
Главные файлы настройки лежат в /etc/postfix, и имеется несколько файлов конфигурации, которые Вы должны иметь:
master.cf
Управляет поведением различных программ ?помощников?: они chroot'ed, максимальное число процессов, которые они могут выполнять и т.д. Вероятно самое лучшее оставить значения по умолчанию на большинстве серверов почты, если Вы не должны делать некоторую настройку для высоких загрузок или повышенной безопасности сервера.
main.cf
Этот файл близок к sendmail.cf (цель похожа, что касается формата, разница огромна). Он хорошо прокомментирован и устанавливает все главные переменные, расположения и формат различных файлов, содержащих информацию типа виртуальных адресов пользователей и связанной информации.
Имеется список переменных и расположений файлов, которые Вы будете обычно должны установить, файл /etc/postfix/main.cf часто плохо прокомментирован. Пожалуйста обратите внимание, что следующие примеры записей в main.cf не полный main.cf.
# what is the machines hostname? myhostname = mail.example.org
# what is the domain name? mydomain = example.org
# what do I label mail as ?from?? myorigin = $mydomain
# which interfaces do I run on? All of them usually. inet_interfaces = all
# a file containing a list of host names and fully qualified domains names I # receive mail for, usually they are listed like: # mydestination = localhost, $myhostname, etc # but I much prefer to keep them listed in a file. mydestination = /etc/postfix/mydestination
# map of incoming usernames. ?man 5 virtual? virtual_maps = hash:/etc/postfix/virtual
# alias mappings (like /etc/aliases in sendmail), ?man 5 aliases? alias_maps = hash:/etc/postfix/aliases
# alias database, you might have different settings. ?man 5 aliases? alias_database = hash:/etc/postfix/aliases
# where to deliver email, Mailbox format or Maildir (traditional # /var/spool/mail). home_mailbox = Maildir/
# where to keep mail, usually /var/spool/mail/ but you can easily change it mail_spool_directory = /var/spool/mail
# what command do we use to deliver email? /usr/bin/procmail is the default # but if you want to use scanmail which is the AMaViS anti-virus tie in # software simply put: mailbox_command = /usr/sbin/scanmails
# who do I relay email for, again you can list them, or keep them in # a file (one per line). relay_domains = /etc/postfix/relaydomains
# list of local networks (by default we relay mail for these hosts). mynetworks = 10.0.0.0/24, 127.0.0.0/8
# what do we display to people connecting to port 25? By default it displays # the version number which I do not. smtpd_banner = $myhostname ESMTP $mail_name
Вообще говоря, любые файлы, которые просто вносят в список один элемент на строку (подобно /etc/postfix/mydestination или /etc/postfix/relaydomains) обычно сохраняются как плоские текстовые файлы. Файлы, которые содержат отображения (то есть псевдонимы, где Вы имеете записи вроде ?root: someuser?) должны быть превращены в hashed-файлы базы данных для быстродействия (Вы можете определять тип файла как hash, dbm, и т.д.).
Подобно большинству IBM-программ, Postfix имеет очень замороченную лицензию, но обычно имеет открытые исходники и свободен. Postfix доступен на http://www.postfix.org. Двоичный пакет postfix можно скачать с:
ftp://contrib.redhat.com/contrib/libc6/i386
ftp://ftp.debian.org/pub/debian/dists/potato/main/binary-i386/mail
ftp://ftp.suse.com/pub/suse/i386/6.2/suse/n1
PPDD
PPDD позволяет создать зашифрованный раздел на диске. Это может быть настоящий раздел или loopback device (который расположен в файле, но монтируется как файловая система). Он использует довольно хороший и быстрый алгоритм. Скачать PPDD можно с
http://linux01.gwdg.de/~alatham.
PPTP (Point to Point Tunneling Protocol)
PPTP, составляющий собственность протокол, созданный Microsoft для VPN решений. До настоящего времени показал многожество дефектов. Однако, если Вы должны интегрировать Linux в PPTP среду, еще не все потеряно:
http://www.moretonbay.com/vpn/pptp.html содержит Linux реализацию PPTP.
Преобразование форматов файлов
Другой способ иметь дело с пакетами: преобразовывать их. Имеется несколько утилит, чтобы преобразовать rpm-файлы в tarballs, rpm в deb и тому подобное.
A: Книги и журналы
http://www.oreilly.com/catalog/sendmail2
Linux Network Admin Guide (NAG):
http://www.oreilly.com/catalog/linag
http://www.oreilly.com/catalog/runux2/noframes.html
http://www.oreilly.com/catalog/dns3
http://www.oreilly.com/catalog/apache2
http://www.oreilly.com/catalog/bash2
http://www.oreilly.com/catalog/fire
http://www.oreilly.com/catalog/crime
http://www.oreilly.com/catalog/csb
http://www.oreilly.com/catalog/crackdes
Essential System Administration:
http://www.oreilly.com/catalog/esa2
http://www.oreilly.com/catalog/linuxnut2
http://www.oreilly.com/catalog/nfs
http://www.oreilly.com/catalog/musenet/
http://www.oreilly.com/catalog/pgp
Practical Unix and Internet Security:
http://www.oreilly.com/catalog/puis
http://www.oreilly.com/catalog/runux2
http://www.oreilly.com/catalog/umppp/
http://www.oreilly.com/catalog/vpn2/
Red Hat/SAMS also publish several interesting books:
Maximum RPM (available as a postscript document on http://www.rpm.org)
Red Hat User's Guide (available as HTML on ftp://ftp.redhat.com)
SNMP, SNMPv2 and RMON - W. Stallings (ISBN: 0-201-63479-1)
Magazines:
Linux Journal (of course, monthly)
Sys Admin (intelligent articles, monthly)
Perl Journal (quarterly)
http://www.infosecuritymag.com
C: Прочие сведения по безопасности в Linux
Firewalling and Proxy Server HOWTO
http://metalab.unc.edu/LDP/HOWTO/Firewall-HOWTO.html
Linux IPCHAINS HOWTO
http://metalab.unc.edu/LDP/HOWTO/IPCHAINS-HOWTO.html
Linux NETFILTER HOWTO
http://netfilter.kernelnotes.org
Linux Security HOWTO
http://metalab.unc.edu/LDP/HOWTO/Security-HOWTO.html
Linux Shadow Password HOWTO
http://metalab.unc.edu/LDP/HOWTO/Shadow-Password-HOWTO.html
The Linux CIPE + Masquerading mini-HOWTO
http://metalab.unc.edu/LDP/HOWTO/mini/Cipe+Masq.html
Firewall Piercing mini-HOWTO
http://metalab.unc.edu/LDP/HOWTO/mini/Firewall-Piercing.html
Quota mini-HOWTO
http://metalab.unc.edu/LDP/HOWTO/mini/Quota.html
Secure POP via SSH mini-HOWTO
http://metalab.unc.edu/LDP/HOWTO/mini/Secure-POP+SSH.html
The VPN HOWTO (using SSH)
http://metalab.unc.edu/LDP/HOWTO/mini/VPN.html
Red Hat Knowledge Base
http://www.redhat.com/cgi-bin/support?faq
D: Интерактивная документация по безопасности
Bugtraq Archives
http://www.geek-girl.com/bugtraq
CERT Incident Reporting Guidelines
http://www.cert.org/tech_tips/incident_reporting.html
SECURITY RISK ANALYSIS AND MANAGEMENT
http://www.norman.com/local/whitepaper.htm
An Introduction to Information Security
http://www.certicom.com/ecc/wecc1.htm
Site Security Handbook
http://sunsite.cnlab-switch.ch/ftp/doc/standard/rfc/21xx/2196
Guidelines for the Secure Operation of the Internet
http://sunsite.cnlab-switch.ch/ftp/doc/standard/rfc/12xx/1281
How to Handle and Identify Network Probes
http://www.network-defense.com/papers/probes.html
Free Firewall and related tools (large)
http://sites.inka.de/sites/lina/freefire-l/index_en.html
Internet FAQ Consortium (You want FAQ?s? We got FAQ?s!)
http://www.faqs.org
An Architectural Overview of UNIX Network Security
http://www.alw.nih.gov/Security/Docs/network-security.html
The human side of computer security (an article on social engineering)
http://www.sunworld.com/sunworldonline/swol-07-1999/swol-07-security.html
IBM Redbooks
http://www.redbooks.ibm.com/
AES Algorithm Efficiency
http://www.seven77.demon.co.uk/cryptography_technology/Aes/index.htm
General security research and development
http://www.sekure.net/
Some general whitepapers and articles
http://www.enteract.com/~lspitz/pubs.html
COAST Library
http://www.cerias.purdue.edu/coast/coast-library.html
Coast hotlist (hugelist of resources)
http://www.cerias.purdue.edu/coast/hotlist
D.O.E. Sysworks
http://members.aol.com/jpeschel/index.htm
E: Основные сайты по security
SecurityPortal, has a Linux section, this document and my weekly column (it's a great site!).
http://www.securityportal.com
Open Security Solutions
http://www.opensec.net
SANS
http://www.sans.org
Security Mailing Lists
http://www.iss.net/vd/mail.html
Computer Security Information
http://www.alw.nih.gov/Security/security.html
8 Little Green Men
http://www.8lgm.org
Robert's Cryptography, PGP & Privacy Links
http://www.interlog.com/~rguerra/www
Open Security Solutions
http://www.opensec.net
Cryptome
http://cryptome.org
PacketStorm
http://packetstorm.securify.com
COAST
ftp://coast.cs.purdue.edu/pub
.rain.forest.puppy
http://www.wiretrip.net/rfp
F: Основные сайты по Linux
Linux.com
http://www.linux.com
Linux.org
http://www.linux.org
Linux Administration Made Easy (LAME)
http://www.LinuxNinja.com/linux-admin/
Back
Written by Kurt Seifried |
Приложения
Приложение A: Книги и журналы
Приложение C: Прочие сведения по безопасности в Linux
Приложение D: Интерактивная документация по безопасности
Приложение E: Основные сайты по security
Приложение F: Основные сайты по Linux
Проект Linux ACL
Проект Linux (ACL) ряд заплат и утилит, чтобы конфигурировать ACL-доступ к файловой системе. Это решение все еще немного ненадежно, поскольку хранит разрешения в файле и действует как уровень фильтрации между файлом и пользователями, что не соответствует ACL (но это начало). Вы можете получить пакет на
http://www.braysystems.com/linux/trustees.html.
ProFTPD
ProFTPD доступный по GPL ftp-сервер, который может выполняться на многих UNIX-платформах. Он поддерживает новые свойства типа виртуальных ftp, индивидуальной настройки каталогов (в каждом каталоге используется файл .ftpaccess, аналог файла .htaccess в Apache), выдыхающиеся логины и многое другое. Он также поддерживает действительно полезные свойства типа ограничения загрузок и намного более жесткие средства управления защитой, чем WU-FTPD.
Основной файл конфигурации ПроФТПДа называется /etc/proftpd.conf, он имеет Apache-стиль, который я нахожу приятным. ProFTPD может быть выполнен из inetd (и использовать TCP_WRAPPERS) или выполнен как самостоятельный сервер. Он также поддерживает файлы конфигурации каталога, чтобы ограничить доступ и т.д. ProFTPD также поддерживает виртуальные ftp (хотя в отличие от виртуального www-сервера нужен лишний IP-адрес), причем каждый сайт может быть конфигурировано по-своему (различный анонимный доступ и другие параметры). Файл proftpd.conf обычно имеет раздел глобальных параметров настройки (inetd или автономный, максимальное число процессов, от какого имени работать и тому подобное), сопровождаемый заданной по умолчанию конфигурацией плюс настройка для конкретного сайта (или набора вирьуальных сайтов).
Пример настройки сервера ProFTPD для запуска из inetd без анонимного доступа:
ServerName "ProFTPD Default Installation" ServerType inetd DefaultServer on Port 21 Umask 022 MaxInstances 30 User nobody Group nobody <Directory /*> AllowOverwrite on </Directory>
Доустим, Вы хотите управлять доступом к серверу ftp исходя из IP-адресов, имен хостов и доменов (хотя лучше полагаться только на IP). Вы могли бы достичь этого через правила firewall, но это имеет тенденцию замедлять машину (особенно, если Вы добавляете большое количество правил как обычно и бывает). Вы могли бы использовать TCP_WRAPPERS, но Вы не будете способны выборочно ограничить доступ к виртуальным и анонимным сайтам. Но всего этого можно достичь в файле proftpd.conf директивой ?<Limit LOGIN>?.
Пример ниже разрешает доступ всем машинам 10.1.*.* и машине 1.2.3.4, всем остальным доступ запрещен.
<Limit LOGIN> Order Allow,Deny Allow from 10.1., 1.2.3.4 Deny from all </Limit>
Если Вы помещаете это внутри директив ?<VirtualHost>? или ?<Anonymous>? это применяется только к соответствующему виртуальному или анонимному сайту, при помещении в директиву ?<Global>? это будет применено ко всем секциям ?< VirtualHost>? и ?<Anonymous>?, а при помещении в настройки сервера (с ?ServerName? и связанными данными) это будет вести себя подобно TCP_WRAPPERS, любая машина не из диапазона 10.1.*.*, и не 1.2.3.4 получат отказ ри соединении с портом 21, в противоположность тому, что им просто было бы отказано в соединении, если бы эти ограничения были бы в секциях ?<Global>?, ?<VirtualHost>? или ?<Anonymous>?.
Если нужен анонимный доступ, просто допишите:
<Anonymous ~ftp> User ftp Group ftp RequireValidShell off UserAlias anonymous ftp MaxClients 10 DisplayLogin welcome.msg DisplayFirstChdir .message <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>
Это назначит ?ftp? домашний каталог, как и прочим пользователям, (при нормальной настройке ?~ftp? скорее всего он будет /home/ftp) в качестве корневого каталога для анонимных пользователей, ProFTPD выполнится как пользователь ?ftp? группы ?ftp?, когда пользователь заходит анонимно (в противоположность регистрации нормального пользователя), и число анонимных входов в систему будет ограничено 10. Также будет отображен файл /home/ftp/welcome, а при переходе в любой каталог, содержащий файл .message, его содержимое также будет отображаться. Директива ?< Directory *>? охватывает /home/ftp/* и не дает заисывать что-либо в данную иерархию. Если нужен каталог incoming (для входящих файлов) просто допишите после директивы ?<Directory *>?:
<Directory incoming> <Limit WRITE> AllowAll </Limit> <Limit READ> DenyAll </Limit> </Directory>
Это позволит записывать файлы в /home/ftp/incoming/, но не читать их. ProFTPD с его богатыми возможностями требует больше времени на настройку, чем WU-FTPD, но, видимо, того стоит. Загрузить ProFTPD с документацией на английском можно с
http://www.protftpd.net.
proftpd-ldap
proftpd-ldap позволяет Вам управление паролем, используя LDAP. Доступен на
http://horde.net/~jwm/software/proftpd-ldap.
Проникновение за Firewall
Иногда защита может наделать много проблем, особенно при неправильной настройке. Например, не пустить Вас к Вашим же данным. Есть mini-HOWTO по этим вопросам:
http://www.linuxdoc.org/HOWTO/mini/Firewall-Piercing.html. Кроме того, есть дополнения по IP Masquerading и VPN, доступные на
ftp://ftp.rubyriver.com/pub/jhardin/masquerade/ip_masq_vpn.html.
Протоколирование системы
Одно свойство Linux средства syslog и klog, которые позволяют программному обеспечению генерировать сообщения для протоколов, которые затем передаются log daemon и обрабатываются (пишутся в локальный файл, пересылаются на другой сервер, посылаются программе или обрабатываются как-то еще).
Протоколы ядра
Самый низкий уровень регистрации идет на уровне ядра. Вообще говоря, пользователи не могут отключить этот тип регистрации и даже обычно не знают, что такое существует.
Проверка целостности файлов
Обычно скачав пакет Вы его ставите. Но недавно ftp.win.tue.nl был вскрыт, и пакет TCP_WRAPPERS (и не он один) был заменен трояном. Прежде чем это заметили, пакет скачали 59 раз. Так что обязательно проверяйте целостность свежескачанного пакета до его установки.
Проверка почты на вирусы
Linux нечувствительна к вирусам, но они могут доставить МНОГО проблем на Windows-клиентах.
Данная тема подробно описана в разделе email-серверах и подразделе о проверке входящей почты (очень важно при наличии windows-клиентов).
Back
Written by Kurt Seifried |
Proxy Gallery
Набор proxy, написаных для разных применений vja2@cornell.edu. Поддержижвают UDP, TCP, HTTP, Hand-off (для игры в Ultima Online) и tunneling. Доступны на
http://www.home.ctc.shadowlan.net/~vinny/projects/proxy.
Back
Written by Kurt Seifried |
Ps
Программа ps показывает статус процессов (информацию из файловой системы /proc). Наиболее используемые параметры ?ps -xau?, которые показывают практически всю информацию, которую Вы когда-либо хотели бы узнать. Пожалуйста обратите внимание: эти параметры изменяются в разных UNIX-системах, Solaris, SCO, и другие ведут себя по-другому (что невероятно раздражает). Ниже приведен типичный вывод для машины (команда ?ps ?xau?).
USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND bin 320 0.0 0.6 760 380 ? S Feb 12 0:00 portmap daemon 377 0.0 0.6 784 404 ? S Feb 12 0:00 /usr/sbin/atd named 2865 0.0 2.1 2120 1368 ? S 01:14 0:01 /usr/sbin/named -u named -g named -t /home/named nobody 346 0.0 18.6 12728 11796 ? S Feb 12 3:12 squid nobody 379 0.0 0.8 1012 544 ? S Feb 12 0:00 (dnsserver) nobody 380 0.0 0.8 1012 540 ? S Feb 12 0:00 (dnsserver) nobody 383 0.0 0.6 916 416 ? S Feb 12 0:00 (dnsserver) nobody 385 0.0 0.8 1192 568 ? S Feb 12 0:00 /usr/bin/ftpget -S 1030 nobody 392 0.0 0.3 716 240 ? S Feb 12 0:00 (unlinkd) nobody 1553 0.0 1.8 1932 1200 ? S Feb 14 0:00 httpd nobody 1703 0.0 1.8 1932 1200 ? S Feb 14 0:00 httpd root 1 0.0 0.6 776 404 ? S Feb 12 0:04 init [3] root 2 0.0 0.0 0 0 ? SW Feb 12 0:00 (kflushd) root 3 0.0 0.0 0 0 ? SW Feb 12 0:00 (kswapd) root 4 0.0 0.0 0 0 ? SW Feb 12 0:00 (md_thread) root 64 0.0 0.5 736 348 ? S Feb 12 0:00 kerneld root 357 0.0 0.6 800 432 ? S Feb 12 0:05 syslogd root 366 0.0 1.0 1056 684 ? S Feb 12 0:01 klogd root 393 0.0 0.7 852 472 ? S Feb 12 0:00 crond root 427 0.0 0.9 1272 592 ? S Feb 12 0:19 /usr/sbin/sshd root 438 0.0 1.0 1184 672 ? S Feb 12 0:00 rpc.mountd root 447 0.0 1.0 1180 644 ? S Feb 12 0:00 rpc.nfsd root 458 0.0 1.0 1072 680 ? S Feb 12 0:00 /usr/sbin/dhcpd root 489 0.0 1.7 1884 1096 ? S Feb 12 0:00 httpd root 503 0.0 0.4 724 296 2 S Feb 12 0:00 /sbin/mingetty tty2 root 505 0.0 0.3 720 228 ? S Feb 12 0:02 update (bdflush) root 541 0.0 0.4 724 296 1 S Feb 12 0:00 /sbin/mingetty tty1 root 1372 0.0 0.6 772 396 ? S Feb 13 0:00 inetd root 1473 0.0 1.5 1492 1000 ? S Feb 13 0:00 sendmail: accepting connections on port 25 root 2862 0.0 0.0 188 44 ? S 01:14 0:00 /usr/sbin/holelogd.named /home/named/dev/log root 3090 0.0 1.9 1864 1232 ? S 12:16 0:02 /usr/sbin/sshd root 3103 0.0 1.1 1448 728 p1 S 12:16 0:00 su -root 3104 0.0 1.3 1268 864 p1 S 12:16 0:00 -bash root 3136 0.0 1.9 1836 1212 ? S 12:21 0:04 /usr/sbin/sshd
Здесь интересны: portmap, named, Squid (и порожденные им процессы dnsserver, unlinkd и ftpget), httpd, syslogd, sshd, rpc.mountd, rpc.nfsd, dhcpd, inetd и sendmail (эти серверы предоставляют шлюзовые сервисы, почту и доступ к файлам по NFS). Самый простой способ понять вывод команды ps, это почитать ее man-страницу, которая детально все объясняет (многие поля понятны и так, например %CPU показывает сколько квантов времени процессора занимает процесс, SIZE сколько 4k ?страниц? памяти использует программа). Чтобы узнать что делает та или иная программа, наиболее безопасно использовать ?man <command_name>?; там почти есть вся необходимая информация о сервисе (например, по httpd). Обратите внимание, что некоторые сервисы подобные telnet, ftpd, identd и ряд других не обнаруживаются даже при том, что они включены. Это потому, что они выполнены из inetd, ?суперсервера?. Чтобы их найти, посмотрите файл /etc/inetd.conf или вывод команды ?netstat ?vat?.
Psionic HostSentry
Поскольку это программное обеспечение еще не готово для массового потребления, я упоминаю его только как часть большого проекта (проект Abacus, http://www.psionic.com/abacus). В основном Psionic HostSentry формируетпрофили доступа пользователей и затем сравнивает их с текущими действиями, чтобы пометить любое подозрительное действие. Psionic HostSentry доступен на
http://www.psionic.com/abacus/hostsentry.
Psionic Logcheck
Psionic Logcheck регулярно (можно из crontab) изучает файл messages (и другие) и посылает по e-mail отчет о всем подозрительном. Он легко настраивается с помощью ?классов? событий: которые нужно игнорировать, активные попытки проникновения, просто плохие действия. Psionic Logcheck доступен на
http://www.psionic.com/abacus/logcheck.
Psionic PortSentry
Третий компонент набора Abacus, обнаруживает и регистрирует сканирование портов, включая тайные сканирования, может быть конфигурирован, чтобы блокировать машину с которой пришли запросы. Поскольку этот инструмент находится в состоянии тестирования, пока лучше воздержаться от его применения, но со временем... Psionic PortSentry доступен на
http://www.psionic.com/abacus/portsentry.
Putty
putty Windows SSH-клиент, очень удобный, свободный и очень маленький (184k всего). Скачать можно с
http://www.chiark.greenend.org.uk/~sgtatham/putty.html.
PyCA
pyCA совокупность программных скриптов, написанных на python для установки авторизации сертификатов. Загрузить можно с:
http://sites.inka.de/ms/python/pyca/.
Back
Written by Kurt Seifried |
QMAIL
Qmail (аналог postfix) был создан как прямой ответ для устранения дефектов Sendmail. Qmail распространяется по GPL, но только в исходниках, так что Вам придется их компилировать. Вы должны также получить разрешение авторов прежде, чем Вы сделаете и распространите любые изменения (ничего хорошего, но таковы жизнь и авторы...). Очень небольшой код в Qmail выполняется как root, , и это очень модульно сравнено с Sendmail (который является довольно монолитным куском кода). Вы можете загрузить исходники с http://www.qmail.org.
Qpopper
Qpopper freeware-продукт Qualcomm (разработчика пакета Eudora). Я его не рекомендую (исходники можно скачать с
ftp://ftp.qualcomm.com/eudora/servers/unix/popper/). Доступен на
http://eudora.qualcomm.com/freeware/qpop.html.
Queso
Queso не сканер, но сообщит Вам с довольно хорошей степенью точности под какой ОС работает удаленный компьютер. При использовании ряда допустимых и ошибочных пакетов tcp он сравнивает получаемые ответы со списком известных ответов для разных ОС. Скачать Queso можно с
http://www.apostols.org/projectz/queso.
Quickstart
Quickstart больше нацелен на изготовление образа системы так, чтобы когда жесткий диск накроется, Вы могли бы быстро заполнить пустой диск и получить рабочую систему. Это может также использоваться, чтобы размножить одну систему на несколько машин. Программа получила неплохой отзыв в Linux Journal (Nov 1998, page 50). Получить можно с
http://www.estinc.com/qsdr.html.
Quota
Quota является системой для ограничения использования диска пользователями. Она встроена в большинство дистрибутивов. Справка доступна на man-странице командой ?man quota?.
R-сервисы
R-сервисы (rsh, rcp, rexec и подобные) небезопасны. Защитить их трудно, так что лучше не используйте их! Их собственная защита основана на hostname/IP-адресе машины, с которой устанавливается соединение, что легко можно подделать. По умолчанию они не все заблокированы, пожалуйста выключите их немедленно. Поправьте /etc/inetd.conf, найдите в нем rexec, rsh и тому подобное и закомментируйте эти строки, после чего перезапустите inetd: "killall -1 inetd".
Если Вы абсолютно должны использовать эти сервисы, используйте TCP_WRAPPERS, это немного поможет. Также надо использовать firewall, так как от правильно поставленной атаки TCP_WRAPPERS защитит далеко не всегда. Доступ к различным R-сервисам управляется через файлы rhosts, обычно каждый пользователь имеет собственный файл rhosts, к сожалению, это восприимчиво к спуфингу пакетов. Проблема с r-сервисами в том, что есть маленькая дырка в защите системы, которая позволяет править файлы и редактировать данные о пользователях (как root) .rhost-файлы делают систему очень доступной.
Если Вы нуждаетесь в удаленных инструментальных средствах администрирования, которые являются легкими в использовании и подобными rsh, я рекомендую NSH (Network SHell) или SSH: они поддерживают шифрование и намного более высокий уровень защиты. Альтернатива: использование программного обеспечения VPN уменьшит часть риска, поскольку Вы можете блокировать пакеты спуфинга (IPSec-авторизация отправителя и источника, что является в некоторых случаях более важным, чем шифрование данных).
Back
Written by Kurt Seifried |
Radius
Radius часто используемый протокол, чтобы опознать заходящих по модему пользователей, и другие типы сетевого доступа.
RearSite
RearSite представляет собой cgi-программу для предоставления пользователям доступа к их каталогам через обычный web-браузер. Скачать можно с http://listes.cru.fr/rs/fd.
Red Hat Linux
http://developer.redhat.com/bugzilla
http://www.redhat.com/support
Support: support@redhat.com
В течение установки Red Hat
В течение установки Red Hat 6.0 позволит Вам установить теневые пароли и поддержку MD5-паролей. Обновите ядро Red Hat 6.0, поскольку оно уязвимо для атак denial of service (на основе icmp).
Back
Written by Kurt Seifried |
Red Hat Secure Server
Red Hat Secure Server основан на Apache. По существу, это Apache с RSA cryptographic модулями (которые являются тем, за что Вы платите по существу) и можете также обслуживать стандартные (не cryptographic) http запросы. Из-за бюрократии, он продается только в США и Канаде, но реально сильная криптография давно используется всеми и везде. Red Hat Secure Server стоит $100 US и Вы получает скидку в $25 на Thawte-сертификат сайта (в результате такой сертификат будет стоить еще $100 US). Купить Red Hat Secure Server можно на
http://store.redhat.com/commerce.
Решения для VPN
Имеется ряд VPN решений для Linux. Очень советую при возможности использовать IPSec, поскольку он представляет собой прообраз стандарта для if VPN в Internet, и будет включен в IPv6. С другой стороны, если Вы защищены firewall, и Вам нужен туннель, пользуйтесь SSH, поскольку из-за изменения заголовков пакетов IPSec обычно проваливается.
Резервирование
Обзор
Некоммерческие программы резервирования для Linux
Tar и Gzip
rsync
Amanda
afbackup
Burt
Коммерческие программы резервирования для Linux
BRU
Quickstart
Backup Professional
CTAR
CTAR:NET
PC ParaChute
Arkeia
Legato Networker
Perfect Backup
Носители для резервных копий
Rhlupdate
Rhlupdate также соединяется с ftp-сайтом и захватывает любые необходимые модификации, те же самые проблемы, что и в предыдущем случае, имеются и с ним. Также требуется, чтобы Вы установили пакет libnet Net::FTP для Perl. Скачать можно с
ftp://missinglink.darkorb.net/pub/rhlupdate.
Routed
routed один из стандартных пакетов маршрутизации для Linux. Он поддерживает RIP (самый старый протокола маршрутизации, все еще используется). RIP очень прост, роутеры просто передают таблицы маршрутизации соседним маршрутизаторам, создавая в результате (в теории) полную таблицу маршрутизации, которая содержит записи для каждого адресата в Internet. Этот метод опасен и очень неэффективен вне маленьких безопасных сетей. Вы можете использовать firewall для портов 520 и 521, которые использует RIP для передачи данных, но атакующие все еще могут применить спуффинг маршрутов.