Автор работы: Пользователь скрыл имя, 30 Октября 2013 в 00:40, курсовая работа
Одним из лидеров по производству сетевого оборудования является компания CISCO Systems Incorporated. Устройства фирмы CISCO являются весьма надежным оборудованием и по удобству конфигурирования превосходят своих конкурентов, более 80% интернет-сетей по всему миру построены на оборудовании CISCO.
Проблеме организации процессов управления и мониторинга сетями, построенными на оборудовании CISCO, и посвящён данный курсовой проект. В качестве «живого» примера будет рассматриваться корпоративная сеть а/о «АВТОВАЗ».
Это можно описать командой:
ip route <адрес требуемой сети> <маска подсети> <интерфейс удалённого маршрутизатора, через который он связан с нашим>
,и ввести эту команду на нашем маршрутизаторе.
После ввода этой команды наш
маршрутизатор создаст
Списки доступа на роутере Cisco работают следующим образом: правила читаются в порядке следования и, как только находится соответствие шаблону, маршрут пакета определяется этим правилом.
Списки доступа могут быть созданы в глобальной конфигурации при помощи команды access list и затем закреплены за каким–либо интерфейсом.
Можно создать следующие списки доступа:
Router(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1100-1199> Extended 48-bit MAC address access list
<200-299> Protocol type-code access list
<700-799> 48-bit MAC address access list
Полный синтаксис команды: access-list номер_списка permit/deny протокол исходный_адрес порт целевой_адрес порт
Синтаксис расширенного списка доступа рассмотрим на примере, разрешающем использование протокола SMTP для всех устройств подсети (номер расширенного списка берём произвольный).
Router(config)#access-list 110 ?
deny Specify packets to reject
permit Specify packets to forward
Разрешаем прохождение пакетов:
Router(config)#access-list 110 permit ?
<0-255> An IP protocol number
eigrp Cisco's EIGRP routing protocol
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
igmp Internet Gateway Message Protocol
igrp Cisco's IGRP routing protocol
ip Any Internet Protocol
ipinip IP in IP tunneling
nos KA9Q NOS compatible IP over IP tunneling
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Вводим протокол:
Router(config)#access-list 110 permit tcp ?
A.B.C.D Source address
any Any source host
host A single source host
Вводим исходный адрес (в нашем примере «any» означает любой хост или сеть):
Router(config)#access-list 110 permit tcp any ?
A.B.C.D Destination address
any Any destination host
eq Match only packets on a given port number
gt Match only packets with a greater port number
host A single destination host
lt Match only packets with a lower port number
neq Match only packets not on a given port number
range Match only packets in the range of port numbers
Вводим целевой адрес:
Router(config)#access-list 110 permit tcp any any ?
eq Match only packets on a given port number
established Match established connections
gt Match only packets with a greater port number
log Log matches against this entry
lt Match only packets with a lower port number
neq Match only packets not on a given port number
precedence Match packets with given precedence value
range Match only packets in the range of port numbers
tos Match packets with given TOS value
<cr>
Указываем что мы хотим только один критерий - номер порта равный smtp (eq):
Router(config)#access-list 110 permit tcp any any eq ?
<0-65535> Port number
bgp Border Gateway Protocol (179)
chargen Character generator (19)
cmd Remote commands (rcmd, 514)
daytime Daytime (13)
discard Discard (9)
domain Domain Name Service (53)
echo Echo (7)
exec Exec (rsh, 512)
finger Finger (79)
ftp File Transfer Protocol (21)
ftp-data FTP data connections (used infrequently, 20)
gopher Gopher (70)
hostname NIC hostname server (101)
irc Internet Relay Chat (194)
klogin Kerberos login (543)
kshell Kerberos shell (544)
login Login (rlogin, 513)
lpd Printer service (515)
nntp Network News Transport Protocol (119)
pop2 Post Office Protocol v2 (109)
pop3 Post Office Protocol v3 (110)
smtp Simple Mail Transport Protocol (25)
sunrpc Sun Remote Procedure Call (111)
syslog Syslog (514)
tacacs TAC Access Control System (49)
talk Talk (517)
telnet Telnet (23)
time Time (37)
uucp Unix-to-Unix Copy Program (540)
whois Nicname (43)
www World Wide Web (HTTP, 80)
И вводим порт smtp (можно было ввести и «25»):
Router(config)#access-list 110 permit tcp any any eq smtp
Разрешаем работу с POP3 серверами сотрудникам компании:
access-list 110 permit tcp any any eq pop3
Включаем доступ на прокси сервер (200.200.200.2) на 8080 порту:
access-list 120 permit tcp 200.200.200.0 0.0.0.255 host 200.200.200.2 eq 8080
access-list 110 permit tcp host 200.200.200.2 any
Разрешаем весь трафик в локальной сети (по стандартному листу доступа):
access-list 10 permi ip 200.200.200.0 0.0.0.255 200.200.200.0 0.0.0.255
После составления полного списка листов доступа необходимо осуществить их привязку к определённому интерфейсу (на примере – Ethernet0):
Router#configure terminal
Router(config)#int e0
! Разрешаем входящий трафик на прокси сервер
Router(config)#access-group 120 in
! Разрешаем исходящий трайик от прокси сервера и
Router(config)#access-group 110 in
! Разрешаем весь локальный
Router(config)#access-group 10 in
Router(config)#exit
Router#wr mem
Главная задача роутера – обеспечивать
маршрутизацию IP пакетов. Однако современные
маршрутизаторы также имеют особенности,
которые позволяют использовать
их как статические фильтры
В этом разделе описывается защита маршрутизатора с помощью конфигурации, не требующей специальных уровней защиты в IOS и широко используемых в роутерах Cisco.
Под термином «защищённый роутер» будет подразумеваться роутер, специальным образом сконфигурированный для отражения определенного класса атак.
Внимание сосредотачивается на двух областях: защита самого маршрутизатора и защита хостов, находящихся за ним в подсети.
Методология относительно проста: отключаются
сервисы и опции, включенные по умолчанию
и не использующиеся. Другими словами:
если что-то не используется, то отключается.
Остаются
только те сервисы и опции, которые осуществляют
защиту маршрутизатора и
охраняемых подсетей за ним. Если необходим
какой-либо
дополнительный сервис, то он делается
максимально
безопасным за счёт механизмов защиты,
предоставляемыми IOS, например
VTY фильтров.
Используем ACL (Access Control Lists - списки
доступа) для каждого
интерфейса, которые разрешают только
определенные виды трафика и
запрещают все остальные (спецификатор
«default deny»).
IOS обладает достаточно большим
набором особенностей. Кроме того
существует много различных её версий,
каждой из которых присущи свои особенности.
В примерах используем IOS версии 11.2
или 11.3,
которые поставляются с поддержкой IP Only
feature set, при этом по мере
изложения укажем некоторые исключения
(например - TCP, TCP Intercept и Enterprise feature set).
Базовые принципы, применяющиеся при конфигурировании:
В примерах будет использоваться типовая сеть со следующей топологией (см. рис. 2.4.1), предполагается, что подсеть 192.168/16 маршрутизируема.
Рисунок 2.4.1.
Окончательная конфигурация роутера приведена в Приложении III.
Одна из первых вещей, которые необходимо сделать - парольная защита доступа к протоколам маршрутизации, синхронизации времени NTP. Кроме того - конфигурирование авторизации доступа по ACL, входа в систему и привилегированного пароля.
Имеются много опций, предназначенных для настройки процесса авторизации пользователей. Например, overriding access classes и поддержка TACACS. Однако есть некоторые важные вещи, которые необходимо упомянуть относительно назначения привилегии и паролей. Во-первых, различные типы паролей требуют различных схем их генерации и требований к длине. Например, простой пароль для протокола OSPF в IOS 11.3 может быть любой последовательностью символов длиной до 8 байт, в то время как OSPF MD5 (хэш-функция) поддерживает длину до 16 байт.
Длина простого пароля может быть
до 80 байт в длину, включая
алфавитно-цифровые символы и пробел.
Пароли типа «enable secret» и «username password» могут быть до
25 символов и включать пробелы. В некоторых
случаях требования к виду пароля явно
не стандартны, поэтому придется экспериментировать,
чтобы придумать
«хороший» пароль в зависимости от «окружающей
сетевой среды».
Ранее упоминался непривилегированный
пользовательский и
привилегированный уровни сеанса
работы в консоли. Существует 16
уровней привилегий, от 0 до 15. Уровень
1 - обычный пользовательский
EXEC режим работы в консоли (CLI), и 15 - по умолчанию
привилегированный уровень.
Соответствующий пример:
reeb>show privilege
Current privilege level is 1
reeb>enable
Password:
reeb#show privilege
Current privilege level is 15
reeb#disable
reeb>show privilege
Current privilege level is 1
Будем использовать отдельные, уникальные псевдонимы для каждого из администраторов.
Сделаем для начала двух пользователей:
username variablek password st0rk
username brett password r0ddag
Сервис шифрования пароля
По умолчанию, любой привилегированный
пользователь может
просматривать все пароли на маршрутизаторе.
Кто-либо, наблюдая «из-за
вашего плеча» за процессом конфигурирования
может подсмотреть пароли.
Используя команду «service password-encryption», Вы можете закодировать видимую часть пароля в строке. Эти пароли имеют тип «7» (зашифрованный пароль), по числу символов в закодированном пароле.
Несмотря
на то, что пароли зашифрованы, это
обеспечивает лишь минимальную защиту
и служит для защиты только от
случайного перехвата. Закодированные
пароли могут быть относительно легко
дешифрованы простым shell-скриптом или
же с помощью нехитрых преобразований,
иногда даже без помощи калькулятора.
Enable secret
В IOS эквивалент
привилегированного доступа - привилегированный
режим EXEC, защищенный паролем. Существует
два метода защиты доступа
паролем. Первый метод состоит в том, чтобы
использовать «enable password», тривиальный
метод кодирования паролей. Кроме того
можно
дополнительно определить второй метод
- команду «enable secret», алгоритм
шифрования MD5 (тип шифрованного пароля
5).
reeb(config)#enable secret s3kr3t
reeb(config)#no enable password
reeb(config)#exit
reeb#sh running-config
Building configuration...
enable secret 5 $1$k2gM$4W2tuuTUqxuRd.LQxsh/v.
Почему бы в таком случае не защитить все пароли по MD5? К сожалению, это не будет работать, потому что MD5 - однопроходная хэш-функция, а IOS необходимо иметь доступ к строкам в виде «plain text» (открытого текста), например для доступа к MD5-based MAC secret, с помощью которых может быть реализована авторизация к NTP, или строкам, отвечающим за авторизацию к OSPF и т.д.
Маршрутизаторы
Cisco удаленно управляются через telnet . Практически
всегда ограничивают или запрещают telnet.
Для ограничения доступа вводится
класс доступа для VTY lines:
access-list 99 permit host mgmt_ip
access-list 99 deny any
!
line vty 0 4
access-class 99 in
login local
Дополнительно, если используются списки
доступа ACL с правилом deny по умолчанию,
то необходимо разрешить доступ по порту
23/tcp для
ограниченного числа IP адресов из внутренней
подсети:
!
interface Ethernet0
ip access-group e0-in in
!
ip access-list extended e0-in
permit tcp host mgmt_ip host 192.168.0.1 eq 23
Если необходимо полностью отключить
telnet доступ (в случае, если роутер слишком
хорошо «виден» из внешних сетей), то необходимо
сделать
следующее:
line vty 0 4
transport input none
«Сверхпараноидальные» настройки выглядят, например, так :
access-list 99 deny any
!
line vty 0 4
access-class 99 in
exec-timeout 0 1
login local
transport input none
Эта конфигурация слишком жестко ограничивает доступ, но:
По
умолчанию, когда вы подсоединяетесь к
консоли или порту AUX, вы
работаете в EXEC сессии без пароля, под
аккаунтом обычного пользователя.
Соответственно, если маршрутизатор не
защищен физически, то лучше установить
пароль на работу в EXEC по этим портам. Если
физический доступ к роутеру не может
быть достаточно ограничен, то необходимо
установить пароль на работу в EXEC по этим
портам. Даже если маршрутизатор
находится в закрытом помещении, это также
не повредит:
line con 0
login local
! Таймаут работы на консоли - 2 минут
exec-timeout 2 0
line aux 0
! Раскомментируйте ниже для запрета входа в роутер на AUX порт
! no exec
! Или разрешите
вход с нормальной
login local
Но это не всегда останавливает целеустремленного «хакера» от дальнейших попыток взлома. Если он имеет физический доступ к роутеру, то может использовать для получения доступа хорошо известные методы восстановление паролей.
Неплохо было
бы сконфигурировать login banner так, чтобы
он предупреждал пользователей против
попыток неавторизованного доступа. Это
может послужить в качестве доказательной
базы в случае судебного
разбирательства. Используем: