Підключаємо Cisco консольним кабелем до COM порта комп'ютера, а другий
кінець до порта на Cisco підписаним "console" на голубому фоні .
Консольний кабель голубого кольору з обох кінців обжати конекторами RG-45. Для
підключення до COM порта в комплекті іде перехідник з RG-45 на COM-порт.
Для настройки використовуємо програму під Windows - HyperTerminal або Putty,
під Linux - minicom. Настройки COM порта: швидкість 9600, біт даних 8, не
парний N, стоп біт 1, керування потоком No . (В мене на апаратному контролі
потоку працює minicom Hardware Flow Control: YES). Скорочено 9600 8N1.
sudo minicom
Cannot create lockfile for /dev/modem: No such file or directory
minicom -s
and select
Serial port setup
Reflect the output you saw from
dmesg and set it to the
Serial Device by pressing
AE >
C
A – Serial Device : /dev/ttyUSB0
E – Bps/Par/Bits : 9600 8N1
Для початку визначимося з назвою маршрутизатора та доменом.
Назва xs-router
Домен row.com
1. Нажимаємо ENTER і вводимо ім'я користувача/пароль :
cisco/cisco.
2. Переходимо в привілейований режим :
enable.
3. Витираємо стару конфігурацію:
erase startup-config. Підтверджуэмо команду натиснувши
Enter
4. Перезавантажуємо маршрутизатор:
reload.
Програма запитується чи потрібно зберегти конфігурацію виберемо
no.
Підтверджуємо команду натиснувши
Enter.
Після перезагрузки видається запит на початкову конфігурацію
Would you like to enter the initial configuration dialog? [yes/no]
Вибираємо
no.
Після перезагрузки і натискання клавіші Enter маршрутизатор видає запит:
Router>
1. Переходимо в привілейований режим :
enable.
2. Виставляємо час:
clock set 16:23:10 03 Nov 2011.
3. Переходимо в режим конфігурації:
configure terminal.
4. Наступні 4 команди піднімають авторизацію на консолі:
aaa new-model - включає механізм AAA
(authentication, authorization, accounting);
aaa authentication login default local - по
замовченню перевіряти кожний вхід на лінію використовуючи локальну базу даних
користувачів;
aaa authorization exec default local - по замовченню
перевіряти право на запуск командної оболонки EXEC використовуючи
локальну базу даних;
username admin privilege 15 secret 0 PASSWORD - створюємо
користувача admin з паролем PASSWORD, щоб він записався в локальну базу даних.
Обмежимо доступ до привілейованого режиму паролем "admin":
enable secret 0 admin , 0 вказує що пароль, який ми набираємо не зашифрований.
enable secret <пароль> — определяет шифрование паролей в привилегированном режиме, в отличие от команды enable password, которая разрешает передачу пароля в виде нешифрованного текста.
5. Призначаємо назву роутеру:
hostname xs-router. Відразу має
змінитися запит маршрутизатора : xs-router(config)#.
6. Призначаємо домен:
ip domain-name row.com.
7. Виключаємо пошук невідомих команд через DNS:
no ip domain-lookup
no ip domain-lookup — oтключает в маршрутизаторе функции поиска по DNS, которые в большинстве случаев не требуются для выполнения стандартных операций.
no ip source routе — четвертая версия IP имеет средства для включения информации о маршруте в пакет. Эта технология известна как маршрутизация от источника. Она никогда широко не применялась и уже удалена из новой версии протокола TCP/IP. Взломщики часто обращаются к ее возможностям, чтобы обойти таблицы маршрутизации устройств, и таким образом скрыть источник трафика. Данная команда заставляет маршрутизатор игнорировать пакеты с таким заголовком.
no service finger — процесс finger (указатель на детальную информацию об интересующем объекте) в маршрутизаторе подобен процессу finger в системе UNIX. Он может предоставить потенциальным взломщикам информацию, которую им не следует знать. Данная команда его отключает.
no service tcp-small-servers и no service udp-small-servers — в последних версиях IOS она применяется по умолчанию. Устройства Cisco поддерживают такие «малые» службы IP, как echo, chagren и discard. Ими легко воспользоваться, однако ввиду нечастого применения их лучше отключить.
service password-encryption — определяет шифрование паролей, хранящихся на локальном маршрутизаторе, и обеспечивает необходимый уровень безопасности, если имеется брешь в системе защиты либо пароли скомпрометированы.
Відклюсчаємо тільки на інтерфейсі
no cdp run — протокол обнаружения Cisco (Cisco Discovery Protocol, CDP) является собственным информационным протоколом Cisco второго уровня. Предоставляемая им информация не нужна для работы маршрутизатора но может быть использована взломщиками. Однако если протокол CDP используется в вашей сети, то его можно отключить на тех интерфейсах, где он не нужен, с помощью соответствующей интерфейсной команды.
Відклюсчаємо тільки на інтерфейсі
no ntp enable — синхронизирующий сетевой протокол (Network Time Protocol, NTP) может оказаться ненужным для пограничного маршрутизатора и должен быть отключен. При этом маршрутизатор не может быть ни источником, ни конечным пунктом маршрута для трафика NTP. Однако если протокол NTP все же используется в сети, то его можно отключить на тех интерфейсах, где он не нужен, с помощью соответствующей интерфейсной команды.
banner motd {char} text {char} — эта команда аналогична команде motd в операционной системе UNIX, которая выводит на экран окно с предупреждением для взломщиков о том, что они вошли в частную систему. Стандартный текст находится в действующей по умолчанию конфигурации маршрутизатора. Данная команда не обеспечивает какую-либо защиту, но может быть полезна в случае судебных разбирательств в связи со взломом сети, поэтому при создании такого баннера было бы целесообразно проконсультироваться с юридическим отделом вашей компании.
enable
clock set 16:23:10 03 Nov 2011
configure terminal
aaa new-model
aaa authentication login default local
aaa authorization exec default local
username admin privilege 15 secret 0 PASSWORD
enable secret PASSWORD
hostname xs-router
ip domain-name row.com.
no ip source-route
no service finger
exit
Налаштування SSH
8. Створюємо ключ SSH :
crypto key generate rsa. На запит про вибір кількості біт ставимо 1024 необхідно для SSH версії 2 ( при значенні 512 клієнт на Linux не підключався з помилкою "ssh_dispatch_run_fatal: Connection to 10.85.5.250: invalid argument", а ціска писала "SSH2 0: Unexpected mesg type received").
crypto key generate rsa
9. Включаємо шифрування паролей в конфігураційному файлі :
service password-encryption
10. Включаємо SSH версії 2 :
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 2
11. Входимо в режим конфігурурвання термінальних ліній :
line vty 0 4.
12. Транспортом по замовченню SSH :
transport input ssh
13. Активуємо автоматичне підняття стрічки після вводу команди :
logging synchronous
privilege level 15
14. Виставляємо час очікування до автоматичного закриття сесії SSH 30 хвилин:
exec-timeout 30 0
15. Виходимо з режиму конфігурування термінальних ліній :
exit
16. Виходимо з режиму конфігурування :
end
17. Зберігаємо конфігурацію:
write
service password-encryption
ip ssh version 2
ip ssh time-out 60
ip ssh authentication-retries 2
line vty 0 4
transport input ssh
logging synchronous
privilege level 15
exec-timeout 30 0
exit
end
write
Налаштування маршрутизації
18. Включаємо прискорену маршрутизацію пакетів :
ip cef
conf t
ip cef
exit
Налаштування часу
Виставляємо часову зону GMT+2:
clock timezone Ukraine 2
Перехід на літній час:
clock summer-time Ukraine recurring last Sun Mar 2:00 last Sun Oct 2:00
Оновлення годинника через NTP сервер
clock summer-time Ukraine recurring last Sun Mar 2:00 last Sun Oct 2:00
! обновление системных часов по NTP
ntp update-calendar
! ntp сервера лучше задавать по айпи, ибо если при перегрузке DNS-сервера не доступны то настройки по именам слетают…
ntp server NTP.SERVER.1.IP
ntp server NTP.SERVER.2.IP
conf t
clock timezone Ukraine 2
clock summer-time Ukraine recurring last Sun Mar 2:00 last Sun Oct 2:00
clock summer-time Ukraine recurring last Sun Mar 2:00 last Sun Oct 2:00
ntp update-calendar
ntp server 10.85.5.233
exit
Налаштування зовнішнього інтерфейсу
На інетерфейсі що дивиться в інтернет також потрібно піднімати vlan 1. Можливо в майбутньому потрібно буде кілька vlan і потрібно буде все переналаштовувати.
encapsulation dot1Q 1 native
Налаштування внутрішнього інтерфейсу
Відразу налаштовуєм vlan 1
encapsulation dot1Q 1 native
Архивирование конфигов
! включаем архивирование всех изменений конфига, скрывая пароли в логах
archive
log config
logging enable
hidekeys
! историю изменения конфига можно посмотреть командой
show archive log config all
Настройка DNS
! включить разрешение имен
ip domain-lookup
! включаем внутренний DNS сервер
ip dns server
! прописываем DNS провайдера
ip name-server XXX.XXX.XXX.XXX
! на всякий случай добавляем несколько публичных DNS серверов
ip name-server 4.2.2.2
ip name-server 208.67.222.222
ip name-server 208.67.220.220
Настройка локальной сети
! обычно порты внутреннего свитча на роутере объединены в Vlan1
interface Vlan1
description === LAN ===
ip address 192.168.???.1
! включаем на интерфейсе подсчет пакетов передаваемых клиентам — удобно просматривать кто съедает трафик
ip accounting output-packets
! посмотреть статистику можно командой
show ip accounting
! очистить
clear ip accounting
Настройка DHCP сервера
! исключаем некоторые адреса из пула
ip dhcp excluded-address 192.168.???.1 192.168.???.99
! и настраиваем пул адресов
ip dhcp pool LAN
network 192.168.???.0 255.255.255.0
default-router 192.168.???.1
dns-server 192.168.???.1
Настройка Internet и Firewall
! настраиваем фильтр входящего трафика (по умолчанию все запрещено)
ip access-list extended FIREWALL
permit tcp any any eq 22
! включаем инспектирование трафика между локальной сетью и Интернетом
ip inspect name INSPECT_OUT dns
ip inspect name INSPECT_OUT icmp
ip inspect name INSPECT_OUT ntp
ip inspect name INSPECT_OUT tcp router-traffic
ip inspect name INSPECT_OUT udp router-traffic
ip inspect name INSPECT_OUT icmp router-traffic
ip virtual-reassembly [options]
Атаки, основанные на фрагментации пакетов приводят к переполнению буфера. Основаны они на том, что на маршрутизатор/коммутатор приходит лавина незаконченных фрагментированных пакетов Для их избежания этой ситуации используется команда Данная возможность включается автоматически на интерфейсах (при возможности поддержки этой функции) при включении на интерфейсе Nat, firewall или IDS
ip verify unicast reverse-path
Для работы Unicast Reverse Path Forwarding должен быть включен cef.
При получении пакета uRPF проверяет соответствует ли адрес источника и
интерфейс через который получен пакет значениям в таблице FIB.
По сути выполняется обратный резолвинг адреса источника используя базу
(reverse lookup) FIB
Use the ip verify unicast reverse-path interface command to mitigate problems caused by malformed or forged (spoofed) IP source addresses that pass through a router. Malformed or forged source addresses can indicate denial-of-service (DoS) attacks based on source IP address spoofing.
When Unicast RPF is enabled on an interface, the router examines all packets received on that interface. The router checks to make sure that the source address appears in the routing table and matches the interface on which the packet was received. This "look backwards" ability is available only when Cisco Express Forwarding (CEF) is enabled on the router because the lookup relies on the presence of the Forwarding Information Base (FIB). CEF generates the FIB as part of its operation.
no ip redirects — отключает переадресацию протокола управляющих сообщений (Internet Control Messging Protocol, ICMP). ICMP переадресует сообщения от маршрутизатора с указанием лучшего сетевого маршрута. Такие сообщения могут быть использованы для организации атаки по типу «отказ в обслуживании».
no ip unreachables — отключает сообщения протокола ICMP о недоступности участков сети. Эти сведения маршрутизатор передает при невозможности доставить пакет адресату. Они также могут быть использованы для организации атаки по типу «отказ в обслуживании».
no ip proxy-arp — протокол разрешения адресов (Address Resolution Protocol, ARP) позволяет маршрутизатору отвечать на запросы ARP от подсетей помимо той, к которой он подключен. Для того чтобы информацией не воспользовались взломщики, такую возможность лучше отменить.
no ip mroute-cache — отключает кэш многоадресной рассылки Cisco IOS. Если рассылка не используется, то кэш для нее не нужен.
ntp disable — отключает NTP на уровне интерфейса. Это позволяет выполнять протокол NTP на маршрутизаторе, но делает его «невидимым» снаружи.
no cdp enable — отключает протокол CDP на уровне интерфейса, что очень полезно, если протокол CDP применяется только во внутренней локальной сети.
no ip directed broadcast — действует по умолчанию в IOS Version 12 и выше. Команда блокирует прямую широковещательную рассылку в конкретную сеть или ее подсеть. Появление широковещательного трафика в сети часто является признаком такой разновидности атак по типу «отказ в обслуживании», как Smurf. Этот режим хорошо бы установить на всех сетевых маршрутизаторах компании, естественно, если отсутствуют конкретные приложения, которым необходима широковещательная рассылка.
! настраиваем порт в Интернет и вешаем на него некоторую защиту
interface FastEthernet0/0
description === Internet ===
ip address ???.???.???.??? 255.255.255.???
ip virtual-reassembly
ip verify unicast reverse-path
no ip redirects
no ip unreachables
no ip directed-broadcast
no ip proxy-arp
no ip mroute-cache
ntp disable
no cdp enable
no ip directed broadcast
ip inspect INSPECT_OUT out
ip access-group FIREWALL in
ip nat outside
! ну и напоследок шлюз по умолчанию
ip route 0.0.0.0 0.0.0.0 ???.???.???.???
Настройка NAT
! на Интернет интерфейсе
interface FastEthernet0/0
ip nat outside
! на локальном интерфейсе
interface Vlan1
ip nat inside
! создаем список IP имеющих доступ к NAT
ip access-list extended NAT
permit ip host 192.168.???.??? any
! включаем NAT на внешнем интерфейсе
ip nat inside source list NAT interface FastEthernet0/0 overload
! добавляем инспекцию популярных протоколов
ip inspect name INSPECT_OUT http
ip inspect name INSPECT_OUT https
ip inspect name INSPECT_OUT ftp
Отключение ненужных сервисов
no service tcp-small-servers
no service udp-small-servers
no service finger
no service config
no service pad
no ip finger
no ip source-route
no ip http server
no ip http secure-server
no ip bootp server
UPD. Убрал лишнее по советам хаброюзеров
UPD2. Добавил отключение ненужных сервисов
UPD3. Изменил настройка файрвола (спасибо
Fedia)
https://habrahabr.ru/post/87680/