Шаблон для настройки коммутаторов catalyst2950

вторник, 26 октября 2010 г.
! на каталистах этот сервис не нужен.Что-то связанное с X.25
no service pad
!
! Периодически посылать пакеты, даже если сессия неактивна
! Нужно чтобы:
! 1. NAT не разрывал соединение
! 2. Чтоб зависшая сессия не висела долго - если нет keepalive пакетов сессия сбрасывается.
service tcp-keepalives-in
service tcp-keepalives-out
!
! В дебаге указывать месное время с точностью до миллисекунд
service timestamps debug datetime msec localtime
!
! В логе указывать местное время
service timestamps log datetime localtime
!
! Скрывать пароли от случайного подглядывания.
! На вид они не читаются, но есть алгоритм который позволяет узнать исходный пароль.
service password-encryption
!
! Нумеровать сообщения которые пишутся в лог
! это позволяет узнать, что какие то сообщения были потеряны либо из за rate-limit на самой циске,
! либо при передаче по сети (это возможно так как протокол syslog использует udp и повторной отправки сообщений нет)
service sequence-numbers
!
! отключем dhcp - все равно на какталисте он не нужен, только занимает память и снижает защищенность
no service dhcp
!
! Выделить в оперативной памяти буфер 256 Кб для записи логов
! не смотря на то, что логи пишутся по сети на сервер, если связь по сети временно отсутствовала, то
! посмотреть ошибки можно будет тоолько в локальном буфере командой show logging
logging buffered 262144 debugging
!
! Писать в лог не больше 10 сообщений (уровня debugging, informational и notifications) в секунду, чтоб не вызвать этим перегрузку
! сообщетия уровня warnings и выше (errors, critical, alerts, emergencies) пишутся не смотря на это ограничение скорости
logging rate-limit 10 except warnings
!
! На консоль (rs-232) выводить только критические сообщения, т. к. вывод сообщений на консоль замедляет работу
logging console critical
!
! Включаем AAA
aaa new-model
!
! По умолчанию при заходе на каталист (через telnet или console) аутентификацмя идет через tacacs+ ! Если tacacs+ сервер недоступен, то для входа используется enable secret (логин при этом не спрашивается, сразу пароль)
aaa authentication login default group tacacs+ enable
!
! Авторизация идет через tacacs+, если он недоступен то авторизацию проходит любой,
! кто прошёл аутентификацию, т. е. ввел enable secret
aaa authorization exec default group tacacs+ if-authenticated
!
! Посылать stop-пакет, если был неправильно введен логин/пароль
! нужно, чтобы в /var/log/tac_plus.acct попадали попытки подобрать пароль
aaa accounting send stop-record authentication failure
!
! Для учета работы через телнет использовать tacacs+
! записи о том, что когда заходил на циску и когда выходил пишутся в /var/log/tac_plus.acct
aaa accounting exec default start-stop group tacacs+
!
! Посылать на tacacs+ сообщения о перезагрузке каталиста
aaa accounting system default start-stop group tacacs+
!
! Задаем enable, чтоб если tacacs+ не работает по нему мы зайти на каталист
enable secret good_password
!
! Указываем часовой пояс, разница времени по сравнению с UTC - 2 часа
clock timezone UTC2
!
! Автоматически восстанавливать работу порта если он отключился по port security по прошествии errdisable recovery interval
! если мака который вызвал отключение на порту больше нет
errdisable recovery cause security-violation
!
! В состоянии errdisable порт находится 120 секунд, после этого пробует включиться если
! для данной причины была указана команда errdisable recovery cause
errdisable recovery interval 120
!
! Разрешить использование 0 в номере подсети
ip subnet-zero
!
! Запретить обработку опций ip пакета source routing
! в современных сетях это не используется для нормальной работы и нужно отключить из соображений безопасности
no ip source-route
!
! Ограничить скорость посылаемых каталистом icmp пакетов типа destination unreachable до 1-го пакета в секунду (1000 мс)
ip icmp rate-limit unreachable 1000
!
! То же самое но для icmp destination unreachable, подтип fragmentation is needed and DF set
ip icmp rate-limit unreachable DF 1000
!
! Включаем TCP Selective Acknowledgment для повышения производительности tcp на каналах, где есть потери пакетов
! Более подробно про SACK можно прочитать в RFC2018
! если в пределах окна было потеряно несколько пакетов SACK позволяет повторно отправить только потерянные пакеты,
! а не все пакеты начиная с первого потеряно. Например, без SACK если были посланы пакеты с 1-го по 8-й и потеряны
! 4-й и 7-й пакеты, то передающий хост получить подтверждение о приеме только 1, 2 и 3-го пакетов и должен будет повторно
! отправить 4, 5, 6, 7, 8. Если включить SACK то будет получены подтверждения для пакетов 1, 2, 3, 5, 6, 8 и повторно
! нужно будет отправить только 4-й и 7-й пакеты.
ip tcp selective-ack
!
! Включаем опцию TCP timestamp для более точного измерения RTT что повышает производительность TCP
! более подробно описано в RFC1323
ip tcp timestamp
!
! Включаем path mtu discovery, который необходим если по маршруту есть участки с mtu меньше чем 1500 байт
! более подробно можно прочитать про эту команду на cisco.com ip tcp path-mtu-discovery
! указываем список доменов, который подставляют когда указано только имя хоста, без домена (в командах ping, traceroute, telnet и др.)
ip domain-list host1.test.com
! имя домена для данного хоста
ip domain-list test.com
! наши ДНС сервера
ip name-server 192.168.1.1
ip name-server 192.168.1.2
!
! per vlan spanning tree
spanning-tree mode pvst
! включать по умолчанию bpdufilter для портов с настройкой spanning-tree portfast
spanning-tree portfast bpdufilter default
! описание этой команды на cisco.com найти не удалось
no spanning-tree optimize bpdu transmission
! исползовать расширения 802.1t для pvst
spanning-tree extend system-id
!
! Порт, подключенный к маршрутизатору или серверу
! на котром настроен inter-vlan routing
interface FastEthernet0/1
! перед любым description ставим -- чтобы он не сливался с конфигом, а выделялся
  description -- to gw
! 802.1q транк
switchport mode trunk
! не распозновать режим (mode access или mode trunk) автоматически
switchport nonegotiate
! загрузка интерфейса, показываемая в show int вычисляется за последние 60 секунд
load-interval 60
! сразу переводить порт в forwarding без задержки
spanning-tree portfast trunk
!
! Порт, к которому подключен другой коммутатор
! Обращаю внимание, что spanning-tree portfast в этом случае прописывать нельзя
interface FastEthernet0/2
description -- to sw2
switchport mode trunk
switchport nonegotiate
load-interval 60
!
! Настройки порта для клиента, подключенного к общему vlan
! чтобы он не мог менять IP на маршрутизаторе с помощью static arp привязываем ip к mac
! а чтобы не мог менять MAC прописываем на порту port-security
interface FastEthernet0/3
description ““--”” 1111 Firmname, office 303
switchport access vlan 100
switchport mode access
switchport nonegotiate
switchport port-security
load-interval 60
! отключаем на клиентских портах cdp - клиентам не нужно знать технически подробности нашего оборудования no cdp enable
! сразу переводить порт в forwarding без задержки, кроме того на таких портах у нас по умолчанию включается bpdufilter
spanning-tree portfast
!
! Клиент для которого выделен отдельный vlan
interface FastEthernet0/4
description -- 2222 Firm2name, room 302
switchport access vlan 14
switchport mode access
switchport nonegotiate
load-interval 60
no cdp enable
spanning-tree portfast
!
! Неиспользуемые порты помещаем в 1001 vlan чтоб они не имели доступа к сети.
! shutdown на таких портах не делам, чтоб видеть подключено к ним что то или нет.
!
interface FastEthernet0/5
switchport access vlan 1001
switchport mode access
switchport nonegotiate
load-interval 60
spanning-tree portfast
!
! .........................
!
interface FastEthernet0/24
switchport access vlan 1001
switchport mode access
switchport nonegotiate
load-interval 60
spanning-tree portfast
!
! Интерфейс, через который мы получаем доступ к коммутатору
interface Vlan1
description -- management interface
  ip address 192.168.1.5 255.255.255.0
no ip redirects
no ip proxy-arp
no ip route-cache
!
! Шлюз по умолчанию
ip default-gateway 192.168.1.1
! Отключаем веб интерфейс. Во многих версиях IOS он подвержен DoS.
no ip http server
!
! Ограничиваем доступ к коммутатру по telnet
! это особенно актуально учитывая что пароль при подключении по telnet передается открытым текстом
! и нужны дополнительные меры для защиты от подключения извне
ip access-list extended vty-access
remark -- hosts permitted to access the router
permit tcp 192.168.1.0 0.0.0.255 any
deny tcp any any range 0 65535 log-input
deny ip any any log-input
!
! сервер на который мы по сети пишем логи. На нем настрое syslogd
logging 192.168.1.6
!
! Сервера по которым мы можем синхронизировать время
! если не использовать этот access list то у злоумышленника будет шанс изменить время на коммутаторе
access-list 2 remark -- ntp hosts to which the router can synchronize
access-list 2 permit 192.168.1.80
access-list 2 permit 192.168.1.68
access-list 2 deny any log
!
! Указываем на какие сервера можно можно копировать конфигурацию (или с каких)
! если дана команда по snmp
! без этого включать WR snmp community небезопасно
access-list 4 remark -- tftp servers to/from which config download/upload is permitted
access-list 4 permit 192.168.1.67
access-list 4 deny any
!
! Ограничиваем доступ по snmp на чтение
access-list 5 remark -- hosts permitted to read snmp MIBs on the switch
access-list 5 permit 192.168.1.34
access-list 5 permit 192.168.1.64 0.0.0.7
access-list 5 deny any log
!
! Ограничиваем доступ по snmp на запись. Чем меньше хостов здесь указаны, тем спокойнее можно спать.
access-list 6 remark -- hosts permitted to write snmp MIBs on the switch
access-list 6 permit 192.168.1.67
access-list 6 deny any log
! snmp community для доступа на чтение. Я предпочитаю генерировать случайную строку программой pwgen
! 5 - номер акцесс листа.
snmp-server community XXXXX RO 5
! То же саме но с доступом на запись. Обязательно указываем aceess list
snmp-server community XXXXX RW 6
! Физическое расположение сервера.
! Настоятельно рекомендую указывать, чтоб не перепутать что где стоит. Когда каталистов в сети много помнить наизусть это нерельно.
snmp-server location Street 9, 2 floor
! контактная информация
snmp-server contact admin@test.com
!
! акцесс лист с адресами куда можно по tftp копировать конфиг, если была команда на это по snmp
snmp-server tftp-server-list 4
tacacs-server host 192.168.1.67 key XXXXXX
!
! Текст, который показывается при подключении к коммутатору
banner motd *
________________________________________________________________________________
Warning : Authorized access only !!!
Disconnect IMMEDIATELY if you are not an authorized person !!!
_______________________________________________________________________________

*
!
line con 0
! Увеличиваем кол-во запоминаемых команд
history size 256
! Что бы не пытался ресолвить через ДНС то что получилось в результате опечатки при наборе команды
transport preferred none
! Перывать traceroute по нажатию Ctrl+C
escape-character 3
line vty 0 15
! Указываем aceess list которым ограничен доступ по telnet
access-class vty-access in
! После 300 минут неактивности закрываем сессию
exec-timeout 300 0
history size 256
transport preferred none
transport input telnet
transport output telnet
escape-character 3
!
! Ключ, который используется для уатентификации в ntp
ntp authentication-key 1 md5 xxxxxx xx
! Включаем его использование
ntp authenticate
ntp trusted-key 1
! Акцесс лист в котором указаны сервера
ntp access-group peer 2
! ntp сервера, по которым синхронизируем время
ntp server 192.168.1.80 key 1
ntp server 192.168.1.68 key 1
!
end

0 коммент.:

Отправить комментарий