Автор работы: Пользователь скрыл имя, 28 Марта 2014 в 07:52, дипломная работа
Внедрения в данного проекта позволит обеспечить компании высокоскоростной доступ к глобальной сети Internet, что позволит повысить эффективность взаимодействия с клиентами, и тем самым обеспечить высокую конкурентоспособность компании ООО «Надежный Контакт».
Перечень условных обозначений, символов и терминов 5
Введение 6
1 Характеристика объекта автоматизации 7
1.1 Организационная структура ООО “Надежный Контакт” 7
1.2 Существующая сетевая инфраструктура ООО «Надежный Контакт» 8
1.3 Основные задачи, решаемые на основе сети организации 10
1.4 Цель и задачи дипломного проекта 11
2 Разработка локальной сети организации 13
2.1 Структура локальной сети организации 13
2.2 Аппаратное обеспечение 15
2.3 Программное обеспечение 18
3 Поддержка локальной сети организации 21
3.1 Администрирование и защита локальной сети 21
3.2 Брандмауэр iptables 24
3.3 Организация антивирусного контроля 35
3.4 Резервное копирование документов 50
4 Технико-экономическое обоснование целесообразности проектирования и внедрения корпоративной сети 54
4.1 Характеристика проекта 54
4.2 Построение сетевого графика 54
4.3 Расчет сметной калькуляции и отпускной цены на научно-исследовательскую работу 60
5 Охрана труда. Обеспечение комфортных условий труда операторов ЭВМ при проектировании локальной сети организации «Надежный контакт» 66
Заключение 72
Список использованных источников 73
Приложение A Скрипты для настройки сервера и стационарных компьютеров 74
Приложение Б Листинг конфигурационного файла Amanda 79
Ведомость документов 80
Программная защита предполагает анализ уязвимости программной среды, идентификацию и устранение потенциальных точек воздействия, закрытие дыр в системе защиты, недопущение проникновения в систему. В сети, требующей высокого уровня защиты, большая часть работы системного администратора связана с отслеживанием новых эксплойтов и осуществлением превентивных мер, направленных на устранение возможности их применения в сети.
Применительно к сети важнейшими мероприятиями по этой части безопасности являются: организация антивирусного контроля (смотреть пункт 3.3), обеспечение сохранности данных (смотреть пункт 3.6).
Для упрощения работы администратора используются специально разработанные скрипты. Скрипты написаны на PowerShell. Для их работы установлена консоль Microsoft PowerShell.
Чтобы создать скрипт, необходимо в Блокноте или другом текстовом редакторе написать его содержание и сохранить под именем script_name.ps. Запускается скрипт из командной строки. Все скрипты написаны для использования на локальной машине. Необходимо обладать соответствующими правами для выполнения скрипта.
Получение информации о событиях.
Этот скрипт получает информацию обо всех событиях в журнале. Для этого он обходит все записи в журнале и получает их свойства. Для изменения выполнения скрипта на других компьютерах необходимо изменить переменную $strComputer. Листинг скрипта следующий:
$strComputer = "." //Выполняем на локальной машине
$colItems = get-wmiobject -class "Win32_NTLogEvent" -namespace "root\CIMV2" -computername $strComputer
# Обходим все записи в журнале
foreach ($objItem in $colItems) {
# Категория
write-host "Category: " $objItem.Category
# Значение категории
write-host "Category String: " $objItem.CategoryString
# Имя компьютера
write-host "Compute rName: " $objItem.ComputerName
write-host "Data: " $objItem.Data # данные
# Код события
write-host "Event Code: " $objItem.EventCode
# Идентификатор события
write-host "Event Identifier: " $objItem.EventIdentifier
# Тип события
write-host "Event Type: " $objItem.EventType
# Добавленные комментарии (если есть)
write-host "Insertion Strings: " $objItem.InsertionStrings
# Файл журнала
write-host "Logfile: " $objItem.Logfile
# Текст сообщения
write-host "Message: " $objItem.Message
# Номер записи
write-host "Record Number: " $objItem.RecordNumber
# Имя источника
write-host "Source Name: " $objItem.SourceName
# Время создания сообщения
write-host "Time Generated: " $objItem.TimeGenerated
# Время записи
write-host "Time Written: " $objItem.TimeWritten
write-host "Type: " $objItem.Type # Тип
write-host "User: " $objItem.User # Имя пользователя
write-host
}
Список служб и статус их работы на сервере.
Данный сценарий PowerShell позволяет получить список всех служб, зарегистрированных на компьютере, а также получить информацию об их статусе. Информация будет выводиться не на консоль, а в HTML-файл:
get-service | ConvertTo-Html -Property Name,Status | foreach {
if ($_ -like "*<td>Running</td>*")
{$_ -replace "<tr>", "<tr bgcolor=green>"}
else {$_ -replace "<tr>", "<tr bgcolor=red>"}} > .\get-service.html
Результат работы скрипта представлен на рисунке 3.1.
Рисунок 3.1 – Вывод списка служб и их статуса на сервере
Локальная безопасность – необходимая составляющая общей безопасности системы. Она позволяет устранить угрозу локального взлома. Однако, при работе сервера в сети возникает еще один тип угрозы – сетевой. Для устранения сетевой угрозы, как и для локальной, существуют свои средства и методы. Одним таким средством, наиболее важным и практически необходимым при построении сетевой системы безопасности является брандмауэр.
Брандмауэр, он же сетевой экран, он же firewall (с англ. «огненная стена») - это система или группа систем, реализующих правила управления доступом между двумя сетями. Фактические средства, с помощью которых это достигается, весьма различны, но в принципе брандмауэр можно рассматривать как пару механизмов: один для блокирования передачи информации, а другой – для пропуска информации. Некоторые брандмауэры уделяют больше внимания блокировке передачи информации, другие – ее пропуску. Некоторые брандмауэры пропускают только сообщения электронной почты, тем самым защищая сеть от любых атак, кроме атак на почтовую службу. Другие брандмауэры обеспечивают менее строгую защиту и блокируют лишь службы, определенно угрожающие безопасности. Обычно брандмауэры конфигурируются для защиты от неавторизованной интерактивной регистрации из внешнего мира. Именно это, больше, чем все остальное, помогает предотвратить проникновение взломщиков в компьютеры внутренней сети. Более развитые брандмауэры блокируют передачу информации извне в защищаемую сеть, разрешая при этом внутренним пользователям свободно взаимодействовать с внешним миром.
Схема сетевого запроса на сервер с установленным брандмауэром показана на рисунке 3.2.
Рисунок 3.2 – Пошаговая схема выполнения сетевого запроса с установлением соединения к ОС Linux
Ядро ОС Linux версии 2.4 и более поздних имеет встроенный межсетевой экран netfilter, который располагает следующими возможностями:
Вся логическая структура экрана netfilter строится на понятиях цепочек, таблиц и правил доступа.
Цепочка – определенный набор правил управления доступом. Попадая в цепочку, пакет проходит все ее правила, начиная с самого первого. Каждое правило имеет критерий и действие. Если пакет попадает под критерий правила, то с пакетом производится действие, определенное для этого правила.
Таблица – это набор цепочек. Таблицы делятся по функциональному назначению и определяют действия, которые разрешено выполнять в правилах цепочек этих таблиц.
Netfilter содержит только три таблицы:
Mangle – эта таблица используется для внесения изменений в заголовки пакетов. Примером может служить изменение поля TTL, TOS или MARK. Таблица имеет пять цепочек: PREROUTING, POSTROUTING, INPUT, OUTPUT и FORWARD. Цепочка PREROUTING используется для внесения изменений на входе в брандмауэр, перед принятием решения о маршрутизации. Цепочка POSTROUTING используется для внесения изменений на выходе из брандмауэра уже после принятия решения о маршрутизации. Цепочка INPUT используется для внесения изменений в пакеты перед тем, как они будут переданы локальному приложению внутри брандмауэра. Цепочка OUTPUT используется для внесения изменений в пакеты, поступающие от приложений внутри брандмауэра. И, наконец, цепочка FORWARD используется для внесения изменений в транзитные пакеты после первого принятия решения о маршрутизации, но перед последним принятием решения о маршрутизации. Использование таблицы для других целей, нежели изменения заголовка пакета, является недопустимым.
Nat – эта таблица используется для преобразования сетевых адресов, именуемого также NAT, и подмены портов NPT. Через эту таблицу проходит только первый пакет из всего потока данных соединения. Преобразование адресов автоматически применяется ко всем последующим пакетам. Эта таблица содержит три заранее определенные цепочки. Цепочка PREROUTING используется для внесения изменений в пакеты на входе в брандмауэр. Цепочка OUTPUT используется для преобразования адресов в пакетах, созданных приложениями внутри брандмауэра, перед принятием решения о маршрутизации. И последняя третья цепочка в этой таблице – POSTROUTING, которая используется для преобразования пакетов перед отправкой их в сеть. Эта таблица должна использоваться только для преобразования адресов и портов в пакете.
Filter – эта таблица используется главным образом для фильтрации пакетов. Таблица имеет три встроенных цепочки. Первая – FORWARD, используемая для фильтрации пакетов, не адресованных серверу, на котором установлен брандмауэр, то есть идущих транзитом через него. Цепочку INPUT проходят пакеты, которые предназначены локальным приложениям сервера. И цепочка OUTPUT используется для фильтрации исходящих пакетов, сгенерированных приложениями на сервере с брандмауэром.
Структурная схема брандмауэра netfilter показана на рисунке 3.3.
Рисунок 3.3 – Структурная организация брандмауэра
Для того, чтобы брандмауэр выполнял те функции, которые на него возлагаются, для комплексной сетевой защиты необходимо, чтобы все пакеты, приходящие по сети и уходящие в сеть, проходили через него. Если же это правило не соблюдается, или соблюдается частично, то все действия, направленные на создание безопасного сервера с использованием брандмауэра, будут бесполезны. Если существует хоть малейшая вероятность, что брандмауэр можно обойти, эта возможность обязательно рано или поздно будет использована взломщиками. В Linux брандмауэр является частью ядра, а поскольку все операции при работе с сетью контролирует ядро, гарантию того, что все сетевые пакеты пройдут через него, можно считать практически стопроцентной.
Следуя рисунку 3.3, рассмотрим, какой путь совершает пакет, прежде чем достичь места назначения. Попадая на сервер, пакет сначала проходит цепочки PREROUTING таблиц mangle и nat. Затем, в зависимости от того, кому адресован пакет, его направление может меняться. Если пакет адресован локальному процессу сервера, после маршрутизации он попадает в цепочки INPUT таблиц mangle и filter. Если ему удается успешно пройти эти цепочки, пакет достигает локального процесса. Ответ локального процесса перед отправкой проходит сначала цепочку OUTPUT всех трех таблиц, и, если пакет не был отфильтрован, он попадает в заключительную цепочку POSTROUTING таблиц mangle и nat. После этого пакет покидает сервер.
Если же пакет адресован другому компьютеру, то есть является транзитным, то после маршрутизации он попадает в цепочку FORWARD таблиц mangle и filter, в которой осуществляются все необходимые действия по управлению доступом для всех транзитных пакетов. Далее, как и пакет локального процесса, перед отправкой в сеть транзитный пакет проходит через цепочки POSTROUTING таблиц mangle и nat.
Этих трех таблиц с заранее закрепленным функциональным назначением вполне достаточно для реализации всех перечисленных ранее возможностей. Количество таблиц является определенным и не может быть изменено ни при каких условиях. При настройке брандмауэра в таблицы могут быть добавлены другие цепочки в дополнение к уже существующим, что позволяет создавать более гибкую систему управления доступом, нежели просто добавление правил в заранее определенные цепочки. В отличие от цепочек, созданных администратором, системные цепочки INPUT, OUTPUT, FORWARD, PREROUTING и POSTROUTING не могут быть удалены ни при каких условиях.
Для настройки и управления брандмауэром в составе ОС Linux поставляется программный пакет iptables. Этот пакет помимо файлов документации и модулей, подгружаемых в ядро и используемых для осуществления фильтрации по различным критериям, включает следующие исполняемые файлы:
iptables – основная программа пакета, с помощью которой производится манипулирование правилами в цепочках. Эта программа позволяет совершать с правилами и пользовательскими цепочками все доступные действия.
iptables-save – программа, которая позволяет сохранять все текущие правила в одном файле для последующего их восстановления. По умолчанию этим файлом является /etc/sysconfig/iptables. В файле /etc/sysconfig/iptables хранится вся конфигурация брандмауэра и из этого файла она считывается при загрузке системы.
iptables-restore – эта программа позволяет считывать правила и цепочки, сохраненные ранее программой iptables-save. По умолчанию эта программа пытается загрузить файл /etc/sysconfig/iptables, если он существует.
Более подробная информация о программном пакете iptables содержится в файлах документации, а также в соответствующих man-руководствах.
3.2.1 Настройка цепочек правил iptables
На сервере установлен дистрибутив ОС Linux Gentoo 10.1. Основное назначение его в сети – маршрутизатор. Программное обеспечение – iptables-1.2.5, ядро версии 2.4.22, собранное с поддержкой netfilter и iptables. На сервере установлены две сетевые карты. Первая сетевая карта связывает linux-сервер с сетью компании, она имеет адрес 192.168.0.2 с маской 255.255.255.0. Вторая сетевая карта с символическим именем eth2 имеет реальный сетевой адрес 144.333.333.333 обеспечивает выход в Интернет.
Основная задача: настроить межсетевой экран с повышенными требованиями к безопасности. Из сети Интернет необходимо открыть доступ к VNC-серверу, почтовой службе, функционирующей по протоколу SMTP, серверу имен DNS, а также терминальный доступ по протоколу SSH. Компьютеры локальной сети помимо перечисленных сервисов должны иметь возможность получать почту с локального сервера посредством протокола POP3. Также необходимо обеспечить выход компьютеров сети 192.168.0.0 в Интернет.
Чтобы маршрутизатор функционировал в качестве шлюза, в ядре необходимо поменять значение переменной ip_forward. Это можно сделать командой приведенной далее, а чтобы эта переменная устанавливалась в 1 при загрузке, необходимо в файле /etc/sysctl.conf найти и раскомментировать, если она закомментирована, строку вида “net.ipv4.ip_forward = 0” и изменить значение 0 в этой строке на 1. Если же такой строки нет, ее необходимо добавить. Таким образом, маршрутизатор получает указание работать в качестве шлюза, то есть обрабатывать пакеты, пришедшие из сети и не адресованные локальным процессам, в соответствии с заранее заданной таблицей маршрутизации. Включение этой функции необходимо для обеспечения доступа в сеть Интернет из двух локальных сетей.
[root@app /]# echo 1 > /proc/sys/net/ipv4/ip_forward
Далее приводится последовательность действий, которые необходимо выполнить, чтобы построить требуемую конфигурацию брандмауэра: