суббота, 2 августа 2014 г.

Распространенная настройка cisco PIX/ASA для предприятия (часть №1)

Сразу приведу схему, по которой будем ставить задачи на настройку:


Я предполагаю, что данная схема весьма распространена. Поэтому и взял ее за основу.
Сформулируем легенду. Имеется Corporate Office, у которого имеется cisco PIX/ASA (ASA1) на границе и две внутренние сети. Одна для пользователей (Net 192.168.1.0/24, находится за интерфейсом inside), и одна для серверов (Net 10.10.10.0/24, находится за интерфейсом DMZ). В сети для серверов находится корпоративный web-сервер (Office_Web_Server), который должен быть доступен как из сети для пользователей, так и из «интернета». Пользователи имеют доступ в интернет только по 80-му порту и по ftp. Остальные порты закрыты. Также имеется удаленный офис (Net 192.168.2.0/24), у которого тоже имеется PIX/ASA (ASA2) и его сотрудники имеют доступ к Corporate Office. Из интернета могут прийти только на web-сайт (Office_Web_Server) и только по порту 80.
Сформулируем основные задачи:
  • 1 – настроить ASA1 для организации внутренних сетей и разрешения хождения трафика между ними (пользователи имеют доступ к Office_Web_Server по порту 80 (web-сайт), 22 (для sftp) и 10000 (для администрирования сервера ftp по web-интерфейсу);
  • 2 – настроить ASA1 для прохождения пользовательского трафика в «интернет» по указанным портам (80 и 21);
  • 3 – обеспечить доступность внутреннего Web-сайта (Office_Web_Server) для «интернет» - пользователей по порту 80;
  • 4 – обеспечить связь с удаленным офисом посредством VPN (Site-to-Site VPN);
Проверки будут следующие:
  • 1 – успешное прохождение трафика (Открытие веб - страницы, Ping, ftp, sftp, port 10000) от Working_PC (192.168.1.12) к Office_Web_Server (10.10.10.201);
  • 2 – успешное прохождение трафика (Открытие веб – страницы, ftp) от Working_PC (192.168.1.12) к Public_Web_Server (3.3.3.10);
  • 3 – успешное прохождение трафика (Открытие веб - страницы) от Public_Web_Server (3.3.3.10) или Remote_PC (192.168.2.10) к Office_Web_Server (10.10.10.201);
  • 4 – успешное прохождение трафика (Ping, RDP) между Remote_PC (192.168.2.10) и Working_PC (192.168.1.12) через настроенный VPN. Причем, должен быть обеспечен доступ с Remote_PC к Public_Web_Server (3.3.3.10) (открытие веб - страницы).
Итак, приступим :). Сначала настроим ASA1. Заходим на устройство и настраиваем (как запустить ASA в GNS3, можно посмотреть тут, а как запустить ASDM для нее – вот тут).
  • ASA1> en
    Password:
    ASA1# conf t
    ASA1(config)# hostname ASA1
    ASA1(config)# enable password cisco – задаем пароль для привилегированного режима;ASA1(config)# username admin password ciscocisco privilege 15 - создаем локального администратора (нужно для ASDM);
    ASA1(config)# interface ethernet 0/2
    ASA1(config-if)# nameif inside
    INFO: Security level for "inside" set to 100 by default.
    ASA1(config-if)# ip address 192.168.1.1 255.255.255.0
    ASA1(config-if)# no shutdown
    ASA1(config-if)# exit
    ASA1(config)# int ethernet 0/1
    ASA1(config-if)# nameif DMZ
    ASA1(config-if)# security-level 50
    ASA1(config-if)# ip address 10.10.10.1 255.255.255.0
    ASA1(config-if)# no shutdown
    ASA1(config-if)# exit
    ASA1(config)# int ethernet 0/0
    ASA1(config-if)# nameif outside
    INFO: Security level for "outside" set to 0 by default.
    ASA1(config-if)# ip address 2.2.2.2 255.255.255.252
    ASA1(config-if)# no shutdown
    ASA1(config-if)# exit
    ASA1(config)# copy run disk0:/.private/startup-config – сохраняем конфигурацию;
    ASA1(config)# http server enable – включаем доступ по https;
    ASA1(config)# http 192.168.1.0 255.255.255.0 inside – прописываем, кто может заходить через ASDM;
    ASA1(config)# access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 any eq www – создаем список доступа согласно оговоренных портов для внутренних пользователей;
    ASA1(config)# access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq ssh
    ASA1(config)# access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq 10000
    ASA1(config)# access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 any eq ftp
    ASA1(config)# access-list WORK extended permit icmp 192.168.1.0 255.255.255.0 any
    ASA1(config)# access-group WORK in interface inside – привязываем созданный список к интерфейсу;
    ASA1(config)# access-list FOR_NAT extended permit tcp 192.168.1.0 255.255.255.0 any eq www – создаем список для NAT;
    ASA1(config)# access-list FOR_NAT extended permit tcp 192.168.1.0 255.255.255.0 any eq ftp
    ASA1(config)# access-list NO_NAT extended permit ip 192.168.1.0 255.255.255.0 10.10.10.0 255.255.255.0 – создаем список для того, чтобы запросы, адресованные Office_Web_Server, не подпадали под NAT;
    ASA1(config)# nat (inside) 0 access-list NO_NAT – говорим устройству, что не надо пускать через NAT;
    ASA1(config)# nat (inside) 1 access-list FOR_NAT – говорим устройству, что пускать через NAT;
    ASA1(config)# global (outside) 1 interface – включаем NAT на внешнем интерфейсе (outside);
    INFO: outside interface address added to PAT pool
    ASA1(config)# route outside 0.0.0.0 0.0.0.0 2.2.2.1 – задаем маршрут по умолчанию;
    ASA1(config)# copy run disk0:/.private/startup-config
    ASA1(config)#exit
    ASA1#exit
    ASA1>
Пока остановимся и настроим наш роутер Provider. Заходим на него и настраиваем:
  • R1>en
    R1#conf t
    R1(config)#hostname Provider
    Provider(config)#int fa 0/0
    Provider(config-if)#description TO_ASA2
    Provider(config-if)#ip address 1.1.1.1 255.255.255.252
    Provider(config-if)#no shutdown
    Provider(config-if)#exit
    Provider(config)#int fa 0/1
    Provider(config-if)#description To_ASA1
    Provider(config-if)#ip address 2.2.2.1 255.255.255.252
    Provider(config-if)#no shutdown
    Provider(config-if)#exit
    Provider(config)#int fa 1/0
    Provider(config-if)#description To_Public_Web_Server
    Provider(config-if)#ip address 3.3.3.1 255.255.255.0
    Provider(config-if)#no shutdown
    Provider(config-if)#exit
    Provider(config)#exit
    Provider#wr
Проверим, что у нас получилось. Фактически, мы настроили первые два пункта наших задач. Давайте их и проверим. Для этого, я установил ftp – сервер на наших серверах (локальном и удаленном) и настроил простенькие web-страницы на них для проверки. В качестве ftp я использовал вот этот вариант.
Итак, заходим на Working_PC (192.168.1.12). Проверяем ping на Office_Web_Server (10.10.10.201):


Ping есть. Открываем web-браузер и пытаемся открыть локальный web-сайт на Office_Web_Server (10.10.10.201). (Замечу, что мы используем IP-адреса, так как DNS – серверов я не настраивал):


Работает. Пробуем зайти на ftp:


Ftp тоже работает. Попробуем доступ к Office_Web_Server (10.10.10.201) по sftp:


И, наконец, доступ для администратора ftp-сервера (через web-интерфейс):


С задачей №1 справились :). Проверим теперь задачу №2. Снова идем в браузер на Working_PC (192.168.1.12) и теперь пробуем открыть сайт на Public_Web_Server (3.3.3.10):


Работает. Теперь ftp:


Все работает!!! А как насчет ping:


А ping-а и нет, как и договаривались :).
Теперь переходим к настройке задачи №3. Для этого нам придется настроить, так называемый, port-mapping. Он подразумевает перенаправление запросов, приходящих на один IP-адрес и port (обычно на интерфейс outside), на другой IP-адрес и port (адрес внутреннего web-сервера).
Чтобы реализовать запланированное, будем использовать статический NAT. Переходим на наше устройство ASA1 и добавляем в конфигурацию следующее:
  • ASA1>en
    Password:
    ASA1#conf t
    ASA1(config)# static (DMZ,outside) tcp interface www 10.10.10.201 www netmask 255.255.255.255 – статический NAT. Согласно ему, запросы, приходящие на 80-ый порт интерфейса outside, будут перенаправлены на IP-адрес Office_Web_Server-а 80 порт, находящийся за интерфейсом DMZ;
    ASA1(config)# access-list REMOTE extended permit tcp any host 2.2.2.2 eq www –так как по умолчанию все внешние попытки подключения к интерфейсу outside на cisco ASA заблокированы, то создадим разрешающий список доступа (подключится могут любые IP, но только на порт 80);
    ASA1(config)# access-group REMOTE in interface outside – привязываем созданный список доступа к интерфейсу;ASA1(config)# copy run disk0:/.private/startup-config
    ASA1(config)#exit
    ASA1#exit
    ASA1> 
Осталось проверить наши настройки. Для этого, перейдем на Public_Web_Server (3.3.3.10), откроем там web-браузер и попробуем открыть сайт:


Ура!!! Все работает!!! :)
Для ориентировки приведу вам конфигурацию ASA1:
  • ASA1# sh run
    : Saved
    :
    ASA Version 8.0(2)
    !
    command-alias exec wr copy running-config disk0:/.private/startup-config
    hostname ASA1
    enable password 2KFQnbNIdI.2KYOU encrypted

    names
    !
    interface Ethernet0/0
    nameif outside
    security-level 0
    ip address 2.2.2.2 255.255.255.252

    !
    interface Ethernet0/1
    nameif DMZ
    security-level 50
    ip address 10.10.10.1 255.255.255.0

    !
    interface Ethernet0/2
    nameif inside
    security-level 100
    ip address 192.168.1.1 255.255.255.0

    !
    interface Ethernet0/3
    shutdown
    no nameif
    no security-level
    no ip address
    !
    interface Ethernet0/4
    shutdown
    no nameif
    no security-level
    no ip address
    !
    interface Ethernet0/5
    shutdown
    no nameif
    no security-level
    no ip address
    !
    passwd 2KFQnbNIdI.2KYOU encrypted
    ftp mode passive
    access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 any eq www
    access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq ssh
    access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq 10000
    access-list WORK extended permit tcp 192.168.1.0 255.255.255.0 any eq ftp
    access-list WORK extended permit icmp 192.168.1.0 255.255.255.0 any
    access-list FOR_NAT extended permit tcp 192.168.1.0 255.255.255.0 any eq www
    access-list FOR_NAT extended permit tcp 192.168.1.0 255.255.255.0 any eq ftp
    access-list NO_NAT extended permit ip 192.168.1.0 255.255.255.0 10.10.10.0 255.255.255.0
    access-list REMOTE extended permit tcp any host 2.2.2.2 eq www

    pager lines 24
    logging enable
    logging asdm informational
    mtu outside 1500
    mtu DMZ 1500
    mtu inside 1500
    no failover
    icmp unreachable rate-limit 1 burst-size 1
    asdm image disk0:/asdm-625.bin
    no asdm history enable
    arp timeout 14400
    global (outside) 1 interface
    nat (inside) 0 access-list NO_NAT
    nat (inside) 1 access-list FOR_NAT
    static (DMZ,outside) tcp interface www 10.10.10.201 www netmask 255.255.255.255
    access-group REMOTE in interface outside
    access-group WORK in interface inside
    route outside 0.0.0.0 0.0.0.0 2.2.2.1 1

    timeout xlate 3:00:00
    timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
    timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
    timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
    timeout uauth 0:05:00 absolute
    dynamic-access-policy-record DfltAccessPolicy
    http server enable
    http 192.168.1.0 255.255.255.0 inside

    no snmp-server location
    no snmp-server contact
    snmp-server enable traps snmp authentication linkup linkdown coldstart
    no crypto isakmp nat-traversal
    telnet timeout 5
    ssh timeout 5
    console timeout 0
    threat-detection basic-threat
    threat-detection statistics access-list
    !
    class-map inspection_default
    match default-inspection-traffic
    !
    !
    policy-map type inspect dns preset_dns_map
    parameters
    message-length maximum 512
    policy-map global_policy
    class inspection_default
    inspect dns preset_dns_map
    inspect ftp
    inspect h323 h225
    inspect h323 ras
    inspect rsh
    inspect rtsp
    inspect esmtp
    inspect sqlnet
    inspect skinny
    inspect sunrpc
    inspect xdmcp
    inspect sip
    inspect netbios
    inspect tftp
    inspect icmp
    !
    service-policy global_policy global
    username admin password M5soT6HHRslbuoh3 encrypted privilege 15
    prompt hostname context
    Cryptochecksum:4c94b15e8d5c93fd03daada026fd0564
    : end
    ASA1#
Итак, подведем предварительные итоги. Сегодня мы настроили и проверили первые 3 задачи (создали внутренние сети, обеспечили доступ сотрудникам как в интернет, так и к внутреннему web и ftp серверу, а так же сделали доступным внутренний web-сервер для «интернет»-пользователей). В принципе, этого, как мне кажется, вполне достаточно для функционирования небольшого предприятия или офиса.
На этом, я хочу закончить первую часть этого поста. В следующей части мы настроим site-to-site VPN между двумя устройствами cisco ASA и проверим взаимодействие между удаленными и внутренними пользователями.
Надеюсь, вам было интересно и вы что-то почерпнули для себя или просто обновили свои знания.
Жду вас во второй части!!!

Источник: go-to-easyit.com/2011/09/cisco-pixasa-1.html

Комментариев нет:

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