Подробности
Linux неизменно стои в челото на списъците на най-често използваните сървъри за Интернет, независимо дали става въпрос за уеб сървъри, анонимни FTP-сървъри или общи услуги като DNS и прехвърляне на поща. Сигурността стои на първо място за всеки, който предоставя такива услуги. Не е необичайно един сървър да бъде проверяван за уязвимости от потенциални нападатели десетки пъти всеки ден и дори понякога да бъде подлаган на сериозни атаки. Очевидно единственият начин да направите даден компютър напълно сигурен е да го изключите от мрежата и от захранването, да съсипете непоправимо твърдия диск и паметта, и да оставите машината да се покрие с прах. Тази книга не съдържа подобна информация. Но в нея можете да намерите множество практически съвети по следните въпроси:
· Как да обмисляте заплахите, рисковете и адекватни на тях противодействия
· Как да защитавате публично достъпни системи чрез удачно проектиране на мрежи
· Как да подсигурите "прясна" инсталация на Linux и как да я обновявате с кръпки на новооткритите уязвимости с минимални усилия
· Как да използвате ефективно механизмите за сигурност на някои особено популярни сървърни приложения
· Как да използвате някои изключително мощни приложения за подобряване на сигурността като Nessus и Snort.
Книгата включва и:
· Прецизни инструкции за подсигуряване на най-често използваните услуги като HTTP, електронна поща, DNS и прехвърляне на файлове
· Спомагателни дейности като подсигуряване на Linux, създаване на криптирани тунели чрез SSH и сертификати, използване на iptables за филтриране на пакети
· Описание на инсталирането и използването на инструменти за засичане на нарушения
· Подробно описание кои демони и приложения са най-подходящи за дадена задача
Накратко, тази книга е посветена на "бастионизиране" на сървъри, работещи под Linux. Терминът бастион може да бъде използван с няколко различни значения, в единото от които той е синоним на защитна стена. (Това не е книга за изграждане на защитни стени под Linux, макар че много от разгледаните тук техники могат и трябва да се реализират и на защитните стени.) Дефиницията на бастион, която се използва тук, е: внимателно конфигурирана, непрекъснато наблюдавана система, която предоставя ограничени, но публично достъпни услуги на недоверени мрежи и потребители. Тъй като най-голямата, най-важната и най-малко доверената мрежа е Интернет, в тази книга ще се съсредоточа върху изграждането на бастиони под Linux, които да могат да бъдат използвани в Интернет.
Има няколко причини да бъде избрана този привидно тясна област. Първо, Linux се доказа като успешна платформа за сървъри: дори в организации, разчитащи предимно на комерсиални операционни системи като Microsoft Windows, Linux често се използва за "инфраструктурни" роли като шлюзове за SMTP и DNS-сървъри поради своята надеждност, ниска цена и превъзходно качество на своите сървърни приложения.
Второ, Linux и TCP/IP, официалният език на Интернет, вървят ръка за ръка. Всичко, което може да бъде направено на една работеща под TCP/IP мрежа, може да бъде направено с Linux и то изключително добре с много малко изключения. Съществуват много различни видове приложения за TCP/IP, от които мога да разгледам в дълбочина само едно малко подмножество. Сървърните приложения за Интернет съставят едно важно подмножество.
Трето, това е областта, в която авторът работи. От средата на деветдесетте години досега неговата кариера е съсредоточена върху мрежовата и системната сигурност: доста време е работил върху изграждане на системи под Unix и Linux, които да бъдат използвани в Интернет. Надяваме се, че като прочетете тази книга, ще можете да се възползвате от неговия богат опит.
Друга причина, поради която е написана тази книга, е свързана с факта, че авторът пише ежемесечната колонка за сигурност "Параноичният пингвин" в Linux Journal Magazine. Всички негови материали до този момент имат нещо общо: всеки от тях беше посветен на различен аспект от изграждането на бастиони с Linux.
...............................................
На кого може да се наложи да подсигурява системи под Linux? Общо взето на всеки, който разполага с поне една такава система, свързана към мрежа. Поради тази причина настоящата книга може да бъде полезна както на адмнистратор-любител с личен уеб-сървър, така и на консултант, проверяващ производствените системи на големи компании. Очевидно залозите и мащабите при тези два типа потребители се различават значително, но проблемите, рисковете и заплахите, които трябва да бъдат разгледани, са общи. Уязвимостта с препълване на буфера, която може да доведе до "превземане" на акаунта root на сървър, използващ "версия X.Y.Z на еди-кой си демон", е заплаха както за мрежа от 1000 машини с 50 сървъра на този демон, така и за мрежа от 5 компютъра с един сървър.
Ето защо тази книга е предназначена за всички системни администратори на Linux – независимо дали администрират 1 или 100 мрежови сървъра и дали използват Linux за удоволствие или за пари.
Тази книга покрива общата сигурност на системите под Linux, сигурността на граничните (достъпни от Интернет) мрежи и сигурността на сървърните приложения. Разгледани са специфични процедури, дадени са съвети за отделни техники и софтуерни инструменти и е обърнато подробно внимание на разликите между дистрибуциите Red Hat 7, SuSE 7 и Debian 2.2 GNU/Linux.
За да можете да разберете процедурите и примерите в книгата е необходимо да познавате основната конфигурация и работата на вашата система под Linux. Това не означава, че трябва да сте стар ветеран на Unix, използващ Linux от излизането на версия 0.9 на ядрото, който не може да си представи, че би могъл да изведе съдържанието на дадена директория, без да го прекара през канал към скриптове на awk или sed. Но би трябвало да имате някакви знания за следното:
· Основно използване на програмата за управление на пакети на вашата дистрибуция (rpm, dselect и т.н.)
· Йерархии на системните директории на Linux (например да знаете какви са разликите между /etc и /var)
· Как да работите с файлове, директории, пакети, архиви и потребителски акаунти от командния ред (т.е. без да разчитате на X)
· Как да компилирате и инсталирате софтуерни пакети от изходен код
· Основно инсталиране и настройване на вашата операционна система и хардуер
Може би забелязахте, че в този списък отсъства изискване за опит със специфични приложения: използването на повечето от разгледаните тук приложения за сигурност (като OpenSSH, Swatch и Tripwire) е описано от самото начало.
Предговор
1.Моделиране на заплахи и управление на риска
Компоненти на риска
Прост анализ на риска: Очаквани Годишни Загуби
Алтернативен метод: дървета на атака
Защити
Заключение
Източници
2. Проектиране на гранични мрежи
Малко терминология
Типове архитектури на защитни стени и ДМЗ
Какво трябва да се постави в ДМЗ
Разпределяне на ресурсите в ДМЗ
Защитната стена
Подсигуряване на Linux
3. Принципи за подсигуряване на ОС
Автоматизирано подсигуряване с Bastille Linux
Какво не е наред в тази картина?
4. Сигурно отдалечено администриране
История и начин на употреба на Secure Shell
SSH за начинаещи и напреднали
Други полезни инструменти
Stunnel и OpenSSL: концепции
5. Тунели
Stunnel и OpenSSL: концепции
6. Подсигуряване на DNS
Основи на DNS
Принципи на сигурността на DNS
Избиране на софтуерен пакет за DNS
Подсигуряване на BIND
dbjdns
Източници
7. Подсигуряване на електронна поща
Предистория: сигурност на MTA и SMTP
Използване на команди на SMTP за откриване на грешки и тестване на пощенски сървъри
Подсигуряване на MTA
Sendmail
Postfix
Източници
8. Подсигуряване на уеб услуги
Сигурност на уеб-сървъри
Компилиране: инсталиране на Apache
Настройване: конфигуриране на Apache
Изпълнение: подсигуряване на CGI-скриптове
Специални теми
Други сървъри и уеб сигурност
9. Сигурни прехвърляния на файлове
Сигурност на FTP
Други методи за споделяне на файлове
Източници
10. Настройване и наблюдение на системни дневници
syslog
Syslog-ng
Тестване на системното документиране чрез logger
Управление на системните файлове-дневници
Използване на Swatch за автоматично наблюдение на дневници
Източници
11. Прости техники за откриване на нарушения
Принципи на системите за засичане на нарушения
Използване на Tripwire
Други системи за проверка на цялостта
Snort
Източници
Приложение: Два пълни стартиращи скрипта за iptables
Индекс
1.Моделиране на заплахи и управление на риска
Компоненти на риска
Прост анализ на риска: Очаквани Годишни Загуби
Алтернативен метод: дървета на атака
Защити
Заключение
Източници
2. Проектиране на гранични мрежи
Малко терминология
Типове архитектури на защитни стени и ДМЗ
Какво трябва да се постави в ДМЗ
Разпределяне на ресурсите в ДМЗ
Защитната стена
Подсигуряване на Linux
3. Принципи за подсигуряване на ОС
Автоматизирано подсигуряване с Bastille Linux
Какво не е наред в тази картина?
4. Сигурно отдалечено администриране
История и начин на употреба на Secure Shell
SSH за начинаещи и напреднали
Други полезни инструменти
Stunnel и OpenSSL: концепции
5. Тунели
Stunnel и OpenSSL: концепции
6. Подсигуряване на DNS
Основи на DNS
Принципи на сигурността на DNS
Избиране на софтуерен пакет за DNS
Подсигуряване на BIND
dbjdns
Източници
7. Подсигуряване на електронна поща
Предистория: сигурност на MTA и SMTP
Използване на команди на SMTP за откриване на грешки и тестване на пощенски сървъри
Подсигуряване на MTA
Sendmail
Postfix
Източници
8. Подсигуряване на уеб услуги
Сигурност на уеб-сървъри
Компилиране: инсталиране на Apache
Настройване: конфигуриране на Apache
Изпълнение: подсигуряване на CGI-скриптове
Специални теми
Други сървъри и уеб сигурност
9. Сигурни прехвърляния на файлове
Сигурност на FTP
Други методи за споделяне на файлове
Източници
10. Настройване и наблюдение на системни дневници
syslog
Syslog-ng
Тестване на системното документиране чрез logger
Управление на системните файлове-дневници
Използване на Swatch за автоматично наблюдение на дневници
Източници
11. Прости техники за откриване на нарушения
Принципи на системите за засичане на нарушения
Използване на Tripwire
Други системи за проверка на цялостта
Snort
Източници
Приложение: Два пълни стартиращи скрипта за iptables
Индекс
Майкъл (Мик) Д. Бауер е консултант по сигурност на мрежи и системи под Unix, работещ за Upstream Solutions Inc в Минеаполис, Минесота. Той също така изпълнява длъжността Редактор по сигурността за Linux Journal Magazine и е автор на месечната колона за сигурност "Paranoid Penguin". Областите, в които Мик работи, включват сигурност на Linux, обща сигурност на Unix, мрежова сигурност и разработване на политики за сигурност и програми за наблюдение.