728x90

원문출처 : https://dyjj.tistory.com/173

 

Fortigate Virtual IP (VIP) & DNAT

Fortigate Virtual IP EX. 외부 IP 주소를 내부 IP주소로 NAT하는데 사용됨 일반적으로 DNAT라고 부르고 Fortigate에서는 Virtual IP라고 함 Fortigate Virtual IP 설정화면 GUI > Policy & Objects > Virtual IPs에서 설정이 가

dyjj.tistory.com

 

Fortigate Virtual IP

EX. 외부 IP 주소를 내부 IP주소로 NAT하는데 사용됨

일반적으로 DNAT라고 부르고 Fortigate에서는 Virtual IP라고 함

Fortigate Virtual IP

설정화면

GUI > Policy & Objects > Virtual IPs에서 설정이 가능

Name부분에는 Virtual IP 객체 이름

Interface 선택은 해당 인터페이스로 들어오는 트래픽 DNAT 적용

any로도 설정해서 사용이 가능하지만

예를 들어, wan1 wan2 두개의 interface에 VIP가 정상 작동하지 않을 수 있으니

Interface를 지정해서 설정해주는게 좋다.

Fortigate Virtual IP 설정 예시

wan1 interface의 IP는 192.168.1.100으로 설정되어 있다고 가정하여 설정

목적지 IP(192.168.1.100)로 들어오는 모든 traffic은 NAT되어 10.10.10.1로 전달된다.

Fortigate Virtual IP Port Forwarding 예시

특정 Port에 대해서만 NAT 처리

목적지 IP 192.168.1.100 그리고 Port 10443으로 들어오는 traffic만 NAT처리

이 외 다른 traffic은 NAT처리하지 않음

Virtual IP에서 만들어주고 마지막으로 정책에 적용시켜 주어야 한다.

Incoming Interface - wan1(192.168.1.100)으로 적용되어야 하는게 맞음 / 현재 Test 장비가 SD-WAN 기능으로 wan1,2가 묶여있음

Outgoing Interface - 10.10.10.1이 포함된 internal interface

Source - All / 외부 어떤 사용자가 들어올지 모르기 때문

Destination - 만들었던 VIP 객체 선택

Service - Port Forwarding 했다면 해당 Port만 설정해놓으면 된다.

NAT - 비활성화 / NAT활성화 시 Source IP를 확인할 수 없음

 

이상 일반적인 Virtual IP 설정 알아보기 끝

728x90

https://docs.fortinet.com/document/fortigate/6.2.0/new-features/569561/disable-all-cloud-communication

 

클라우드 통신 비활성화


하나의 명령으로 가능한 FortiGate에서 클라우드 통신을 모두 비활성화하고 싶을때 사용.

config system global
    set cloud-communication disable
end

 

 

Disable all cloud communication

All cloud communication can be disabled with the following CLI command:

config system global
    set cloud-communication disable
end

The forticldd and updated daemons are shutdown, and multiple settings are disabled.

The following settings are automatically changed:

config system global
    set endpoint-control-fds-access disable
    set fds-statistics disable
    unset fgd-alert-subscription
    set security-rating-result-submission disable
end
config system central-management
    set type none
    set include-default-servers disable
end
config system fortiguard
    set service-account-id ''
    set auto-join-forticloud disable
    set sandbox-region ''
    set antispam-force-off enable
    set outbreak-prevention-force-off enable
    set webfilter-force-off enable
end
config system email-server
    set server ''
end
config system ntp
    set ntpsync disable
end
config system autoupdate push-update
    set status disable
end
config system autoupdate schedule
    set status disable
end
config system autoupdate tunneling
    set status disable
end
config log fortiguard setting
    set status disable
end
config vpn ocvpn
    set status disable
end
config log fortiguard override-setting
    set override disable
end

To reenable cloud communications, each individual setting must be changed after running the following CLI command:

config system global
    set cloud-communication enable
end

For example, to reenable automatically connecting and logging in to FortiCloud:

config system global
    set cloud-communication enable
end
config system fortiguard
    set auto-join-forticloud enable
end
728x90

원문출처 : https://www.2cpu.co.kr/network/15105

 

Fortigate에서 수동으로 NTP 서버 지정하기 :: 2cpu, 지름이 시작되는 곳!

sfl 제목 내용 제목+내용 회원아이디 회원아이디(코) 이름 이름(코) stx sop and or 검색

www.2cpu.co.kr

 

주의: CLI 명령어는 펌웨어 버전에 따라 자주 달라지므로, 입력 전에 해당 명령어가 올바른지 확인하는 것이 좋습니다.

 

Fortigate는 GUI에서 FortiGuard 외의 NTP 서버를 지정하는 인터페이스를 제공하지 않습니다.
만약 내부 NTP 서버와 방화벽을 연동해야 한다면, CLI를 통해 설정을 적용해야 합니다.

 

Step 1. NTP 구성 진입

config system ntp

 

Step 2. NTP 설정 변경

set type custom

 

Step 3. ntpserver 구성 진입

config ntpserver

 

Step 4. 서버 입력

edit 1

set server <IP_Addr>

end

end

 

설정 완료 후 구성 정보의 예시

 

NTP Status

 

 

 

번외

set ntpv3: NTPv4가 아닌 NTPv3를 이용해 서버와 통신합니다.

set interface-select-method: specify로 변경한 뒤 NTP 연결을 위해 사용할 인터페이스를 지정할 수 있습니다

set source-ip: NTP 패킷의 Source Address로 사용할 IP 주소를 지정할 수 있습니다.

728x90

원문출처 : https://realforce111.tistory.com/70

 

FortiGate 방화벽 Firmware 설치

FortiGate 방화벽 초기 상태에서 Firmware 설치 방법을 알아보겠습니다. 운영 중인 방화벽은 Firmware Upgrade Path에 따라 firmware 버전을 업그레이드하면 되며, 아래에서 설명하는 방법은 설치된 Firmware를 F

realforce111.tistory.com

 

FortiGate 방화벽 초기 상태에서 Firmware 설치 방법을 알아보겠습니다.

 

운영 중인 방화벽은 Firmware Upgrade Path에 따라 firmware 버전을 업그레이드하면 되며, 아래에서 설명하는 방법은 설치된 Firmware를 Format 하여 삭제하고 새로운 Firmware 파일을 설치하는 방법입니다.

 

설정 내용이 초기화될 수 있으므로 Config Backup 후 Restore 하시거나, 신규로 설치하는 경우에 아래 방법을 사용하시기 바랍니다.

 

FortiGate-100E 인터페이스

방화벽의 Console Port와 MGMT 포트를 확인하고 PC와 연결합니다.

 

PC에서 방화벽 MGMT 포트와 연결한 네트워크 인터페이스에 IP를 임의로 설정합니다. ex) 192.168.1.100/24

 

TFTP를 실행하고 Directory는 방화벽 Firmware 파일이 저장된 경로를 선택합니다.

 

콘솔창(console port speed is 9600 bits per second)을 연결한 뒤 방화벽 전원을 on 합니다.

 

이후에는 아래 절차에 따라 Firmware 포맷 및 설치 진행하시면 됩니다.

 

1) 부팅 과정에서 "Press any key to display configuration menu..." 부분에서 아무 키나 입력

 

2) 부팅 선택 메뉴에서 F 키 입력

 

3) It will erase data in boot device. Continue? [yes/no]: -> yes 입력

 

4) 포맷 완료 후 다시 부팅 선택 메뉴에서 G 키 입력

 

5) Enter TFTP server address [192.168.1.168]: -> TFTP를 실행하는 PC의 IP 입력, ex) 192.168.1.100

 

6) Enter Local Address [192.168.1.188]: -> 방화벽 IP를 임의로 입력, ex) 192.168.1.99

 

7) Enter File Name [image.out]: -> 방화벽 Firmware 파일 이름 입력(확장자 포함)

 

8) Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]? -> D 입력

 

방화벽 Firmware 설치 완료 후 버전 확인(get system status)

728x90

728x90

728x90

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://$server:$port$request_uri;
client_max_body_size 0;
proxy_read_timeout 1200;
}

 

또다른 세팅

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_header Authorization;
proxy_pass_header Server;
proxy_buffering off;
proxy_redirect off;
proxy_pass http://$server:$port$request_uri;
client_max_body_size 0;
proxy_read_timeout 36000s;
}

 

아래것 사용하세요.

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass_header Authorization;
proxy_pass_header Server;
proxy_buffering off;
proxy_redirect off;
proxy_pass http://$server:$port$request_uri;
proxy_max_temp_file_size 0;
client_max_body_size 0;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
proxy_request_buffering off;
}
728x90

원문출처 : https://www.youtube.com/watch?v=BbDnBxlBTdY&t=351s 

 

728x90

DNS over HTTPS(DoH)용 테스트 사이트 - https://1.1.1.1/help

 

 

 

728x90

개요

이 문서에서는 OPNsense에서 LAN 브리지를 활성화하는 방법을 다룹니다. LAN 브리지는 Vault의 선택적 포트를 사용하여 스위치 역할을 합니다. 별도의 물리적 스위치를 사용하는 것에 비해 최적은 아니지만 필요한 경우 작동합니다.

참고: 웹 인터페이스에 액세스하는 데 사용되는 포트가 브리지에 추가된 경우 볼트에 대한 물리적 액세스가 필요합니다.

OPNsense에서 LAN 브리지를 만드는 방법

이 예에서는 Vaults 추가 포트 OPT1  OPT2 를 포함하는 브리지 에 LAN 인터페이스를 할당합니다 . 이 예의 아이디어는 약간의 변형으로 모든 Vault 모델에서 사용할 수 있습니다.

  • 웹 인터페이스에 액세스합니다. 기본 IP 주소: 192.168.1.1 , 사용자 이름: root , 암호: opnsense
  • 볼트 옵션 인터페이스( OPT1 , OPT2 등)가 기본 설정으로 할당되었는지 확인합니다. ' + '를 클릭한 다음 저장 을 클릭하여 할당할 수 있습니다.

OPNsense 인터페이스 할당 메뉴(FW4A)

  • 인터페이스 트리에서 OPT1 메뉴 를 엽니다.
  • 인터페이스 활성화 를 확인 하십시오 . 모든 설정을 기본값으로 두십시오.
  • 저장 을 클릭 한 다음 적용 을 클릭 하면 상단이 변경됩니다.
  • 브리지에 포함될 추가 인터페이스에서 반복

OPNsense 인터페이스 메뉴

  • 인터페이스 트리에서 기타 유형 을 선택한 다음 브리지 를 선택 합니다.
  • 추가 를 클릭 하고 OPT1, OPT2 등을 선택한 다음 저장 을 클릭합니다.

OPNsense 브리지 메뉴

  • 인터페이스 트리에서 할당 을 선택 합니다.
  • LAN 인터페이스를 bridge0 으로 변경하고 저장 을 클릭 합니다.

참고: 이 시점에서 웹 인터페이스에 대한 액세스가 손실됩니다. 다시 액세스하려면 OPT1 또는 OPT2 포트에 연결하십시오.

OPNsense 할당 메뉴

  • Assignments 메뉴에서 이전에 LAN 에 할당된 포트( em1 )를 추가 합니다 . 저장 클릭
  • 이제 OPT3 이 할당 되었는지 확인
  • 기본 설정으로 OPT3 를 활성화 합니다. 변경 사항 저장 및 적용
  • Bridge 메뉴로 돌아가서 bridge0 을 편집하십시오 . OPT3 추가 및 저장

  • 이제 LAN 포트에 웹 인터페이스 액세스 권한이 있는지 확인하십시오.
  • 시스템 > 설정 > 조정 가능 항목 으로 이동합니다.
  • net.link.bridge.pfil_member 찾아 해당 설정을 Default 에서 0 으로 변경합니다 . 변경 사항 저장 및 적용
  • 이전 설정 바로 아래에 있는 net.link.bridge.pfil_bridge 를 찾아 설정을 Default 에서 1 로 변경합니다 . 변경 사항 저장 및 적용

시스템 튜너블 메뉴

  • 재부팅
  • 브리지된 포트가 작동하는지 확인
728x90

원문출처 : https://ja-gamma.tistory.com/entry/%EC%9C%A0%EB%B9%84%EC%BF%BC%EC%8A%A4-%EC%8A%A4%EC%9C%84%EC%B9%98-Config-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C

 

유비쿼스 스위치 - Config 명령어 모음

최근 국내 저가 스위치로 많이 사용하던 다산 스위치가 하락하면서 동급 국내 벤더인 유비쿼스 스위치의 사용률이 높아지고 있습니다. 그래서 이번 시간에는 유비쿼스 스위치의 기본 Config 명령

ja-gamma.tistory.com

 

최근 국내 저가 스위치로 많이 사용하던 다산 스위치가 하락하면서 동급 국내 벤더인 유비쿼스 스위치의 사용률이 높아지고 있습니다. 그래서 이번 시간에는 유비쿼스 스위치의 기본 Config 명령어와 장비들에 대해서 간단히 알아보도록 하겠습니다.

 

 

1. 유비쿼스 스위치 기본

 

: 유비쿼스를 처음하시는 분들도 많겠지만 , 편하게 시스코 스위치랑 비슷하다?라고 생각하시면 됩니다. 콘솔 접속도 9600이고 명령어도 비슷한 부분이 많기 때문에 시스코를 다뤄보신 분들은 크게 어려움이 없을거라고 생각됩니다.

 

유비쿼스 스위치는 최초 접속 시 " login : admin " , Password : frontier " 패스워드 생성 규칙은 '9자 이상 16자 이하의 길이 , 영문 대문자/소문자 , 특수문자 , 숫자 중 3가지 조합이상'의 조건을 만족하시면 됩니다.

 

 

 

 

 

 

 

 

2. 유비쿼스 스위치 기본 명령어

 

- Hostname 설정

Switch# conf t

Switch(config)# hostname XXXXX (한글 , 영문 , 기호 설정 가능 , 최대 63자)

Switch(config)# no hostname

 

 

- 로그인 계정 설정

Switch(config)# username admin privilege 15 password

New password : admin123

retype new password : admin123

Switch(config)# enable password

New password : admin123

retype new password : admin123

 

 

- VLAN 생성

Switch(config)# vlan database

Switch(config-vlan)# vlan 10

Switch(config-vlan)# vlan 20

Switch# show vlan

 

 

- VLAN 적용 (access)

Switch(config)# interface gi0/1

Switch(config-if-giga0/1)# switchport mode access

Switch(config-if-giga0/1)# switchport access vlan 10

 

 

- VLAN 적용 (trunk)

Switch(config)# interface gi0/1

Switch(config-if-giga0/1)# switchport mode trunk

Switch(config-if-giga0/1)# switchport trunk allowed vlan add 10

Switch(config-if-giga0/1)# switchport trunk allowed vlan add 20

 

 

- IP Address 설정

Switch(config)# interface vlan10

Switch(config-if-vlan10)# ip address 10.1.1.1/24

Switch(config-if-vlan10)# ip address 10.2.1.1/24 secondary

 

 

- 라우팅 테이블 설정

Switch(config)# ip route 0.0.0.0/0 10.1.1.254

 

 

- 배너 설정

Switch(config)# banner login ^C

!!!!!!!!!!!!!! WARNING !!!!!!!!!

배너 내용

 

 

- SNMP 설정

Switch(config)# snmp-server community ro

New password : public

retype new password : public

Switch(config)# snmp-server enable traps

Switch(config)# snmp-server host 1.1.1.1 version 2c

 

 

 

 

 

3. 유비쿼스 명령어 모음 2 (상위 명령어)

 

- session logout 설정

Switch(config)# line vty 0 7

Switch(config-line)# exec-timeout 5 0

Switch(config)# line console 0

Switch(config-line)# exec-timeout 5 0

 

 

- 허용된 IP만 접속되는 ACL 설정

Switch(config)# access-list 23 permit 1.1.1.1 0.0.0.0

Switch(config)# access-list 23 deny any

Switch(config)# ip option telnet-acl access-group 23

 

 

- ACL 설정

Switch(config)# access-list 102 deny tcpany anyeq445

Switch(config)# access-list 102 deny udpany anyeq3702

Switch(config)# access-list 102 deny ip10.4.11.246 0.0.0.0 any

Switch(config)# interface range GigabitEthernet1/1/1-1/1/12

Switch(config-if-range)# ipaccess-group 102 in

 

 

- STP 설정

Switch(config)# spanning-tree mode stp

Switch(config)# spanning-tree priority 4096

Switch(config)# spanning-tree enable

Switch(config)# interface range gi0/1-0/24

Switch(config-if-range)# spanning-tree portfast

Switch(config)# interface gi0/25

Switch(config-if-Giga0/25)# spanning-tree path-cost 20000

 

→ RSTP 설정시

Switch(config)# spanning-tree mode rstp

Switch(config)# spanning-tree priority 4096

Switch(config)# spanning-tree enable

Switch(config)# interface range gi0/1-0/24

Switch(config-if-range)# spanning-tree portfast

Switch(config)# interface gi0/25

Switch(config-if-Giga0/25)# spanning-tree path-cost 20000

 

 

- VRRP 설정 (이중화)

→ MASTER설정

Switch(config)# router vrrp10 vlan10

Switch(config-router)# virtual-ip10.1.1.254 backup

Switch(config-router)# circuit-failover gi0/25 60

Switch(config-router)# priority 105

Switch(config-router)# preempt-mode true

Switch(config-router)# enable

 

→ BACKUP설정

Switch(config)# router vrrp10 vlan10

Switch(config-router)# virtual-ip10.1.1.254 backup

Switch(config-router)# enable

 

 

- Voice VLAN 설정

Switch(config)# interface gi0/1

Switch(config-if-Giga0/1)# switchportaccess vlan100

Switch(config-if-Giga0/1)# switchportvoice vlan200

Switch(config-if-Giga0/1)# mlsqostrust dscp

 

 

- DHCP 설정

→ dhcprelay 모드설정

Switch(config)# service dhcprelay

Switch(config)# ipdhcp-server 20.1.1.1

 

→ dhcpserver 모드설정

Switch(config)# service dhcp

Switch(config)# ipdhcppool TEST

Switch(dhcp-config)# network 10.1.1.0/24

Switch(dhcp-config)# default-router 10.1.1.1

Switch(dhcp-config)# range 10.1.1.2 10.1.1.100

Switch(dhcp-config)# dns-server 168.126.63.1

Switch(dhcp-config)# lease 0 0 60

Switch(dhcp-config)# domain-name Ubiquoss

 

 

- 서비스 활성화

Switch(config)# service ssh

Switch(config)#ipsshport 5000

Switch(config)# no service telnet

728x90

728x90

enable
conf t
mirdate(config)#hostname mirdate (호스트명 mirdate로 설정하기)
mirdate(config)#no hostname (호스트명 취소하기)

DNS서버 명령어 찾지않기
mirdate(config)#no ip domain-lookup

로깅 싱크설정스위치에서 설정작업을 하다보면 명령어 입력도중 시스템 관련메시지가 자동으로 표시되므로 명령어를 제대로 입력하기 위해 싱크작업을 한다
mirdate(config)#line 0 16
mirdate(config-line)#logg sync

콘솔접속 유지하기
mirdate(config)#line console 0 
mirdate(config-line)# exec-timeout 0

패스워드 설정
mirdate(config)# enable secret cisco
해당명령어는 관리자 패스워드를 cisco 로 설정하겠다는 뜻이다

라인상황 확인하기
mirdate#show line

라인상황을 확인후 VTY 설정을 한다
mirdate(config)#line vty 0 15
mirdate(config-line)# password cisco
이러면 원격접속 라인 0~ 15까지 라인의 패스워드가 cisco 로 설정된다

vty 패스워드는 암호화 되지 않았기에 암호화를 한다
mirdate(config)#service password-encryption

.VLAN 1에 IP 할당하기
mirdate(config)#int vlan 1
mirdate(config)#ip address 10.10.10.10 255.255.255.0
mirdate(config)#no shutdown (포트 활성화)

설정 저장
mirdate(config)#do write memory

컨피그 확인 방법
mirdate#show running-config

배너달기
mirdate(config)#banner motd *Authonized access only!!*시작전후 *을쓴다

한글배너 입력하기
mirdate(config)# default-value exec-character-bits 8
mirdate(config)# banner motd *비인가자의 접속을 엄금합니다!!*
mirdate(config)#

인터페이스 설명달기
mirdate(config)# interface f 1/0/1
mirdate(config)# description mirdate1
mirdate(config)# interface f 1/0/2
mirdate(config)# description mirdate2

기본설정파일 셋팅
enable
config terminal
no ip domain-lookup
enable secret $gm@te2oo8

alias exec c config terminal
alias exec r show running-config
alias exec i show ip route
alias exec b show ip interface breif

line consol 0
logging synch
exec-timeout 0
lin vty 0 5pass $gm@te2oo8
exit
hostname

NTP 서버 주소
time.bora.net
time.nist.gov
time.windows.com
time.google.com

CISCO 장비 시간 확인 명령
mirdate#sh clock
.07:37:23.322 UTC Tue Jun 29 2010

CISCO 장비 시간대 설정 변경
mirdate#conf t
mirdate(config)#clock timezone KST 9
mirdate(config)#exit
mirdate#wr
mirdate#sh clock
.16:39:10.918 KST Tue Jun 29 2010

CISCO 장비 시간 설정
mirdate#clock set 22:25:00 29 jun 2010

CISCO 장비 NTP 설정
mirdate#conf t
mirdate(config)#ntp server [서버IP주소]
mirdate(config)#exit
mirdate#wr

 

빠른 스패닝트리 설정

mirdate#conf t

mirdate(config)#spanning-tree mode rapid-pvst
mirdate(config)#spanning-tree portfast edge default
mirdate(config)#spanning-tree extend system-id

mirdate(config)#exit
mirdate#wr

mirdate#show running-config 로 확인

728x90

Wireguard 설정의 검색 키워드는 'Wireguard site to site' 또는 'Wireguard road warrior'을 사용하면 됩니다.

 

라우터<->PC나 폰등 클라이언트 연결의 경우, 이러한 방식의 VPN에 대한 키워드는 road warrior입니다.
WAN아이피가 유동방식이라면, 클라이언트쪽 endpoint에 DDNS주소를 넣으면 됩니다.

아래는 참고 영상 입니다.

https://www.youtube.com/watch?v=ZNyCtMyGzLk 

 

728x90

Cisco_Catalyst_2960-L_Easy_Setup_Guide_20161101_KO.pdf
2.69MB

728x90

cisco-catalyst-2960-l-series-switches.pdf
0.42MB

728x90

"WS-C2960L-16TS-LL" 해당 모델은 콘솔 케이블로 2가지 이용이 가능 합니다.

 

 

전용 콘솔 케이블이 없는 경우 전면의 "미니 5핀 (일반 케이블도 가능)"을 이용하여 콘솔에 접속 할 수 있으며 시스코 USB 드라이버를 설치해주시면 콘솔로 접근할 수 있습니다.

 

윈도우10에서도 정상적으로 동작하는 드라이버 입니다.

설치가 정상적으로 완료되면 장치관리자에 아래 이미지와 같은 장치가 생성 됩니다.

 

 

이후 장치관리자의 포트에서 포트 확인후 일반 시리얼과 같은 방식으로 이용 하시면 됩니다.

Cisco USB Serial.exe
5.60MB

728x90

[오류증상]

*Mar  1 00:01:08.039: %SYS-4-CONFIG_RESOLVE_FAILURE: System config parse from (tftp://255.255.255.255/network-confg) failed
*Mar  1 00:01:08.039: %SYS-4-CONFIG_RESOLVE_FAILURE: System config parse from (tftp://255.255.255.255/cisconet.cfg) failed
*Mar  1 00:01:08.048: %SYS-4-CONFIG_RESOLVE_FAILURE: System config parse from (tftp://255.255.255.255/switch-confg) failed
*Mar  1 00:01:08.048: %SYS-4-CONFIG_RESOLVE_FAILURE: System config parse from (tftp://255.255.255.255/ciscortr.cfg) failed

 

 

[해결방법]

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#no service config
Switch(config)#exit
Switch#wr
Building configuration...
[OK]
Switch#
*Mar  1 00:13:47.343: %SYS-5-CONFIG_I: Configured from console by console
Switch#

 

[출처]

https://community.cisco.com/t5/networking-documents/the-user-receives-the-sys-4-config-resolve-failure-error-message/ta-p/3111681

728x90

다시 배포하기 전에 스위치를 평면화하는 것은 항상 웹에서 조회하는 간단한 작업 중 하나이므로 나중에 시간을 절약하고 여기에 문서화해야 한다고 생각했습니다.

1 단계.

"모드" 버튼을 누른 상태에서 콘솔 케이블을 연결하고 스위치의 전원을 켭니다.

 

 

 

 

 

 

이렇게 하면 플래시 파일 시스템이 초기화되기 전에 부팅 프로세스가 중단되고 잠시 후("모드" 버튼을 계속 누르고 있음) 다음 프롬프트가 표시됩니다.

미디어 유형 1에 드라이버 버전 1 사용
기본 이더넷 MAC 주소: 4c:30:2d:81:ef:80
Xmodem 파일 시스템을 사용할 수 있습니다.
암호 복구 메커니즘이 활성화되었습니다.
초기화하기 전에 시스템이 중단되었습니다.
플래시 파일 시스템. 다음 명령은 초기화됩니다
플래시 파일 시스템 및 운영 로드 완료
시스템 소프트웨어:
flash_init
 신병
스위치:

2 단계.

flash_init 명령을 사용하여 플래시 파일 시스템을 초기화합니다 .

 

switch: flash_init
플래시 초기화 중...
mifs[2]: 파일 10개, 디렉토리 1개
mifs[2]: 총 바이트 수: 1806336
mifs[2]: 사용된 바이트 수: 612352
mifs[2]: 사용 가능한 바이트 수: 1193984
mifs[2]: mifs fsck는 1초가 걸렸습니다.
mifs[3]: 파일 0개, 디렉토리 1개
mifs[3]: 총 바이트 수: 3870720
mifs[3]: 사용된 바이트 수: 1024
mifs[3]: 사용 가능한 바이트 수: 3869696
mifs[3]: mifs fsck는 0초가 걸렸습니다.
mifs[4]: 파일 5개, 디렉토리 1개
mifs[4]: 총 바이트 수: 258048
mifs[4]: 사용된 바이트 수: 9216
mifs[4]: 사용 가능한 바이트 수: 248832
mifs[4]: mifs fsck는 0초가 걸렸습니다.
mifs[5]: 파일 5개, 디렉토리 1개
mifs[5]: 총 바이트 수: 258048
mifs[5]: 사용된 바이트 수: 9216
mifs[5]: 사용 가능한 바이트 수: 248832
mifs[5]: mifs fsck는 1초가 걸렸습니다.
 -- 더 --
mifs[6]: 566개 파일, 19개 디렉토리
mifs[6]: 총 바이트 수: 57931776
mifs[6]: 사용된 바이트: 28429312
mifs[6]: 사용 가능한 바이트 수: 29502464
mifs[6]: mifs fsck는 21초가 걸렸습니다.
...플래시 초기화를 완료했습니다.

3단계.

플래시 디렉토리에서 config.text, private-config.text 파일을 삭제합니다 .

switch: delete flash:config.text
"flash:config.text"(y/n)를 삭제하시겠습니까?y
"flash:config.text" 파일이 삭제되었습니다.
switch: delete flash:private-config.text
"flash:private-config.text"(y/n)를 삭제하시겠습니까?y
"flash:private-config.text" 파일이 삭제되었습니다.

4단계.

플래시 디렉토리에서 vlan.dat 파일을 삭제합니다 .

switch: delete flash:vlan.dat
"vlan.dat"(y/n)를 삭제하시겠습니까?y
"flash:vlan.dat" 파일이 삭제되었습니다.

5단계.

스위치를 재부팅하면 완료됩니다.

swtich: boot
"flash:c2960s-universalk9-mz.122-58.SE2.bin" 로드 중...
--- 시스템 구성 대화 상자 ---
비밀 경고 활성화
----------------------------------
장치 관리자에 액세스하려면 활성화 암호가 필요합니다.
초기 구성 대화 상자에 들어가면 암호 활성화를 묻는 메시지가 표시됩니다.
초기 구성 대화 상자에 들어가지 않도록 선택하거나 암호 활성화를 설정하지 않고 설정을 종료하는 경우
구성 모드에서 다음 CLI를 사용하여 암호 활성화를 설정하십시오.
암호 0 <일반 텍스트 암호> 활성화
----------------------------------
초기 구성 대화 상자로 들어가시겠습니까? [예 아니오]:
% '예' 또는 '아니오'로 답하십시오.

 

읽어 주셔서 감사합니다.

728x90

기존 사용하고 있던 MikroTik RB4011iGS+RM 후속 모델이 출시되서 냉큼 사버렸습니다.

기존 장비도 성능은 남아돌지만서도 궁금증을 못 이겨.. 이놈의 장비병이 또... 쿨럭;

 

기존 세팅내역이 많아서 바로 옮겨타기 힘드네요. 천천히 세팅해서 갈아타야겠습니다.

728x90

다음으로 2세대 방화벽은 보통 차세대(Next Generation) 방화벽이라 하며 통상 줄여서 NG방화벽이라고 호칭합니다. 1세대 방화벽과의 가장 큰 차이점은 단말이 사용하는 응용 프로그램(Application)을 인식해서 선별적으로 차단이 가능하다는 점입니다.

 

 

1세대 방화벽은 포트 넘버로만 트래픽을 구분할 수 있었기 때문에 TCP 80을 사용하는 모든 트래픽은 모두 차단하거나 허용할 수밖에 없었습니다. 예를 들면 인터넷 사용은 허용하면서 메신저나 P2P 다운로드 트래픽은 차단하고 싶거나, 인터넷 중에서도 유튜브, 인스타그램 등만 선별적으로 차단하는 보안 정책은 모두 같은 TCP 80 포트를 사용하기 때문에 불가능하였습니다.

 

 

우리가 사용하는 인터넷과 같은 통신은 참가하는 모든 단말이 동일한 규칙으로 신호를 주고받아야 하는데 이를 통신 규약을 프로토콜(Protocol)이라고 합니다. 그중에 가장 대표적인 것이 ISO(국제표준화기구)에서는 제정한 OSI 7 레이어 참조 모델이 입니다.

 

 

아래 <그림 1> OSI 프로토콜의 3번째 Network 계층이 IP 주소를 정의하는 곳이며, 4번째 Transport 계층이 TCP 혹은 UDP의 포트 넘버를 정의하는 단계입니다. 즉 1세대 방화벽은 4 계층까지만 모니터링이 가능한 장비이기 때문에 마지막 7번째 Application 계층인 응용 프로그램 단계는 모니터링이 불가능합니다. 

 

 

차세대 방화벽은 Application계층 데이터 모니터링이 가능하기 때문에 4 계층에서 같은 서비스 포트를 사용하는 프로그램이더라도 서로 구분이 가능합니다. 즉 포트 넘버가 아니고 카카오톡 같은 메신저, 토렌트 같은 P2P 파일공유 트래픽을 구분할 수 있습니다. 그뿐만 아니라 카카오톡 트래픽 중에서도 단순한 채팅 트래픽과 파일을 공유하는 트래픽을 구분할 수 있기 때문에 채팅만 허용하고 파일 전송만 선별적으로 차단하는 제어가 가능합니다.

 

<  그림 1  > OSI 7 레이어 및 TCP/IP 4 레이어 모델

 

 

그럼 차세대 방화벽은 어떻게 애플리케이션을 구분할 수 있을까요? 아래 <그림 2>와 같이 패킷이 들어오면 일단 보안정책으로 포트 넘버를 먼저 확인하게 됩니다. 그다음으로 패킷의 L7 레벨에 있는 데이터를 읽어서 방화벽이 가지고 있는 트래픽 패턴 정보와 동일한 패턴이 발견되는지 확인하여, 애플리케이션을 식별하고, 식별이 되지 않으면 다음으로 프로토콜 디코더라는 일종의 패킷 해석기를 이용하여 주고받는 내용의 특성을 분석하고 트래픽을 판별하는 방식을 이용합니다. 

 

 

이 단계에서도 판별이 되지 않으면 휴리스틱(Heuristic) 기법을 이용하여 정확하게 패턴이 일치하지 않더라도 통계적인 기법으로 유사도를 측정하여 80~90% 이상 패턴이 유사하면 특정 애플리케이션 트래픽으로 판별하는 방식으로 동작합니다.

 

 

< 그림 2 >  Application 탐지 프로세스 (출처: 팔로알토 네트웍스)

 

 

그럼 현재 회사에서 많이 사용 중인 차세대 방화벽에서 어떤 애플리케이션을 탐지하고 허용/차단할 수 있는지 알아보도록 하겠습니다. 최근 10년간 가장 트래픽을 많이 발생시키고 있는 프로그램 중의 하나는 단연코 P2P 파일공유 프로그램들입니다. 

 

 

가장 대표적인 경우가 토렌트(torrent)류의 프로그램입니다. 웹하드와 같이 특정한 서버에 접속해서 파일을 다운로드하는 것이 아니라, 서버와 클라이언트가 구분되지 않고, 네트워크에 접속하는 각 개인이 보유 중인 파일을 접속된 다른 사용자들에게 파일을 전송하는 서버 역할을 하고, 내가 없는 파일은 다른 사용자에게서 받아 오는 클라이언트 역할을 동시에 수행하는 프로그램입니다.

 

 

이 프로그램의 특징은 일대일로 파일을 보내고 받는 것이 아니라, 내가 파일을 받을 때 하나의 파일을 여러 개로 쪼개서 여러 개의 단말에서 동시에 파일을 받을 수 있고, 반대로 파일을 보낼 때도 여러 개의 단말에 동시에 전송할 수 있는 점입니다. 

 

 

그래서 동일한 파일을 여러 단말이 많이 보유할수록 파일 전송속도가 빨라지는 특징이 있습니다. 문제는 대용량의 영상 파일을 주고받을 경우 많은 트래픽을 유발하기 때문에 집에서 사용하는 것은 문제가 없으나 회사 같은 조직 내에서 사용할 경우 네트워크 대역폭을 소모시켜서 업무에 지장을 줄 수 있다는 점입니다. 아래 <그림 3>는 방화벽에서 탐지할 수 있는 P2P 파일 공유 프로그램 목록입니다.

 

 

< 그림 3 >  패턴으로 등록된 P2P 파일공유 프로그램 (출처 : 팔로알토 네트웍스)

 

 

목록에 보면 다양한 파일공유 프로그램을 확인할 수 있고 분류 및 위험도, 기본통신방식 등이 나열되어 있습니다. 위험도는 벤더에서 임의로 지정한 등급으로 숫자가 높을수록 위험도가 높은 것으로 특정 등급을 묶어서 차단하거나 로그를 남기는 설정을 할 때 사용할 수 있습니다.  

 

 

파일공유 프로그램 이외에도 네이버 같은 포털 서비스, 다량의 트래픽을 유발하는 영상 스트리밍 서비스인 유튜브(YouTube), 채팅과 파일 전송 기능이 있는 카카오톡, 최근 인기가 높아진 인스타그램과 같은 SNS 서비스 등도 식별이 가능합니다.

 

 

아래 <그림 4>과 같이 네이버 트래픽에서도 블로그, 라인과 같은 메신저, 메일, 엔드라이브 같은 웹하드 서비스, 네이버 TV 같은 비디오 스트리밍 트래픽을 식별할 수 있기 때문에 세분화해서 트래픽을 제어할 수 있습니다.

 

 

< 그림 4  > 네이버 트래픽 식별 목록 (출처 : 팔로알토 네트웍스)

 

 

아래 <그림 5>은 유튜브 트래픽 식별 목록입니다. 영상을 시청하는 것 이외에도 영상을 업로드하는 트래픽도 식별할 수 있는 것을 확인할 수 있습니다.

 

 

< 그림 5  > 유튜브 트래픽 식별 목록 (출처 : 팔로알토 네트웍스)

 

 

아래 <그림 6>은 국민 메신저인 카카오톡 트래픽 식별 목록입니다. 거의 전 국민이 사용하는 서비스이다 보니 보안을 위해 사용을 원천 차단한다면 원성이 대단할 것입니다. 이럴 경우 채팅 서비스는 허용하고 파일 전송 기능만 사내에서 사용을 차단한다면 보안을 강화하면서 임직원의 민원도 해결할 수 있을 것 같습니다.

 

 

<  그림 6 >  카카오톡 트래픽 식별 목록 (출처 : 팔로알토 네트웍스)

 

 

마지막으로 아래 <그림 7>와 같이 사진 기반으로 운영되는 SNS인 인스타그램도 단순한 검색과 포스팅 트래픽을 구별할 수 있기 때문에 좀 더 유연한 보안 정책을 설정 가능합니다.

 

 

<  그림 7 >  인스타그램 트래픽 식별 목록 (출처 : 팔로알토 네트웍스)

 

 

지금까지 차세대 방화벽의 애플리케이션 탐지 기능에 대해 살펴보았습니다. 대략 10년 전부터 차세대 방화벽이 도입되기 시작하면서, 최근에 도입되는 방화벽은 모두 차세대 방화벽을 표방하고 있습니다. 대부분의 벤더는 애플리케이션 탐지 기능을 기본 기능으로 제공하지 않고 별도의 서비스 라이선스를 구매해야 사용 가능하게 하고 있습니다. 

 

 

그 이유는 새로운 서비스가 계속 등장하고 있기 때문에 거기에 맞추어 식별 목록을 계속 업데이트해 줘야 하기 때문입니다. 보통 년 단위로 라이선스를 갱신해야 장비에서 업데이트된 식별 목록을 주기적으로 다운로드할 수 있습니다.

'IT > 네트워크(Network)' 카테고리의 다른 글

Cisco 2960 스위치를 공장 기본 설정으로 재설정  (0) 2022.01.22
Mikrotik RB5009UG+S+IN  (3) 2022.01.13
웹 방화벽  (0) 2022.01.04
DMZ 네트워크를 이해하자  (0) 2022.01.04
방화벽 가상화  (0) 2022.01.04
728x90

웹 방화벽(Web Application Firewall)은 통상 앞글자를 따서 와프(WAF)라고 부릅니다. 앞에서 설명한 차세대 방화벽도 Web 트래픽은 식별할 수 있기 때문에 웹 방화벽과 동일한 기능을 지원하지 않을까 생각할 수 있습니다. 그럼 여기서 차세대 방화벽과 웹 방화벽의 차이점을 먼저 알아보도록 하겠습니다.

 

차세대 방화벽은 모든 트래픽에 대해 L7 레벨을 모니터링하고 제어할 수 있는 장비이며 네트워크의 다양한 트래픽을 관리할 수 있는 장비라면, 웹 방화벽은 http, https트래픽만 집중해서 모니터링하여 웹서버 해킹을 방지하는 목적으로 http method(get, put)와 같은 세부적인 옵션 값에 따라 임계치를 설정하여 차단하는 장비로써 차세대 방화벽으로 차단이 불가능한 웹 기반 공격을 전문적으로 탐지 차단하는 보안장비입니다.

 

일반적으로 차세대 방화벽이 설치되어 있더라도 업무상 혹은 비즈니스 목적으로 운영되는 웹 기반 서버가 있다면 추가적으로 웹 방화벽을 설치하여 웹 서버의 보안을 강화하는 것이 일반적인 적용 방법입니다.

 

그럼 웹 방화벽이 등장한 배경을 알아보죠. 앞에서 설명한 1세대 혹은 2세대(차세대) 방화벽의 보급이 늘어나면서, 서비스하지 않는 모든 포트는 방화벽의 보안정책으로 차단되게 되었습니다. 보통 서버들은 사용자가 이용하지 않는 서비스라도 OS가 설치되면서 기본적으로 오픈되는 포트가 여러 개 있습니다.

 

예를 들면 윈도 OS를 설치하면 파일공유, 원격 접속 등의 위한 포트가 기본으로 오픈되면서 방화벽에서 차단되지 않으면, 인터넷으로 통해서도 접속이 가능한 경우가 종종 있습니다. 이렇게 기본적으로 오픈되는 포트를 통해 많은 공격이 이루어졌지만, 방화벽의 보급이 늘어나면서 서비스하는 포트 이외에는 인터넷으로 통해 접근이 불가능해지면서, 공격자의 공격 대상이 줄어들게 되었습니다.

 

그런데 대부분의 조직에서 웹 서버는 기본적으로 사용하기 때문에 방화벽에서 HTTP, HTTPS 서비스 포트는 열지 않을 수가 없습니다. 공격자의 입장에서는 HTTP, HTTPS 이외에는 열려 있는 포트가 없다 보니, 웹 서비스만 집중적으로 연구해서 공격 기술을 개발할 수밖에 없는 환경이 된 것입니다. 

 

이렇게 웹 기반 공격이 점점 발전되어 다양화되면서, 홈페이지 등이 변조되거나, 웹 서버를 해킹한 후에 이를 통해 사내의 DB서버에 접근해서 조직의 정보를 탈취하는 일이 빈번하게 발생되었습니다. 이런 웹 기반의 공격에 대응하기 위해 웹 공격 유행을 분석하여 3~4년 단위로 유행하는 공격 방식을 연구하여 가장 많이 사용하는 공격 유형 10가지(Top 10)를 발표하는 조직이 있습니다.

 

OWASP(Open Web Application Security Project)라는 일종의 커뮤니티로 다양한 개발자, 보안 관리자 등이 자발적으로 참여하여 조직한 비영리단체로 OWASP Top 10 이란 이름으로 주기적으로 보고서를 발표하고 있습니다. 최근 발표된 버전은 2017로서 아래 <그림 1>과 같이 A1부터 A10까지 가장 빈번하게 발생되는 웹 공격 10개를 나열하고 각 공격 별 취약점 확인 방법과 보안 대책을 설명하고 있습니다.

 

< 그림 1 >  OWASP Top 10 2013, 2017 비교

 

제일 빈번하게 발생되는 공격인 인젝션(Injection:주입)의 경우 말 그대로 클라이언트의 입력값을 조작하여 비 정상적인 명령어를 주입하고 해당 서버의 DB에 있는 다양한 정보를 탈취하거나 관리자 권한을 획득하는 공격 방법입니다. 쉬우면서도 공격 성공률이 높은 유형으로 2017년 3월에 발생한 "여기 어때"라는 숙박 정보 회사의 고객 DB정보를 통해 가입자 절반인 99만 명의 이름, 휴대전화 번호, 숙박 이용정보가 노출되는 사고도 이 공격으로 발생한 사고였습니다.

 

가장 유명한 공격 중 하나인 SQL Injection 공격 방식을 설명드리면, 아래 <그림 2>에 있는 1번과 같이 정상적인 SQL 명령어가 있다고 가정해 보겠습니다. 여기에 2번과 같이 ' OR 1=1 --'이라는 문구를 중간에 삽입하여 3번과 같이 SQL 명령어를 웹 서버로 전송하게 합니다. 1번 명령어는 ID가 INPUT1이고 패스워드가 INPUT2인 사용자의 모든 정보를 불러오게 하는 명령어인데 여기에 특정 문구를 삽입해서 3번과 같이 변조하여 서버로 전송하게 되면, 삽입한 문구 중 '--' 뒤에 있는 문구는 모두 주석 처리되고, OR 1=1은 언제나 True가 되기 때문에 결과적으로 서버에서는 유저 테이블에 있는 모든 정보를 불러오게 하는 명령어로 인식되기 때문에 서버가 보유한 모든 유저들의 정보가 공격자에게 출력되는 결과가 초래되게 됩니다.

 

< 그림 2 >  SQL Injection 공격 방식 (출처: 안랩)

 

그럼 이런 공격을 웹방화벽에서는 어떻게 차단할 수 있는지 알아보죠. 웹 방화벽은 웹 서버 앞에서 사전에 HTTP 패킷을 분석하여 정상적이라고 판단되는 트래픽만 웹 서버로 전달합니다. 아래 <그림 3>와 같이 트래픽이 들어오면 아래와 같은 여러 가지 단계의 분석을 통해 공격을 차단하게 됩니다.

 

1. 패킷의 L7 레벨을 확인하여 정상적인 HTTP구문 인지 먼저 확인한다.

2. URI(예:www.abc.com/user)를 식별하여 적용되어 있는 정책을 확인하고 어떤 공격 탐지 rule을 적용하여 검사할 것인지 판단한다.

3. 적용된 공격 탐지 룰에 따라 여러 가지 공격을 탐지한다. 이때 블랙리스트(black list)를 이용하여 사용할 수 없는 구문이나 패턴을 먼저 차단시킨다.

4. 화이트리스트(white list)를 이용하여 허용된 구문 또는 패턴을 통과시킨다.

5. 정상적인 시도라도 임계치 설정을 통해 짧은 시간 동안 여러 번의 시도가 있으면 차단시킨다. 6. 서버에서 응답하는 웹 페이지가 변조되어 있는지, 에러 코드를 반환을 통해 공격자에게 정보를 제공하는지 확인하여, 관리자에게 경보를 알리거나 반환 값을 숨긴다.

 

< 그림 3 >  웹 방화벽의 공격 트래픽 분석 프로세스 (출처 : 펜타시큐리티)

 

웹 방화벽의 경우도 일반 방화벽과 같이 시간이 지나면서 점점 발전을 거듭하였습니다. 초기 웹 방화벽은 사전에 관리자가 설정하는 화이트리스트, 블랙리스트에 의존하기 때문에 오탐(정상적인 트래픽인데 공격으로 판단하는 경우) , 미탐(공격 트래픽인데 탐지하지 못하는 경우)이 발생하는 경우가 매우 빈번하였습니다. 

 

이런 문제는 웹 방화벽이 URI(예: www.daum.net/news), 웹 트래픽 내용을 모니터링하여 학습하면서 정상적인 접속 내용은 화이트리스트를 자동으로 추가하거나, 기존에 학습된 내용과 현저히 다른 내용이 보이면 공격으로 판단하는 등, 사전에 등록된 패턴에 의존하지 않고, 유사도 등을 측정하여 공격을 차단하는 방식이 사용되었습니다.

 

최근에는 정치적이거나 민족주의적인 이유들, 예를 들면 815 광복절에 일본 해커가 독도 홍보사이트를 공격하여 홈페이지 내용의 위 변조를 시도하는 것 같이 과시형 공격이나, 웹 서버를 통해 고객 자료를 탈취하여 비트코인 등의 금품을 요구하는 행위 등 다양한 공격이 웹 서버를 대상으로 이루어지고 있습니다. 쇼핑몰, 서비스 예약, 웹 포탈, 홍보 사이트와 같이 조직의 비즈니스가 웹에서 대부분 이루어지는 조직에서 이제 웹 방화벽이 필수적인 보안 장비가 되었습니다.

'IT > 네트워크(Network)' 카테고리의 다른 글

Mikrotik RB5009UG+S+IN  (3) 2022.01.13
차세대 방화벽  (0) 2022.01.04
DMZ 네트워크를 이해하자  (0) 2022.01.04
방화벽 가상화  (0) 2022.01.04
Stateful 트래픽 처리방식 방화벽(Firewall)  (0) 2022.01.04
728x90

비무장지대 - DMZ(Demilitarized Zone)란 단어 그대로, 아군과 적군 어느 쪽이든 무장을 하지 않는 지리적 군사 영역을 의미합니다.

 

네트워크에도 DMZ라는 것이 있는데 이것은 무엇이고 언제 사용하는지 알아보겠습니다.

 

컴퓨팅과 네트워크를 사용하는 기관들은 보안의 목적으로 폐쇄 형태의 내부 네트워크(LAN: Local Area Network)만 사용하여 각종 인트라넷이나 내부 시스템을 운영하는 방법도 있지만 이 경우엔 외부 네트워크로는 단절되어 웹 검색이나 이메일링, DNS 사용, FTP 등의 기본적인 인터넷 서비스를 사용할 수 없습니다.

 

외부 네트워크 연결을 위해 별도의 네트워크 케이블링을 하여, 물리적으로 내부/외부 다른 네트워크를 사용할 수 있지만 매우 불편한 상황은 어쩔 수 없습니다. 필자도 예전 SI 사업장에서 내부망/외부망 랜선을 각각 바꿔가며 프로젝트를 했던 경험이 있습니다.

 

문제는 비단 사람뿐만 아니라, 내부 IT 시스템들도 때로는 외부 네트워크를 사용해야 한다는 점입니다. 리눅스 운영체제, MySQL 등을 비롯한 각종 오픈 소스 설치 파일을 다운로드해서 설치하고, 패치 파일 버전을 확인하고 제때 업데이트해야 하는 과정이 있습니다. 업무상 기관의 이메일을 사용해야 하는데 이메일 서버는 내부에 있다 해도 SMTP는 외부에서 진입할 수 있도록 해야 하며, 기관에서 운영하는 웹 사이트는 외부에서 접속하지만 내부에 웹 서버가 존재합니다. 이러한 요구 사항을 DMZ로 해결할 수 있습니다.

 

"내부 네트워크에 존재하지만, 외부에서 접근할 수 있는 특수한 네트워크 영역을 DMZ라고 합니다."

 

DMZ의 활용 예제를 알아보겠습니다.

 

우리 회사의 IT 시스템은 외부에서 접속해야 할 웹 서버/이메일 서버/FTP 서버 시스템이 존재합니다.
이 시스템 영역을 A라고 가정해보겠습니다.

우리 회사의 IT 시스템은 내부에서만 사용하는 시스템 또한 존재합니다.
이 시스템 영역을 B라고 가정해보겠습니다.

외부에 열린 A에서, B로의 접속은 보안상 우려(해킹 등)가 있으므로 접속을 막습니다.
따라서, A를 통해 내부 시스템에 접속이나 침입이 불가능합니다.

B에서, A로의 접속은 보안상 우려가 없고, A가 가진 정보가 필요한 경우가 있으므로 접속을 허가합니다.
따라서, 내부 시스템은 외부 인터넷을 통해 얻은 정보를 내부 DB, 스토리지 등에 저장하고, 활용할 수 있습니다.

 

위 시나리오를 다이어그램으로 대략 표현하면 아래와 같습니다. 외부 연결이 필요한 시스템들을 DMZ에 배치합니다. 그렇다고 모든 연결이 DMZ로 가능한 것이 아니라, 알맞은 서비스만 연결이 되도록 방화벽 설정이 필요합니다. DMZ에서 내부로의 연결은 불가능하지만 반대로 내부에서 DMZ로의 연결은 가능합니다. 이는 또 다른 방화벽에서의 설정으로 구현 가능합니다.

 

DMZ를 구글링 해보면, 아래와 같이 단일 방화벽 구성도 가능합니다. (실제로 이렇게 사용을 더 많이 하고 있습니다)

<방화벽 한 개로 구성하는 DMZ 네트워크>

'IT > 네트워크(Network)' 카테고리의 다른 글

차세대 방화벽  (0) 2022.01.04
웹 방화벽  (0) 2022.01.04
방화벽 가상화  (0) 2022.01.04
Stateful 트래픽 처리방식 방화벽(Firewall)  (0) 2022.01.04
포트 스캔(Port Scan)  (0) 2021.12.17
728x90

이번 글에서는 가상화 기술이 발전하면서 거기에 맞추어 방화벽이 어떻게 발전했는지 알아보도록 하겠습니다. CPU의 코어(core) 수가 증가하면서, 하나의 CPU에서 동시에 여러 개의 OS를 구동할 수 있는 기술이 발전하였습니다. 이 기술을 통해 가상 서버의 사용이 활성화되면서, 이 기술을 서버가 아닌 네트워크 장비에도 활용하고 싶은 수요가 생기면서 NFV(Network Function Virtualization: 네트워크 기능 가상화)라는 용어가 등장하였습니다.

 

현재 대부분의 네트워크 장비, 예를 들면 라우터, 스위치, 방화벽 등은 서버 형태가 아닌 별도의 전용 장비로 공급되고 있습니다. 하지만 이런 장비들도 최초에는 일반적인 서버에 프로그램 방식으로 설치되는 사용되기 시작하였습니다. 지난 글에서 소개드린 1세대 방화벽의 시초인 체크포인트(checkpoint)의 경우에도 처음에는 H/W가 아니라 S/W로 출시되었습니다. 

 

즉, 방화벽을 설치하기 위해서 일반적인 서버를 구매하여 여기에 방화벽 소프트웨어를 설치하고, 서버 뒤에 네트워크 케이블을 연결하여 동작시켰습니다. 2000년 초중반까지도 이런 방식처럼 서버 형태로 공급되어,, 아주 높은 성능을 요구하지 않는 환경에서는 범용 서버의 CPU 성능으로도 웬만한 트래픽은 문제없이 처리할 수 있었습니다.

 

하지만 점점 처리해야 할 트래픽이 증가하면서 범용 서버의 성능으로는 한계에 다다르게 되었습니다. 이제 범용 서버가 아닌 전용 장비가 필요한 시기가 된 것이죠. 이때 등장한 것이 넷스크린(Netscreen)이라는 방화벽이었습니다. 이 회사의 방화벽은 기존 S/W방식으로 제품을 팔지 않고 전용 장비에 전용 OS를 설치하여, 그 당시에는 획기적인 성능인 2 Gbps의 처리 성능을 내는 장비까지 출시하였습니다. 

 

아래 <그림 1>과 같이 대략 13U(56cm)로 랙의 거의 절반을 차지하는 크기에 무게는 23kg이었습니다. 범용 CPU가 아니고 전용 ASIC칩(주문형 반도체: 특정한 기능을 가속해서 처리할 수 있도록 개발된 칩)을 직접 개발하여 적용하고 유닉스를 커널 컴파일(제작자의 의도에 따라 OS를 최적화시키는 작업)하여 전용 OS를 개발하여 적용하였기 때문에, 기존 범용 서버에서 나오는 성능의 대략 10배 이상의 성능을 달성할 수 있었습니다.

 

<  그림 1 >  최초의 Giga급 방화벽(Netscreen 1000)과 동일 성능을 발휘하는 최신 방화벽

 

그럼 다음으로 서버 가상화 기술에 대해 알아보죠. 가상화 기술은 물리적으로 독립된 서버에 여러 개의 가상 서버를 동시에 운영할 수 있는 기술입니다. 아래 <그림 2>를 보면 왼쪽 서버처럼 제일 하단에 검은색의 CPU, 메모리, 저장장치, 랜카드로 이루어진 서버 하드웨어가 존재하고, 그 상단에 윈도 혹은 리눅스, 유닉스 등의 운영체제가 설치됩니다. 이렇게 운영체제가 설치되면, 사용자가 원하는 Web, DNS, Mail 등 의 응용프로그램이 설치되어 독립된 서버로 동작하게 됩니다.

 

그런데 <그림 2 >의 오른쪽 서버와 같이 동일한 하드웨어에 OS 대신에 VMware 같은 하이퍼바이저(Hypervisor)가 설치되면 CPU에 있는 각각의 코어(Core)를 독립된 하나의 가상 CPU로 인식하여, 하나의 가상 서버를 구성할 수 있도록 해줍니다. 또한 메모리, 하드디스크 등도 사용자가 설정하는 용량만큼 분할하여 각각의 가상 서버에 독립적으로 할당시켜 물리적으로 한 개의 메모리와 하드디스크가 가상 서버 개수만큼 존재하는 것처럼 동작하게 도와줍니다.

 

< 그림 2 >  전통적인 서버와 가상화 서버 비교 (출처 : VMWare)

 

이렇게 생성된 가상 서버를 보통 VM(Virtual Machine) 혹은 가상 머신이라고 말합니다. 요즘 인텔 서버용 CPU당 코어 수는 모델에 따라 4개에서 28개까지 장착되어 있기 때문에 하나의 CPU가 있는 서버에 VM당 2개의 코어를 할당한다고 가정하면 최대 14개의 VM을 작동시킬 수 있습니다. 물리적으로 한대의 서버에 14개의 가상 서버를 운영할 수 있다면 가상화를 사용하지 않는 서버만 운영할 경우보다 서버 운영 자원의 절감이 가능합니다. 랙에 설치되어 차지하는 공간, 전원 소모량, 발열을 냉각하기 위한 항온항습기 전기 소모량 등 서버 유지비의 획기적인 절감이 가능하기 때문에 현재 많은 조직에서는 규모의 차이만 있을 뿐 많은 서버를 가상 서버로 운영하고 있습니다. 

 

물리적인 자원의 절감뿐만 아니라 서버를 운영하는 데 있어서도 시간과 인력을 절감할 수 있습니다. 신규로 OS를 설치할 경우 짧게는 20분에서 1시간 이상의 시간이 소요되었지만, 가상화 기술을 이용하게 되면 VM이 하나의 파일로 만들어 지기 때문에, 하이퍼바이저를 통해 동일한 OS에 동일한 소프트웨어가 설치된 VM을 배포하여 3~5분 내에 원하는 개수만큼 바로 사용할 수 있게 됩니다. 그리고 VM에 할당하는 CPU, 메모리를 하드웨어 자원에 여유가 있다면 VM에 할당하는 자원을 원하는 만큼 늘이거나 줄일 수도 있고, 저장 공간도 늘일 수 있기 때문에 서비스 접속자의 증가에 유연하게 대응이 가능합니다.

 

VM이 파일 형태로 존재하기 때문에 하드웨어의 공간적 제약도 없게 됩니다. 특정 서버에 있는 VM들의 사용량이 증가하여 해당 서버의 CPU 사용량이 높아지더라도 가상화 관리 프로그램이 자동으로 CPU 자원에 여유가 있는 서버로 VM을 중단 없이 이동시킬 뿐만 아니라 하드웨어의 장애가 발생되더라도 VM을 짧은 시간 내에 다른 서버에서 재가동시키기 때문에 서버 관리자의 업무량도 획기적으로 줄일 수 있게 되었습니다.

 

서버 가상화를 운영 중인 조직은 자기도 모르는 사이에 아주 기초적이기는 하지만 NFV 기술을 사용하고 있다고 볼 수 있습니다. 여러 대의 VM들이 하나의 서버에서 작동하게 되면 같은 서버 내의 VM 간의 통신뿐만 아니라 서버 외부의 다른 서버 와도 통신이 필요합니다. 아래 <그림 3>과 같이 하이퍼바이저 내에는 'vSwitch'라는 가상의 스위치가 존재합니다. 물리적인 스위치 대신에 가상의 스위치를 이용하기 때문에 사용 포트 수의 제한이나, 물리적인 케이블의 연결이 필요 없게 되었습니다.

 

아래 <그림 3>의 왼쪽 그림과 같이 총 4개의 VM이 있고 각각 vNIC이라는 가상의 네트워크 카드를 통해 vSwitch에 가상으로 연결되어 있고 이를 통해 오른쪽 3개의 서버 VM이 서로 통신이 가능하게 됩니다. 제일 왼쪽 VM은 방화벽 프로그램을 구동시켜 방화벽으로 동작 중입니다. 서버 VM에 연결된 가상 스위치가 방화벽 VM으로 연결되어 있고, 방화벽 VM은 다시 다른 가상 스위치를 통해 서버 외부로 연결되어 있습니다. 이렇게 가상으로 연결된 네트워크 구성을 실제 장비로 동일하게 구성하면 오른쪽 그림과 같습니다. 서버 3대가 하단 스위치에 연결되어 있고, 하단 스위치는 방화벽에 방화벽은 상단 스위치에 연결되어 있어 인터넷 등의 외부 네트워크로 통신이 가능하게 구성할 수 있습니다.

 

< 그림 3 >  가상 스위치를 통한 네트워크 구성 예 (Virtual vs Real)

 

서버 3대, 스위치 2대, 방화벽 1대를 구성할 경우, 차지하는 공간, 소비되는 전력량, 발열로 인한 냉각 비용을 고려하면, 총 6대의 장비를 서버 1대로 구성할 수 있게 되면 여러 물리적인 자원의 획기적인 절감이 가능해집니다. 그뿐만 아니라, 이렇게 가상으로 구성된 전산 자원이 소프트웨어적인 파일 단위로 존재하기 때문에 쉽게 복제하여, 짧은 시간에 동일하게 구성할 수도 있습니다. 구성 변경을 할 경우에도 장비가 있는 데이터센터에 직접 가서 장비를 추가로 설치하거나 네트워크 케이블을 연결할 필요 없이 원격에서 관리 프로그램을 이용하여 손쉽게 장비를 추가, 삭제하거나 네트워크 연결 수정이 가능합니다.

 

보통 <그림 3>과 같이 VM에 일반적인 웹, DB 같은 서버 프로그램 대신에 방화벽, 라우터, 스위치 프로그램을 동작시켜 가상화된 네트워크 기능을 수행하는 것을 NFV(네트워크 기능 가상화)라고 정의합니다. 네트워크 장비 공급사인 시스코, 주니퍼 등의 종합 벤더뿐만 아니라 포티넷, 팔로알토 네트웍스, 파이어아이 등의 보안 전문 벤더까지 실제 장비와 동일한 기능을 수행하는 소프트웨어를 출시 중입니다. 아래 <그림 4>와 같이 일반적으로 기존에 출시되던 제품명 앞 혹은 뒤에 V 혹은 VM이라는 이름을 붙여서 소프트웨어로 제품을 판매하고 있습니다.

 

< 그림 4 >  주니퍼 가상 방화벽 소개 문구

'IT > 네트워크(Network)' 카테고리의 다른 글

웹 방화벽  (0) 2022.01.04
DMZ 네트워크를 이해하자  (0) 2022.01.04
Stateful 트래픽 처리방식 방화벽(Firewall)  (0) 2022.01.04
포트 스캔(Port Scan)  (0) 2021.12.17
ARQ(Automatic Repeat Request) 종류 및 정리  (0) 2021.11.30
728x90

우선 방화벽의 기술발전 역사를 알아보도록 하겠습니다.

본격적인 방화벽이 나오기 전에는 통신을 전송하기 위한 통신장비인 라우터의 필터 기능에서부터 트래픽 제어 기능이 사용되었습니다. 우리가 데이터를 전송한다는 것은 최대 1500byte의 크기로 잘게 쪼개진 데이터 묶음으로 만들어진 패킷(packet)을 보내고 받는 것을 말합니다. 

 

 

이 패킷의 헤더에는 출발지, 목적지 IP주소와 서비스 포트가 기록되어 있습니다. 이 패킷 헤더 정보를 확인해서 라우터에 설정된 필터 정보를 참조하여 들어온 패킷을 허용하거나 차단하는 방식으로 동작합니다. 이런 필터가 증가하게 되면, 라우터의 부하가 증가하게 되어 패킷 전송이라는 본래 기능에 문제가 생기게 되고, 고정된 포트를 사용하지 않고 접속할 때마다 서비스 포트가 변경되는 RPC, FTP 같은 서비스의 경우에는 인식이 불가능한 문제점이 발생되면서 트래픽 제어를 위한 전용 장비의 필요성이 제기되었습니다.

 

 

 1994년 체크포인트(Checkpoint)라는 회사에서 이러한 문제점을 해결한 1세대 방화벽을 개발하였습니다. 개발된 방화벽의 가장 큰 특징은 스테이트풀 인스팩션(Stateful Inspection) 기능이 추가된 것입니다. 단순히 들어오는 패킷을 필터링하는 것이 아니라, 클라이언트와 서버 간 통신 상태를 모니터링하여 연결 테이블을 만들고 관리하면서 좀 더 세밀한 트래픽 제어가 가능해진 것입니다.

 

 

< 그림 1 > 스테이트풀 인스펙션 (Stateful Inspection) 설명

 

 

위의 <그림 1>을 보면 왼쪽의 단말장비에서 오른쪽의 웹 서버로 접속을 시도한다고 가정해 보도록 하겠습니다. 방화벽에는 인터넷에서 DMZ 구역으로 들어오는 패킷에 대해 출발지는 ANY, 목적지는 10.0.0.1, 서비스 포트는 TCP 80 포트에 대해 허용하는 보안 정책이 설정되어 있습니다.

 

 

접속 단말에서 서버로 웹 페이지를 요청하는 트래픽이 방화벽에 도착하면, 방화벽은 해당 요청에 대해 보안 정책을 확인하여 해당 패킷을 오른쪽 웹 서버로 전달합니다. 서버는 단말의 요청에 응답하기 위해 웹 페이지를 접속 단말을 목적지로 하는 패킷으로 생성하여 전송합니다. 이 응답 패킷이 방화벽에 전달되면 방화벽은 다시 보안정책을 참고하여 패킷을 허용할 건지 차단할 건지 결정할 것을 예상할 수 있습니다.

 

 

이 단계에서 스테이트풀 인스펙션의 장점이 발휘됩니다. <그림 1> 방화벽 정책은 외부에서 DMZ 구역으로 갈 수 있는 보안 정책이 있지만 반대 방향인 즉, DMZ 구역에서 외부로 나가게 허용하는 보안 정책은 없습니다. 방화벽은 기본적으로 보안 정책에 적용되지 않는 모든 패킷은 차단하게 되어있습니다. 즉, 서버에서 단말로 가는 응답 패킷은 차단될 것으로 예상할 수 있으나, 스테이트풀 인스팩션 기능이 동작하기 때문에 서버에서 보낸 페이지는 방화벽을 정상적으로 통과하게 됩니다.

 

 

즉 방화벽이 만들어서 관리하는 세션 테이블을 참조하여 들어오는 응답 패킷의 출발지, 목적지 IP 및 Port와 일치하는 세션 리스트가 있는지 확인되면, 해당 패킷은 응답 패킷으로 판단하여 보안 정책이 없더라도 해당 패킷을 클라이언트로 전달하는 것입니다. 방화벽은 데이터를 요청하는 트래픽이 들어오면 서버로 전달하면서 동시에 세션 테이블(Session Table)을 만들어서, 서버와 클라이언트 간의 통신 내역을 모니터링하고 제어하는 용도로 사용합니다.

 

 

아래 <그림 2>는 방화벽에서 출력한 세션 테이블입니다. In항목에 나와 있는 것과 같이 출발지 IP 10.10.10.235에서 출발지 포트 50588을 사용하여 st0.511 인터페이스로 들어와서 목적지 IP 172.70.1.13, 목적지 포트 TCP 7001로, 패킷 수 6개, 456 byte 크기의 패킷이 보안정책 "untrust-to-trust"에 적용되어 목적지로 전달되었습니다. 다음으로 Out에 표시된 것과 들어올 때와 출발지와 목적지 정보가 반대로 바뀌어서 서버에서는 데이터를 요청하는 단말로 응답 패킷을 4개, 427 byte 만큼 전송한 내역을 확인할 수 있습니다.

 

 

<그 림 2 > 방화벽 세션 테이블

 

 

다시 말하면 방화벽은 요청 패킷이 들어오면 서버로 전달하면서 서버에서 다시 클라이언트로 응답할 패킷 정보를 예상하여 미리 세션 테이블을 만들어 둡니다. 실제 응답 패킷이 들어오면 먼저 만들어 둔 세션 테이블에서 정보가 일치하는 세션 정보가 있는지 확인되면, 보안 정책이 없더라도 패킷을 단말로 전달하는 것입니다. 이 기능을 이용하면, 관리자가 서버의 응답 패킷을 예상해서 보안정책을 미리 만들어 둘 필요 없이 방화벽이 자동으로 응답 패킷에 대한 보안정책을 생성했다가 연결이 종료되면 삭제하는 것처럼 작동합니다.

 

 

이런 작동 방식은 회사 내부에 있는 단말이 인터넷을 사용할 때도 동일하게 적용됩니다. 즉 Trust에서 Untrust 방향으로, 출발지는 단말 IP 대역이고 목적지는 ANY이며, 서비스 포트는 TCP 80으로 허용하는 보안 정책이 있으면, 사내의 단말이 인터넷의 웹 서버로 요청 패킷을 보낸 후, 외부에서 내부로 들어오는 응답 패킷은 별도의 보안 정책이 없더라도 인터넷에서 사내의 단말까지 전달되는데 아무 문제가 없습니다. 

 

 

인터넷에서 내부로 들어올 수 있는 통로가 필요할 때만 잠깐 생성되었다가 필요가 없으면 바로 삭제되는 것처럼 동작하기 때문입니다. 즉 라우터와 같이 별도의 통신 연결 정보를 관리하지 않는 장비의 경우 필터(Access List-ACL) 기능과 같이 외부에서 내부로 들어올 응답 패킷을 위한 보안 정책을 미리 만들어 둘 필요가 없기 때문에, 미리 만들어 둔 보안정책을 통해 발생 가능한 잠재적인 보안 위협을 감소시킬 수 있는 점이 1세대 방화벽의 가장 큰 장점이라고 할 수 있습니다.

 

 

그래서 방화벽의 경우 단순히 트래픽을 처리할 수 있는 성능도 중요하지만, 세션을 관리할 수 있는 능력도 중요합니다. 세션을 관리하는 능력을 판단하는 기준은 기본적으로 아래 두 가지 성능을 판단기준으로 사용합니다.

 

 

1. 초당 세션 생성률(CPS- Connection per seconds)

 1초 동안 신규로 세션을 생성할 수 있는 능력. 이 성능은 갑작스럽게 트래픽이 급증하는 경우 예를 들면, 특정한 이벤트(명절 차표 구매, 학기초 수강신청, 재난지원금 지급신청, 상품초 저가 세일)가 발생할 경우 짧은 시간 안에 급속하게 증가하는 접속 요구에 대응할 때 중요한 성능 지표입니다.

 

 

2. 최대 동시 세션 관리수(Maximum Concerent Session)

장비가 동시에 관리할 수 있는 연결 최대수. 이 성능은 방화벽을 통해 연결되는 최대 연결수를 얼마나 지원하는지를 판단하는 기준입니다. 최신 방화벽의 경우 가장 낮은 성능의 장비라도 만개 단위(대략 32,000~64,000개)의 세션을 동시에 관리할 수 있고 고성능 장비의 경우 억 개 단위까지 기능을 지원하고 있습니다. 이 성능은 얼마나 많은 서버와 일반 유저의 트래픽을 처리할 수 있는지 판단하는 기준으로 사용하고 있습니다.

 

 

지금까지 설명한 Stateful 방식의 장비에 대비하여 세션을 관리하지 않는 장비를 보통 Stateless장비라고 말합니다. 스위치, 라우터 같이 단순하게 패킷을 해당하는 목적지로 전달만 하는 장비를 말하는데 이런 장비의 경우 트래픽을 제어하기 위해 ACL을 사용하고 있습니다.  그럼 라우터 장비의 ACL은 어떤 경우에 이용할 수 있을까요?

 

 

방화벽이라는 장비는 앞에서 설명한 것과 같이 세션을 관리하는 장비이다 보니 동시에 관리 가능한 세션수를 초과하게 되면 더 이상 세션을 관리할 수 없기 때문에 신규 세션을 생성할 수 없게 됩니다. 즉 신규 트래픽을 처리할 수 없는 상황이 발생하는 것입니다.

 

 

최근의 DDoS 공격의 경우 이러한 방화벽의 취약점을 악용하여, 의도적으로 방화벽의 관리 가능한 세션수를 초과하게 하여, 서비스를 방해하는 공격이 빈번하게 발생되고 있습니다. 이런 경우에 공격을 수행하는 출발지 IP를 식별할 수 있다면 방화벽 앞단에 있는 라우터의 ACL 필터를 생성하여 방화벽 앞단에서 공격을 차단할 수 있으면 방화벽이 처리해야 하는 세션수를 줄여 주어 서비스의 중단을 막을 수 있습니다.

728x90

포트스캐닝(Port Scanning)이란?

 

 해커가 악의적인 공격을 수행하기 위해 취약점을 찾는 과정 중 수행하는 사전 작업이라고 할 수 있습니다.

 

피해자 시스템 혹은 네트워크를 선정한 뒤

 

해당 시스템이나 네트워크가 어떤 포트를 열고 서비스를 하고있는지 알아내기 위함 입니다.

 

가령, 해당 시스템이 23포트를 열고 Telnet서비스를 하고있는 것을 알아내었다면

 

해커는 Telnet서비스에 대한 취약점을 이용하여 적극적인 공격을 수행할 수 있겠습니다.

 

1.TCP Connect 스캔 (TCP Open 스캔)

 

 

 구 분  설 명 
 스캔 방법  TCP/IP소켓 프로그래밍의 connect()함수를 사용하여 포트별로 직접 접속하여 스캔하는 방식
 Open Port  정상적으로 연결 설정(3way handshaking)이 완료되며 연결 완료 후 RST+ACK를 전송하여 연결을 종료
 Close Port  포트가 닫힌 상태이면 상대 시스템으로부터 RST+ACK를 수신
 특 징  상대 시스템의 포트Open/Close 여부를 알아내는 가장 확실한 방법이며, 직접 연결을 맺기 때문에 시스템 로그가 남음

 

 

2.TCP SYN 스캔 (Half-Open 스캔)

 

 

 구 분 설 명 
 스캔 방법 raw소켓에 접근해서 TCP 프로토콜 헤더의 제어비트(Control Bit)를 설정하여 스캔
 Open Port Target으로부터 SYN+ACK 응답이 올 경우 ACK가 아닌 RST를 보내어 연결을 강제 종료 
 Close Port 닫힌 경우 Target으로부터 RST+ACK를 수신
 특 징  완전한 연결 설정(3way handshaking) 과정을 수행하지 않기 때문에 시스템 로그가 남지 않음

 

 

3. Stealth 스캔 (FIN / NULL / XMAS 스캔)

 





 

 구 분 설 명 
 스캔 방법 TCP 제어비트(Control Bit)를 비정상적으로 설정해서 스캔
 Open Port Target시스템이 아무런 응답이 없음
 Close Port Target시스템으로부터 RST+ACK를 받게됨
 특 징 시스템 로그를 남기지 않음

 

4.TCP ACK 스캔

 

 

 

 구 분 설 명 
 스캔 방법 TCP 제어비트(Control)비트 중 ACK를 설정하여 스캔
포트의 오픈여부를 확인하는 용도가 아니라 방화벽의 필터링 정책을 테스트하기 위한 스캔
Filtered Target으로부터 ICMP응답이 돌아오거나 아무런 응답이 없음
Not Filtered 필터링 되지 않을 경우 RST를 수신
 특 징 방화벽이 상태기반(stateful) 방화벽인지 단순히 들어오는 SYN을 차단하는 정책을 가지고있는지 확인하는 용도
단순히 SYN만을 차단하는 정책일 경우 방화벽을 통과할 수 있음

 

5.UDP 스캔

 

 

 

 구 분 설 명 
 스캔 방법 스캐닝하고자하는 포트번호를 목적지포트로 설정하여 UDP 전송
Open Port 아무런 응답이 없음
Close Port ICMP Destination Port Unreachable 수신
 특 징 -

 

 

6.Decoy 스캔

 

 구 분 설 명 
 스캔 방법 실제 스캐너 주소 이외에 다양한 위조된 주소로 스캔하는 방식
Open Port -
Close Port -
 특 징 다양한 IP로 스캔하기 때문에 피해자는 누가 스캔을하는지 알아채기 어려움

 

 

728x90

ARQ : Automatic Repeat Request의 약자로, 자동 반복 요청을 의미. 에러가 발생한 경우 재전송을 요구하는 방식 

Go-back-N ARQ와 Selective Repeat ARQ는 모두 전송층(Transport Layer)의 프로토콜이며 이 두가지를 혼합 및 개선하여 만든 프로토콜이 TCP(Transmission Control Protocol)이다.

이 글에서 사용된 '프레임'이라는 용어는 전송층에서 쓰이는 '패킷'과 같은 개념이며 데이터링크층에서 사용되는 전송단위인 프레임과는 다르다.

  • 무잡음 채널에서의 프로토콜
  • 잡음이 있는 채널에서의 프로토콜
용어 정리
  • 파이프라인 
  • ACK  
  • 프레임의 종류 
  • redundent bit 
  • NAK(Negative Acknowledge) 
  • Slicing Window 


Stop-and-Wait ARQ

수신측으로부터 ACK을 받을 때까지 대기하다가 전송하는 방법
반이중 방식으로 다른 ARQ 방식보다 전송 효율이 낮다.
송신측은 프레임을 보냄과 동시에 타이머를 작동시킨다. 수신측에서 보낸 ACK를 받으면 타이머가 멈춘다.
송신측은 전송한 프레임의 사본을 보관하고 있다가 타이머가 만료되면 해당 프레임을 다시 보낸다. -> ACK이 오지 않은 경우 프레임이 손실, 중복, 순서 바뀜이 일어난 것으로 판단
수신자쪽에서의 과정 단순하다.


Go-back-N ARQ

오류가 난 지점부터 전송한 지점까지 모두 재전송 하는 기법
Timer가 만료되면 ACK가 오지 않은 프레임(sliding window의 첫 프레임)부터 재전송한다.
ex) 6번 프레임을 보냈는데 3번 프레임의 타이머가 만료된 경우, 송신자는 뒤로 돌아가서 3,4,5,6번 프레임을 다시 보낸다.
 

Selective Repeat ARQ

오류가 난 부분만 재 전송하는 기법
NAK를 사용하여 개선할 수 있다.
NAK를 쓰게 되면 Timer가 만료되기전에 해당 프레임을 재전송 해야한다는 것을 알 수 있으므로 빠른 재전송이 가능하다.
수신자 쪽에서의 과정이 복잡하다.


Adaptive ARQ

전송 효율을 최대한 높이기 위해 데이터 프레임의 길이를 동적으로 변경하여 전송한다.
수신측이 송신측에게 수신한 데이터 프레임을 감지하고 오류 발생률을 판단하여 송신측에 오류 발생률을 통보하면 송신측은 통신회선의 오류 발생률이 낮으면 긴 프레임을, 높으면 짧은 프레임을 전송한다.
728x90

네트워크관리사 2급 실기(라우터 시험) 정리

 

2021.10.06. by 영진직업전문학교 류원석 교수

 

문제1) ROUTER의 호스트 이름을 'ICQA'로 설정하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)# hostname ICQA

ICQA(config)#exit

ICQA#copy r s

Destination filename [start-config]?

 

문제2) 인터페이스 정보를 확인하고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#show interface

Router#copy r s

Destination filename [start-config]?

 

문제3) 접속한 사용자를 확인하고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#show user

Router#copy r s

Destination filename [start-config]?

 

문제4) 라우팅 테이블을 확인하고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#show ip route

Router#copy r s

Destination filename [start-config]?

 

문제5) 플래시를 확인하고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#show flash

Router#copy r s

Destination filename [start-config]?

 

문제6) Serial 2/0의 대역폭을 2048k로 설정하고, NVRAM에 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#int s2/0

Router(config-if)#ban 2048

Router(config-if)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제7) Serial 2/0clock rate72k로 설정하고, NVRAM에 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#int s2/0

Router(config-if)#clock rate 72000

Router(config-if)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제8) FastEthernet 0/0description을 설정하고 NVRAM에 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#int fa0/0

Router(config-if)#des ICQA

Router(config-if)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제9) FastEthernet 0/0IP Address192.168.2.1/30192.168.3.1/30 Secondary로 설정하고 저장하시오.

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#int fa0/0

Router(config-if)#ip add 192.168.2.1 255.255.255.252

Router(config-if)#ip add 192.168.3.1 255.255.255.252 secondary

Router(config-if)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제10) Default-Gateway를 설정하고 저장하시오. (IP: 192.168.0.10) (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#ip default-gateway 192.168.0.10

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제11) Router1 Telnet에 접근하는 Password‘TELPass’로 설정하고, 상태를 저장하시오.

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#li v 0 4

Router(config-line)#password TELPass

Router(config-line)#login

Router(config-line)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제12) Telnet550초 동안 신호가 없는 경우 해당 세션을 자동으로 종료하도록 라우터를 설정하시오.

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#li v 0 4

Router(config-line)#exec-t 05 50

Router(config-line)#login

Router(config-line)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제13) Router1 console의 패스워드를 ICQACon으로 설정하고, 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#li c 0

Router(config-line)#login

Router(config-line)#password ICQACon

Router(config-line)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제14) Router2Interface Serial 2/0을 활성화시키고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#int s2/0

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제15) Hostnamenetwork2로 변경하고, Console 0Passwordroute5로 변경하고 login하시오.

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#hostname network2

network2(config)#li c 0

network2(config-line)#password route5

network2(config-line)#login

network2(config-line)#exit

network2(config)#exit

network2#copy r s

Destination filename [start-config]?

 

문제16) domain-name‘DOMAIN’으로 설정하고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#ip domain-name DOMAIN

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제17) Router1에서 Console 0Password를 설정하고 저장하시오. (Password : asin)

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#li c 0

Router(config-line)#login

Router(config-line)#password asin

Router(config-line)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제18) Router1에서 Virtual Terminal Password를 설정하고 저장하시오. (Password : asin)

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#li vty 0 4

Router(config-line)#login

Router(config-line)#password asin

Router(config-line)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제19) Router1에서 아래의 결과값과 동일하게 설정하고 저장하시오. (hostname : asin21, password : asinpass)

(완료된 설정은 startup-config에 저장하시오.)

hostname asin21
!
enable password asinpass
!
Interface Ethernet 0
no ip address
no ip direct-broadcast
shut down
!

정답)

Router>en

Router#conf t

Router(config)#hostname asin21

asin21(config)#enable password asinpass

asin21(config)#exit

asin21#copy r s

Destination filename [start-config]?

 

문제20) Router1에서 FastEthernet 1/0IP 및 서브넷을 설정하고 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#int fa1/0

Router(config-if)#ip add 210.108.245.1 255.255.255.192

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

 

문제21) Router1에서 login할 때 나타나는 배너(Banner)를 설정하시오. (banner : Welcome to Asin Router)

(완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#banner motd #

Welcome to Asin Router

#

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제22) Router1AUX Port로 접속할 때 암호를 묻는 AUX 패스워드를 설정하고 NVRAM에 저장하시오.

(, AUX 패스워드는 ‘AUXICQA’) (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#conf t

Router(config)#li aux 0

Router(config-line)#password AUXICQA

Router(config-line)#login

Router(config-line)#exit

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

문제23) Router1에 현재 실행 중인 CPU 상태를 NVRAM에 저장하시오. (완료된 설정은 startup-config에 저장하시오.)

정답)

Router>en

Router#show process

Router#copy r s

Destination filename [start-config]?

 

문제24) 아래와 같이 Router1의 접근 계정(icqa)을 설정하고, 현재 상태를 NVRAM에 저장하시오.

(, 계정(icqa)의 패스워드는 network이고 대소문자를 구분한다.) (완료된 설정은 startup-config에 저장하시오.)

hostname Router
!
username icqa password 0 network
interface Ethernet 0
!

정답)

Router>en

Router>conf t

Router(config)#username icqa password network

Router(config)#exit

Router#copy r s

Destination filename [start-config]?

 

728x90

Ingress 필터링

라우터 외부에서 라우터 내부로 유입되는 패킷을 필터링하는 것이다.

패킷의 소스 IP 나 목적지 포트 등을 체크하여 허용하거나 거부하도록 필터링 하는 것을 뜻한다. 

공통적으로 필터링 하여야할 소스 IP는 인터넷 상에서 사용되지 않는 IP 대역

(대부분의 공격이 실제 존재하지 않는 위조된 IP 주소를 소스로 함)

 

Egress filtering 

라우터 내부에서 라우터 외부로 나가는 패킷의 소스ip를 체크하여 필터링

라우터를 통과하여 나가는 패킷의 소스 IP는 반드시 라우터와 같은 대역이여야 한다.

(라우터를 통해 나가는 패킷의 소스 ip 중 사용중인 ip 대역을 소스로 한 패킷은 허용하고 나머지는 거부 하도록 설정)

 

Blackhole filtering(Null routing 을 활용한 필터링)

특정한 ip 대역에 대해서 Null 이라는 가상의 쓰레기 인터페이스로 보내도록 함으로써 패킷의 통신이 되지 않도록 함

 

Unicast RPF

인터페이스를 통해 들어오는 패킷의 소스 ip 에 대해 라우팅 테이블을 확인하여 들어온 인터페이스로 다시 나가는지 확인

728x90

HTTP & HTTPS

HTTPS는 HTTP를 안전하게 만드는 방식이다

  • HTTP
    • 인터넷 상에서 정보를 주고 받기위한 프로토콜(양식과 규칙의 체계)
    • 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜
    • 암호화되지 않은 방법으로 데이터를 전송한다. (악의적인 감청, 데이터 변조의 가능성)
  • HTTPS
    • 보안이 강화된 HTTP
    • Hypertext Transfer Protocol Over Secure Socket Layer의 약자
    • 모든 HTTP 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다.
    • HTTPS는 HTTP의 하부에 SSL과 같은 보안계층을 제공함으로써 동작한다.

HTTPS는 TCP위에 놓인 보안계층(SSL)위의 HTTP이다

SSL 디지털 인증서

  • 클라이언트와 서버간의 통신을 공인된 제3자(CA) 업체가 보증해주는 전자화된 문서

SSL 인증서의 장점 및 역할

  • 통신 내용이 노출, 변경되는 것을 방지
  • 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지 확인가능
  • SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.

SSL에서 사용하는 암호화의 종류

  • 암호 : 텍스트를 아무나 읽지 못하도록 인코딩하는 알고리즘
  • 키 : 암호의 동작을 변경하는 매개변수, 키에 따라서 암호화 결과가 달라지기 떄문에 키를 모르면 복호화가 불가능하다.

대칭키 암호화 방식

  • 인코딩과 디코딩에 같은 키를 사용하는 알고리즘
  • 단점 : 단점은 발송자와 수신자가 서로 대화하려면 둘 다 공유키를 가져야 한다는 것이다.
  • 대칭키를 전달하는 과정에서 키가 유출이 되면 암호의 내용을 복호화할 수 있기 때문에 위험하다
  • 이를 보완하기 위해서 나온 방법이 공개키 암호화 방식이다.

공개키 암호화 방식

  • 인코딩과 디코딩에 다른 키를 사용하는 알고리즘
  • A키로 암호화를 하면 B키로 복호화를 할 수 있고, B키로 암호화 하면 A키로 복호화 할 수 있는 방식
  • 인코딩 키 (public key)는 공개되어 있으며 (그래서 공개키 암호방식이라는 이름이 붙었다.) 보통 디지털 인증서안에 포함되어 있다.
  • 디코딩 키는 (secret key)는 호스트만이 개인 디코딩 키를 알고있다.
  • 공개키와 비공개키의 분리는 메시지의 인코딩은 누구나 할 수 있도록 해주는 동시에, 메시지의 디코딩은 비밀키 소유자에게만 부여한다.
  • 이는 클라이언트가 서버로 안전하게 메시지를 발송하는 것을 쉽게 해준다.
  • 단점 : 공개키 암호화 방식의 알고리즘은 계산이 느린 경향이 있다.

디지털 서명

디지털 서명의 동작방식



  • 전자 서명을 통해서 누가 메시지를 썼는지 알려주고, 메시지가 위조되지 않았음을 증명할 수 있다. 전자서명은 SSL 인증서 에서 서비스를 보증하는 방법으로 활용된다.
  • 공개키와 비공개키는 안전한 데이터 전달 이외에도, 데이터 제공자의 신원을 보장 하는데 사용할 수 있다.
  • 비공개키의 소유자가 비공개 키를 이용해서 정보를 암호화 => 공개키와 함께 암호화된 정보를 전송 => 수신자는 공개키로 암호화된 정보를 복호화
  • 암호화된 데이터를 공개키를 가지고 복호화 할 수 있다는 것은 그 데이터가 공개키와 쌍을 이루는 비공개키에 의해서 암호화 되었다는 것을 의미한다.
  • 즉 공개키가 데이터를 제공한 사람의 신원을 보장해주게 되는 것이다. 이러한 것을 전자 서명이라고 부른다.

CA (Certificate Authority)

  • 디지털 인증서를 제공하는 공인된 기업 (Certificate Authority 혹은 Root Certificate)
  • 대표적인 CA 서비스 제공 기업과 시장점유율
    • Symantec (VeriSign, Thawte, Geotrust) with 42.9% market share
    • Comodo with 26%
    • GoDaddy with 14%
    • GlobalSign with 7.7%

SSL 인증서의 서비스 보증방법 및 동작방법

인증서 내용

  • 인증서의 내용은 CA의 비공개 키를 이용해서 암호화 되어 웹브라우저에게 제공된다.
    • 서비스 정보 (인증서 발급자, CA의 디지털 서명,서비스 도메인)
    • 서버측 공개키

SSL 인증서의 서비스 보증방법

  • 웹브라우저가 서버에 접속하면 서버는 제일 먼저 인증서를 제공한다.
  • 브라우저는 인증서를 발급한 CA가 자신이 갖고있는 CA 리스트에 있는지 확인한다.
  • 리스트에 있다면 해당 CA의 공개키를 이용해서 인증서를 복호화 한다.
  • 인증서를 복호화 할 수 있다는 것은 이 인증서가 CA의 비공개키에 의해서 암호화 된 것을 의미한다. 즉 데이터를 제공한 사람의 신원을 보장해주게 되는 것이다.

SSL 동작방법

  • 공개키 암호 방식은 알고리즘 계산방식이 느린 경향이 있다.
  • 따라서 SSL은 암호화된 데이터를 전송하기 위해서 공개키와 대칭키 암호화 방식을 혼합하여 사용한다.
  • 안전한 의사소통 채널을 수립할 때는 공개키 암호를 사용하고, 이렇게 만들어진 안전한 채널을 통해서 임시의 무작위 대칭키를 생성 및 교환한다. 해당 대칭키는 나머지 데이터 암호화에 활용한다.
    • 실제 데이터 암호화 방식 : 대칭키
    • 상기 대칭키를 서로 공유하기 위한 암호화 방식 : 공개키

SSL 통신과정

  • 컴퓨터와 컴퓨터가 네트워크를 통해서 통신을 할때 핸드쉐이크 -> 세션 -> 세션종료 의 과정을 거친다.
  • 암호화된 HTTP 메시지를 교환하기 전에 클라이언트와 서버는 SSL 핸드쉐이크를 진행한다.
  • 핸드쉐이크의 목적은 아래와 같다.
    • 프로토콜 버전번호 교환
    • 양쪽이 알고 있는 pre master secret 키 생성 및 교환
    • 양쪽의 신원 인증
    • 채널을 암호화 하기 위한 임시 세션 키 생성
  • SSL 통신과정을 간단하게 도식화 하면 아래와 같다.
  • 생활코딩 SSL의 동작방법에 아주 쉽게 설명되어 있어서 함께 참고하면 좋다.



+ Recent posts