Михаил Фленов СанктПетербург бхвпетербург 2010 удк 681 06 ббк 32. 973. 26018. 2 Ф69
Скачать 3.69 Mb.
|
Глава 6. В стиле Samba ................................................................................................. 219 6.1. Конфигурирование Samba ........................................................................................ 220 6.1.1. Основные настройки .......................................................................................... 223 6.1.2. Безопасность ....................................................................................................... 224 6.1.3. Сеть ...................................................................................................................... 226 6.1.4. Замена сервера Windows .................................................................................... 227 6.1.5. Поддержка WINS и DNS ................................................................................... 227 6.1.6. Отображение файлов .......................................................................................... 228 6.2. Описание объектов .................................................................................................... 228 6.2.1. Пора домой ......................................................................................................... 228 6.2.2. Доменный вход ................................................................................................... 229 6.2.3. Распечатка ........................................................................................................... 230 6.2.4. Общий доступ ..................................................................................................... 231 6.2.5. Личные директории ............................................................................................ 231 6.2.6. CD-ROM .............................................................................................................. 232 6.3. Управление пользователями .................................................................................... 233 6.4. Использование Samba ............................................................................................... 235 6.5. Развитие Samba .......................................................................................................... 236 Глава 7. WEB-cервер ..................................................................................................... 239 7.1. Основные настройки ................................................................................................. 240 7.2. Модули ....................................................................................................................... 243 7.3. Права доступа ............................................................................................................ 244 7.4. Создание виртуальных WEB-серверов .................................................................... 250 Оглавление VII 7.5. Замечания по безопасности ...................................................................................... 251 7.5.1. Файлы .htaccess ................................................................................................... 252 7.5.2. Файлы паролей ................................................................................................... 253 7.5.3. Проблемы авторизации ...................................................................................... 255 7.5.4. Обработка на сервере ......................................................................................... 255 7.6. Проще, удобнее быстрее ........................................................................................... 256 7.7. Безопасность сценариев ............................................................................................ 258 7.7.1. Основы безопасности ......................................................................................... 259 7.7.2. mod_security ........................................................................................................ 261 7.7.3. Секреты и советы ............................................................................................... 263 7.8. Индексация WEB-страниц ........................................................................................ 264 7.9. Безопасность подключения ...................................................................................... 267 Глава 8. Электронная почта ........................................................................................ 271 8.1. Настройка sendmail ................................................................................................... 273 8.2. Работа почты .............................................................................................................. 276 8.2.1. Безопасность сообщений ................................................................................... 279 8.3. Полезные команды .................................................................................................... 280 8.4. Безопасность sendmail ............................................................................................... 281 8.4.1. Баннер-болтун ..................................................................................................... 281 8.4.2. Только отправка почты ...................................................................................... 281 8.4.3. Права доступа ..................................................................................................... 282 8.4.4. Лишние команды ................................................................................................ 282 8.4.5. Выполнение внешних команд ........................................................................... 283 8.4.6. Доверенные пользователи ................................................................................. 283 8.4.7. Отказ от обслуживания ...................................................................................... 284 8.5. Почтовая бомбардировка .......................................................................................... 284 8.6. Спам............................................................................................................................ 285 8.6.1. Блокировка приема спама .................................................................................. 286 8.6.2. Блокировка пересылки спама ............................................................................ 287 8.7. Postfix ......................................................................................................................... 289 8.7.1. Псевдонимы ........................................................................................................ 290 8.7.2. Ретрансляция ...................................................................................................... 291 Глава 9. Шлюз в Интернет ........................................................................................... 293 9.1. Настройка шлюза ...................................................................................................... 293 9.2. Работа прокси-сервера .............................................................................................. 294 9.3. squid ............................................................................................................................ 299 9.3.1. Директивы настройки HTTP ............................................................................. 299 9.3.2. Директивы настройки FTP ................................................................................ 301 9.3.3. Настройка кэша .................................................................................................. 301 9.3.4. Журналы .............................................................................................................. 304 9.3.5. Разделение кэша ................................................................................................. 305 9.3.6. Дополнительные директивы .............................................................................. 306 Оглавление VIII 9.4. Права доступа к squid ................................................................................................ 307 9.4.1. Список контроля доступа .................................................................................. 307 9.4.2. Определение прав ............................................................................................... 309 9.4.3. Аутентификация ................................................................................................. 310 9.5. Замечания по работе squid ........................................................................................ 311 9.5.1. Безопасность сервиса ......................................................................................... 311 9.5.2. Ускорение сайта ................................................................................................. 312 9.5.3. Маленький секрет User Agent ............................................................................ 312 9.5.4. Защита сети ......................................................................................................... 313 9.5.5. Борьба с баннерами и всплывающими окнами ................................................ 313 9.5.6. Подмена баннера ................................................................................................ 315 9.5.7. Борьба с запрещенными сайтами ...................................................................... 319 9.5.8. Ограничение канала ........................................................................................... 319 9.6. Кэширование браузером ........................................................................................... 323 9.7. squidGuard .................................................................................................................. 325 9.7.1. Установка ............................................................................................................ 325 9.7.2. Настройка ............................................................................................................ 326 Глава 10. Передача файлов .......................................................................................... 331 10.1. Работа протокола FTP ............................................................................................. 332 10.1.1. Команды протокола FTP .................................................................................. 333 10.1.2. Сообщения сервера .......................................................................................... 336 10.1.3. Передача файлов .............................................................................................. 338 10.1.4. Режим канала данных ...................................................................................... 340 10.2. ProFTPd .................................................................................................................... 340 10.3. Резюме ...................................................................................................................... 343 Глава 11. DNS-сервер ..................................................................................................... 345 11.1. Введение в DNS ....................................................................................................... 346 11.2. Локальный файл hosts ............................................................................................. 347 11.3. Внешние DNS-серверы ........................................................................................... 349 11.4. Настройка DNS-сервиса ......................................................................................... 349 11.5. Файлы описания зон................................................................................................ 352 11.6. Обратная зона .......................................................................................................... 354 11.7. Безопасность DNS ................................................................................................... 355 Глава 12. Мониторинг системы .................................................................................. 359 12.1. Автоматизированная проверка безопасности ....................................................... 360 12.2. Закрываем SUID- и SGID-двери ............................................................................ 363 12.3. Проверка конфигурации ......................................................................................... 364 12.3.1. lsat ...................................................................................................................... 365 12.3.2. bastille ................................................................................................................ 368 12.4. Выявление атак ........................................................................................................ 368 12.4.1. Klaxon ................................................................................................................ 369 12.4.2. PortSentry ........................................................................................................... 370 12.4.3. LIDS ................................................................................................................... 373 Оглавление IX 12.5. Журналирование ...................................................................................................... 373 12.5.1. Основные команды........................................................................................... 374 12.5.2. Системные текстовые журналы ...................................................................... 377 12.5.3. Журнал FTP-сервера ........................................................................................ 379 12.5.4. Журнал прокси-сервера squid .......................................................................... 381 12.5.5. Журнал WEB-сервера ...................................................................................... 382 12.5.6. Кто пишет? ........................................................................................................ 382 12.5.7. logrotate ............................................................................................................. 388 12.5.8. Пользовательские журналы ............................................................................. 391 12.5.9. Обратите внимание .......................................................................................... 392 12.6. Работа с журналами ................................................................................................ 394 12.6.1. tail ...................................................................................................................... 395 12.6.2. swatch ................................................................................................................. 396 12.6.3. Logsurfer ............................................................................................................ 396 12.6.4. Logcheck/LogSentry .......................................................................................... 397 12.7. Безопасность журналов ........................................................................................... 397 Глава 13. Резервное копирование и восстановление .............................................. 401 13.1. Основы резервного копирования ........................................................................... 401 13.2. Доступность на все 100% ....................................................................................... 403 13.3. Хранение резервных копий .................................................................................... 405 13.4. Политика резервирования ...................................................................................... 407 13.4.1. Редко, но метко ................................................................................................. 408 13.4.2. Зачастили .......................................................................................................... 409 13.4.3. Часто, но не все ................................................................................................ 409 13.4.4. Периодично ....................................................................................................... 410 13.4.5. Полная копия .................................................................................................... 410 13.4.6. Носители ........................................................................................................... 411 13.5. Резервирование в Linux .......................................................................................... 411 13.5.1. Копирование ..................................................................................................... 412 13.5.2. tar ....................................................................................................................... 412 13.5.3. gzip ..................................................................................................................... 414 13.5.4. dump ................................................................................................................... 415 13.6. Защита резервных копий ........................................................................................ 417 Глава 14. Советы хакера............................................................................................... 419 14.1. Пароли ...................................................................................................................... 419 14.2. rootkit ........................................................................................................................ 422 14.3. backdoor .................................................................................................................... 426 14.4. Небезопасный NFS .................................................................................................. 429 14.5. Определение взлома ................................................................................................ 431 4.5.1. Осведомлен, значит защищен ........................................................................... 431 4.5.2. Ловля на живца ................................................................................................... 433 14.6. Тюнинг ОС Linux .................................................................................................... 435 14.6.1. Параметры ядра ................................................................................................ 436 Оглавление X 14.6.2. Тюнинг HDD ..................................................................................................... 439 14.6.3. Автомонтирование ........................................................................................... 441 14.7. Короткие советы ...................................................................................................... 443 14.7.1. Дефрагментация пакетов ................................................................................. 443 14.7.2. Маршрутизация от источника ......................................................................... 444 14.7.3. SNMP ................................................................................................................. 444 14.7.4. Полный путь ..................................................................................................... 445 14.7.5. Доверенные хосты ............................................................................................ 446 14.7.6. Защита паролей................................................................................................. 446 14.7.7. Перенаправление сервисов .............................................................................. 447 14.8. Обнаружен взлом .................................................................................................... 448 Заключение ...................................................................................................................... 451 Приложение 1. Команды протокола FTP .................................................................. 419 Приложение 2. Полезные программы ........................................................................ 456 Приложение 3. Интернет-ресурсы .............................................................................. 458 Приложение 4. Работа в командной строке .............................................................. 459 Псевдонимы ...................................................................................................................... 459 Перенаправление .............................................................................................................. 460 Запуск в фоне .................................................................................................................... 461 Последовательность команд ............................................................................................ 461 Приложение 5. Описание компакт-диска .................................................................. 463 Список литературы ....................................................................................................... 464 Предметный указатель ................................................................................................. 465 Предисловие Эта книга посвящена рассмотрению одной из самых популярных операцион- ных систем (ОС), устанавливаемых на серверы, — ОС Linux. Для домашнего использования эта система пока еще не получила такой же популярности, как среди профессиональных администраторов, но в последнее время наметились предпосылки для захвата и этого рынка. ОС Linux становится все проще, удобнее и красивее. Единственное, чего не хватает этой системе (на мой взгляд) — такого же количества игр, как для платформы Windows. Установка ОС Linux становится проще, а графический интерфейс и удобство работы в некоторых случаях не уступает самой распространенной в среде малого бизнеса ОС Windows. Есть еще некоторые шероховатости, которые не позволяют ОС Linux получить широкое распространение среди домашних пользователей, но мы только рады этому. Конкуренция заставляет компании развиваться и улучшать свои продукты, и это развитие заметно даже без би- нокля. Эта книга будет полезна администраторам Linux и тем пользователям, кото- рые хотят познакомиться с этой системой поближе. Рассматриваемые вопро- сы настройки и безопасности пригодятся специалистам по безопасности сетей, использующих различные ОС, потому что значительная часть приво- димой информации не привязана к определенной системе, а теория защиты различных систем похожа. Так как некоторые примеры из этой книги могут быть использованы не толь- ко для обороны, но и для нападения, я хотел бы предостеречь юных взлом- щиков. Здоровое любопытство — это хорошо, но помните, что правоохрани- тельные органы не спят и всегда добиваются своего. Если один раз вам повезло со взломом, и никто не обратил на это внимания, то в следующий раз вы можете оказаться в руках правосудия. Часть книги написана с точки зрения хакера и демонстрирует, как можно проникнуть в систему. В надежде на то, что эту информацию не будут Предисловие 2 использовать для взлома серверов, я старался сделать упор именно на защиту и некоторые вещи оставлял за пределами изложения или просто не договари- вал, чтобы не появилось соблазна воспользоваться методами хакеров и на- рушить закон. Но, несмотря на то, что книга может послужить отправной точкой для хакера, я надеюсь, что этого не произойдет. Помните о законно- сти ваших действий. Я интересуюсь взломом и постоянно изучаю новые методы, но только пото- му, что я хочу строить безопасные системы, и безопасность меня интересует намного больше. Любой объект может быть рассмотрен с разных точек зре- ния. Простой пример из жизни: нож, являясь столовым прибором, при опре- деленных обстоятельствах становится орудием убийства или средством са- мообороны. Точно так же и методы хакеров, которые будут рассматриваться в этой книге, могут быть восприняты как советы для повседневного ухода за ОС и способы защиты от проникновения или же как средства взлома систе- мы. Я надеюсь, что вы не будете использовать полученные знания в разру- шительных целях. Это вас не украсит и не добавит ума. Зачем вам нужна "черная" популярность взломщика? Не лучше ли посвятить себя более полез- ным и добрым вещам? Несмотря на явное стремление Linux поселиться в домашних компьютерах, настройка этой ОС пока еще слишком сложна. Для того чтобы правильно это сделать, нужно знать множество параметров, которые большинству пользо- вателей не нужны. Если же просто закрыть глаза и оставить все значения по умолчанию, то об истинной безопасности Linux не может быть и речи. Ни одна ОС не может работать надежно и с максимальной защитой при настрой- ках по умолчанию. Дело в том, что производитель не может заранее знать, что именно нам понадобится, и делает все возможное, чтобы программа ра- ботала на любой системе, а для этого приходится включать много дополни- тельных возможностей, что делает систему избыточной. В последнее время разработчики дистрибутивов и других серверных программ стали макси- мально урезать установки по умолчанию, то есть разрешать только базовые возможности, а все сетевые сервисы, которые могут позволить хакеру про- никнуть на компьютер, отключать. При этом чаще всего производитель пре- доставляет нам простое и удобное средство для быстрого включения и кон- фигурирования нужного сервиса. Так уж повелось, что администраторы Linux должны иметь больше опыта и знаний, чем специалисты Windows, и это связано как раз со сложностями настройки. В этой книге я постарался максимально доступно рассказать вам про ОС Linux. Почему книга называется "Linux глазами хакера", и что это за глаза? Этот вопрос интересует многих моих читателей. Когда мы берем в руки какую- Предисловие 3 нибудь вещь, то надеемся, что ее внешний вид соответствует внутреннему содержанию. В данном случае вопрос в том, какая информация будет отве- чать этому названию? Для ответа на этот вопрос необходимо четко понимать, кто такой хакер, и что он видит в операционной системе. Когда меня спрашивают, что я подразумеваю под словом "хакер", я привожу простейший пример: если как администратор вы установили и заставили рабо- тать ОС, и вам удалось настроить ее на максимальную производительность и безопасность, то вы — хакер. Умения хакера позволяют создавать что-либо, превосходящее свои аналоги (то есть более быстрое, удобное и безопасное). Именно такой является сама ОС Linux, созданная хакерами со всего мира. Данная книга рассматривает ОС, начиная с самых основ и заканчивая сложны- ми манипуляциями с системой. Весь излагаемый материал представлен про- стым и доступным каждому языком. Благодаря этому вам не понадобится до- полнительная литература для изучения ОС Linux. Всю информацию можно будет получить из одних рук. Для более глубокого изучения вопроса вам может потребоваться только хорошее знание английского языка, которое позволяет читать документацию или файлы HOWTO, поставляющиеся с системой Linux. Главное отличие этой книги от многих учебников по ОС Linux в том, что о безопасности и производительности мы будем говорить не в отдельных за- ключительных главах, что является большой ошибкой, а все время. Когда человек уже приобрел навыки неэффективной работы с системой, то пере- учиваться сложно. Именно поэтому мы будем разбирать последовательно (от азов до сложных вопросов) все аспекты каждой рассматриваемой темы, ак- куратно раскладывая полученные знания "по полочкам". Описание утилит для администрирования Linux всегда можно найти в Ин- тернете или в документации на ОС, а вот информацию по эффективному их использованию найти сложнее, а все имеющиеся сведения являются фраг- ментарными и их тяжело сводить в одно целое. А ведь безопасность не лю- бит обрывочных данных. Если упустить хоть одну мелочь, компьютер оказы- вается уязвимым для взлома. В качестве дополнительной информации по безопасности компьютера и се- тей советую прочитать мою книгу "Компьютер глазами хакера" [3], в кото- рой приводится достаточно много общих сведений по этим вопросам. Здесь же мы больший упор делаем на определенную ОС — Linux. Несмотря на то, что книга [3] направлена в большей степени на поддержание безопасности ОС Windows, многие рассматриваемые в ней проблемы могут вам приго- диться и при построении безопасного Linux-сервера. Точно так же книга "Li- nux глазами хакера" будет полезна и специалистам по безопасности Windows-систем. Предисловие 4 В этой книге не рассматриваются вопросы, связанные с вирусами, потому что в настоящее время вирусная активность в ОС Linux минимальна, но это не значит, что опасности не существует. Угроза есть всегда, а защита от вирусов схожа с защитой от троянских программ, которых для Linux достаточно мно- го. О вирусных атаках и возможностях их отражения можно также прочитать в книге "Компьютер глазами хакера" [3]. Итак, давайте знакомиться с Linux с точки зрения хакера. Я уверен, что вы посмотрите на нее совершенно другими глазами и найдете для себя много нового и интересного. QualitySource Мой взгляд на Linux может вам понравиться, а может и шокировать. Дело в том, что я не принадлежу к сторонникам или поклонникам Open Source, к которому относится Linux. Я являюсь сторонником движения QualitySource, то есть качественного кода. Мне все равно, какой это код — открытый или закрытый, главное, чтобы он был качественный. Если бы код ОС Windows был открытым, вы бы полезли его смотреть или изменять? Я бы нет, и боль- шинство тоже. Большинство из нас, когда устанавливает ОС или какую-то программу, хо- чет, чтобы она стабильно работала и выполняла положенные действия. Какая нам разница, открыт код или нет? Какая нам разница, на каком языке напи- сана программа? Для меня эти вопросы не существенны. Если программа стоит того, чтобы я отдал за нее запрашиваемые деньги, если она достаточно качественна, — то я отдам эти деньги, независимо от того, открыт ли ее код и на каком языке ее написали. ОС Linux и Windows, на мой взгляд, являются качественными проектами, и я использую их одновременно, но для разных задач. Устанавливать слож- ный, тяжеловесный и дорогой Windows Server ради банального файлового сервера — это глупость, поэтому здесь я использую Linux. Но для сложных баз данных я предпочитаю использовать великолепную связку MS Windows и MS SQL Server. Это мое личное предпочтение, которому не обязательно сле- довать. Вы можете выбрать в качестве базы данных связку Linux и MySQL. Единственное, о чем я прошу вас, — не делайте ничего бездумно. Не стоит устанавливать софт только потому, что он относится к OpenSource, как и не стоит считать, что коммерческий софт заведомо лучше. Выбирайте своим умом, пробуйте, тестируйте и принимайте самостоятельное решение в зави- симости от конкретной ситуации. Программа не может быть лучше, надежнее или безопаснее других только потому, что у нее открыт код, это бред полнейший. Яркий пример — sendmail. Предисловие 5 Бездарных программ с открытым кодом очень много, как и коммерческих, поэтому выбирайте за качество, а не за наличие или отсутствие исходных ко- дов, которые большинству пользователей просто не нужны. Второе издание Чем отличается второе издание этой книги? Я бы назвал эти книги разными, потому что в новом варианте намного больше информации. Я переписал аб- солютно все и обновил весь текст в соответствии с современными реалиями. В ходе этой работы были исправлены некоторые ошибки, присутствовавшие в предыдущем издании. Их было немного, но в Интернете по этому поводу очень красиво писали те, кто почему-то не любит меня и мои книги. Не знаю, почему, ведь я никому ничего плохого не сделал. Ошибки есть везде, даже в авторитетных американских изданиях. Просто там новые издания появля- ются каждый год, поэтому ошибки исправляются достаточно быстро. Третье издание В третьем издании я уже в основном обновлял информацию в соответствии с современными реалиями. Компьютерный мир изменяется очень быстро, за что я его и люблю, потому что приходится постоянно изучать что-то новое. Очень много новой информации попало на компакт-диск к этой книге в виде текстовых файлов. Я хотел донести до читателя как можно больше информации, и при этом не делать книгу слишком толстой и дорогой. Единственный способ сделать это — максимально использовать компакт-диск. Наиболее интересная ин- формация попала в книгу, чтобы ее было увлекательно читать. Наиболее нудные участки текста ушли на компакт-диск. Благодарности В каждой своей книге я стараюсь поблагодарить всех, кто помогал в ее соз- дании и появлении на свет. Без этих людей просто ничего бы не получилось. Первым делом я хотел бы поблагодарить издательство "БХВ-Петербург", с которым работаю уже несколько лет. Спасибо руководству издательства, редакторам и корректорам, которые работают со мной и помогают сделать книгу такой, какой я ее задумывал. Ведь писать приходится в тяжелых по срокам условиях, но иначе нельзя, так как информация устареет раньше, чем книга попадет на прилавок. Предисловие 6 Не устану благодарить родителей, жену и детей за их терпение. После основной работы я прихожу домой и тружусь над очередной книгой. Таким образом, семья может видеть меня только за компьютером, а общаться со мной очень сложно, потому что все мысли устремляются далеко в виртуальную реальность. Большая благодарность моим друзьям и знакомым, которые что-то подска- зывали, помогали идеями и программами. Так уж выходит, но в написании каждой книги участвуют и животные. Эта работа не стала исключением. Во время написания первого издания мой кот Чекист с 23:00 до 1:00 ночи гулял по квартире и кричал просто от скуки. Я не мог уснуть, а значит, больше времени уделял работе. Хочется поблагодарить еще одного кота, который является ассистентом в пакете программ MS Office. Книгу я писал в MS Word, а ОС Linux работала в виртуаль- ной машине, чтобы можно было делать снимки экрана. Во время написания пер- вого издания, если на меня бросали ребенка, то кот-ассистент помогал занять моего годовалого сына, выступая в роли няни. Я сажал сына Кирилла рядом, и он спокойно играл с котом на экране монитора, а я мог продолжать работать над книгой. Правда, иногда приходилось спасать кота и монитор, когда сын начинал маленькой ручонкой неуклюже гладить полюбившееся животное. А самая большая благодарность — вам, за то, что купили книгу, и моим по- стоянным читателям, с которыми я регулярно общаюсь на моем блоге www.flenov.info. Последние работы основываются на их вопросах и предло- жениях. Если у вас появятся какие-то проблемы, то милости прошу на сайт. Я постараюсь помочь по мере возможности, и жду любых комментариев по поводу этой книги. Ваши замечания помогут мне сделать ее лучше. В последнее время в России перестают читать книги, качая из Интернета пи- ратские копии, нанося ущерб авторам и издательствам. Доход от книг падает, и многие хорошие авторы перестают писать, ибо хорошему специалисту про- сто найти хороший источник дохода без лишних мучений. От этого количе- ство хороших книг уменьшается. Боюсь, эта тенденция сохранится. Если вам нравится книга, купите ее бумажный вариант, не портите глаза, читая с мо- нитора. Здоровье важнее. Ну а я со своей стороны постарался наполнить кни- гу и прилагаемый компакт-диск максимальным количеством полезной ин- формации. На компакте вы найдете множество дополнительных документов. Если вы нашли какую-то ошибку в книге, просьба сообщить мне об этом через обратную связь на моем сайте www.flenov.info. Я также жду ваших мнений о книге и пожеланий о том, что вы хотите увидеть в будущем, если появится новое издание. На этом завершаем вступительное слово и переходим к наиболее интересной и главной части книги — рассмотрению ОС Linux. |