bxm's IT Story
Access-list (Final Version - Numbers, Names) 본문
## 오늘 날짜로 IP 대역 설정.
## 액세스 리스트 설명하기 전에 '재분배'까지 하라.
공통]
ena
conf t
no ip domain lookup
line c 0
logg sy
exec-timeout 0
exit
line vty 0 4
pass cisco
exit
hostname ##
int s1/0
no shut
enc fram
no fram inver
clock rate 64000
end
wr
R1]
conf t
int lo0
ip add 17.17.1.1 255.255.255.0
int s1/0
ip address 17.17.12.1 255.255.255.0
fram map ip 17.17.12.2 102 br
end
wr
R2]
conf t
int lo0
ip add 17.17.2.2 255.255.255.0
int s1/0.12 m
ip add 17.17.12.2 255.255.255.0
fram map ip 17.17.12.1 201 br
exit
int s1/0.23 m
ip address 17.17.23.2 255.255.255.0
fram map ip 17.17.23.3 203 br
end
wr
R3]
conf t
int lo0
ip add 17.17.3.3 255.255.255.0
int s1/0.23 m
ip add 17.17.23.3 255.255.255.0
fram map ip 17.17.23.2 302 br
exit
int s1/0.34 p
ip add 17.17.34.3 255.255.255.0
fram inter 304
end
wr
R4]
conf t
int lo0
ip add 17.17.4.4 255.255.255.0
int s1/0.34 p
ip add 17.17.34.4 255.255.255.0
fram inter 403
end
wr
## Ping Teset ##
R1]
ping 17.17.12.2
R2]
ping 17.17.23.3
R3]
ping 17.17.34.4
## OSPF & EIGRP Routing Protocol ##
R1]
conf t
router ospf 17
router-id 1.1.1.1
network 17.17.1.1 0.0.0.0 area 0
network 17.17.12.1 0.0.0.0 area 0
exit
int lo0
ip ospf net point-to-p
exit
router ospf 17
neighbor 17.17.12.2
end
wr
## NBMA 구간이라서 Neighbor를 강제로 지정해줘야 한다.
R2]
conf t
router ospf 17
router-id 2.2.2.2
network 17.17.2.2 0.0.0.0 area 0
network 17.17.12.2 0.0.0.0 area 0
exit
int lo0
ip os net point-to-p
router ospf 17
neighbor 17.17.12.1
exit
router eigrp 17
eigrp router-id 2.2.2.2
network 17.17.23.2 0.0.0.0
## 17.17.2.2 는 OSPF Network 소속이므로 EIGRP에 넣지 않는다.
no auto
passive-interface lo0
end
wr
R3]
conf t
router eigrp 17
eigrp router-id 3.3.3.3
network 17.17.3.3 0.0.0.0
network 17.17.23.3 0.0.0.0
network 17.17.34.3 0.0.0.0
no auto
passive-interface lo0
end
wr
R4]
conf t
router eigrp 17
eigrp router-id 4.4.4.4
network 17.17.4.4 0.0.0.0
network 17.17.34.4 0.0.0.0
no auto
passive-interface lo0
end
wr
## 원래는 R2가 DR이 되어야 한다. 재부팅 하면 되는데 귀찮 ㅎㅎ..
R1]
show ip ospf nei
R2]
show ip ospf nei
show ip eigrp nei
R3]
show ip eigrp nei
R4]
show ip eigrp nei
## 재분배 ##
R2]
conf t
router ospf 17
redistribute eigrp 17 subnets
exit
router eigrp 17
redistribute ospf 17 metric 1544 2000 255 1 1500 ## (bandwidth delay rely .. )
R1]
show ip route
## 오른쪽 애들이 E2 경로도 보여야함
R1]
conf t
no int lo0
int f0/0
no shut
ip add 17.17.1.254 255.255.255.0
R4]
conf t
no int lo0
int f0/0
no shut
ip add 17.17.4.254 255.255.255.0
CentOS]
vi /etc/sysconfig/network-scripts/ifcfg-ens32
systemctl restart network
ping 17.17.1.254 ## Gateway로 Ping Test
Win701]
ping 17.17.4.254
[크롬] - [http://17.17.1.1]
## 안들어가질 것임!! 왜냐면 R1에서 OSPF에 게이트웨이 IP를 안 넣어줬기 때문임.
R1]
conf t
router ospf 17
no network 17.17.1.1 0.0.0.0 area 0
network 17.17.1.254 0.0.0.0 area 0
end
wr
clear ip ospf pro
R4]
conf t
router eigrp 17
no network 17.17.4.4 0.0.0.0
network 17.17.4.254 0.0.0.0
end
wr
clear ip eigrp nei
## R4에 붙은 Win701이 R1에 붙은 Apache Server에 접속이 가능하게 된다.
R3]
conf t
no int lo0
int f0/0
no shut
ip add 192.168.3.254 255.255.255.0
end
wr
## numbers는 access-list 라는 명령어로 실행하며 (1~99, Standard)
## 대상 Network를 1개만 지정할 때 Standard로 지정한다.
## NAT를 돌릴 것임.
conf t
access-list 1 permit 192.168.3.0 0.0.0.255
ip nat inside source list 1 int s1/0.23 overload
int f0/0
ip nat inside
exit
int s1/0.23
ip nat outside
Win702]
ping 192.168.3.254
[크롬] - [http://17.17.1.1]
## 프로젝트 문제에 보면은 R3은 사설, 나머지는 공인 IP임.
## Bogon Address (0.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)을 못들어 오게 막아보자.
## 경계 Router에서 표준 Access-list를 사용함.
R2]
conf t
access-list 2 deny 10.0.0.0 0.255.255.255
access-list 2 deny 172.16.0.0 0.15.255.255 ## 제일 위에 올려져 있는 PDF 파일의 Bogon 주소 차단에
Wildmask 15.255.255.255로 되어있는데 잘못된것임!!
access-list 2 deny 192.168.0.0 0.0.255.255
## 여기서 묵시적으로 deny any가 생략되어 있으므로 permit any를 해줘야함!!
## 그리고 Standard라서 Protocol 제어가 불가능함. 따라서 IP나 OSPF가 오지 않음. 그냥 Permit any임.
access-list 2 permit any
int s1/0.23
ip access-group 2 in
end
wr
show access-list
show ip eigrp nei
Win702]
## http://17.17.1.1을 바로 들어가보면 된다. 이건 버퍼에 있는 것임!
[크롬] - [설정] - [개인정보 및 보안] - [캐시 지우기]
## 계속 들어가진다 ...? ㅋㅋㅋㅋ 쌤 당황쓰


## Trouble Shooting ##
## [R3]의 Interface를 Capture 해보자. 출발지가 어딘지!
## 출발지가 17.17.23.3 이면 안막아지는게 맞고, 사설 IP면 막아지는게 맞음.
## NAT라서 23.3일 확률이 높음!!
## Win702]에서 Web 브라우저 새로고침!
## 앗... 17.17.23.3이 출발지였다..!! 사설을 EIGRP로 광고한다는게 말이 안되므로
## NAT Inside에서 접근하는 것은 출발지를 알 수 없음. 사설인지 모름!! NAT를 풀어보자!!
R3]
conf t
int s1/0.23
no ip nat outside
exit
int f0/0
no ip nat inside
end
wr
conf t
router eigrp 17
network 192.168.3.254 0.0.0.0
end
clear ip eigrp nei
Win702]
ping 192.168.3.254
[크롬] - [http://17.17.1.1]
## 3.3에서 오는 것을 막아버림.
R2]
show access-list
## 지금까지 본것을 토대로 사설의 Inside에서 날라오는 것은 못 막는다. 하지만 출발지 주소가 192.168 인 것은 막는다.
## Numbers access-list의 단점은 수정이 안되고, no access-list로 통째로 날려야함.
## 번호를 쓰면 Standard인지 Extended인지 구분을 할 수 있음. 하지만 Names를 쓰면 구분할 수 없음.
## 따라서 정의를 내려줘야 함.
## Names로 바꿔보기.
R2]
conf t
no access-list 2
## Names로 만들 때는 앞에 ip가 붙는다. 이름을 쓰기 때문에 번호로 구분할 수 없음. Standard인지 구분을 해줘야함!
## 단, Names ACL은 숫자나 특수문자로 시작하면 안된다.
ip access-list standard NO_BOGON
deny 10.0.0.0 0.255.255.255
deny 172.16.0.0 0.15.255.255
deny 192.168.0.0 0.0.255.255
permit any
exit
int s1/0.23
no ip access-group 2 in
ip access-group NO_BOGON in
end
wr
## 이렇게 해도 막아진다!!
## 얘는 수정이 가능하다!!
show ip access-list
conf t
ip access-list standard NO_BOGON
no 10
no 20
end
wr
show ip access-list
## 저장하고 R2만 껏다가 다시 재부팅하면
show ip access-list
## 만약 방금 삭제한 것을 후회한다!! 그러면 다시 끼워 넣으면 된다. 10 이전에 넣으면 된다.
conf t
ip access-list standard NO_BOGON
5 deny 10.0.0.0 0.255.255.255
6 deny 172.16.0.0 0.15.255.255
end
show ip access-list
## Numbers(수정안됨, access-list로 시작)와 Names(수정가능, ip access-list로 시작)의 차이점은 여기까지!!
## Numbers보다 Names가 훨씬 좋음. Names의 장점은 사람이 쓰는 문자로 쓰기 때문에 직관적임(NO_BOGON)
Numbers는 숫자로 되어있기 때문에, 설정한 사람을 제외하고는 무슨 용도로 사용하는지 알 수 없음.
## 지금까지 BOGON 주소 막는 방법을 알아 보았다. BOGON 주소 막는 것을 풀어보기!!
R2]
conf t
int s1/0.23
no ip access-group NO_BOGON in
end
wr
## 갑자기 R4가 얄밉고, R3는 인터넷이 가능하게 해보기!!
## 이러면 [출발지/목적지] 개념이 있어야함.
## 출발지(R4의 f0/0), 목적지(R1의 Server쪽)
## 확장은 100 이상이면 된다.
R2]
conf t
access-list 100 deny tcp 17.17.4.0 0.0.0.255 17.17.1.1 0.0.0.0 eq 80
end
wr
## Web : tcp
## 출발지 : 17.17.4.0 0.0.0.255
## 목적지 : 17.17.1.1 0.0.0.0 (Wild가 0.0.0.0 0 4개 붙이거나 앞에 host 붙이거나 똑같음)
## access-list 100 deny tcp 17.17.4.0 0.0.0.255 host 17.17.1.1 eq 80과 같다.)
show ip access-lists
## 과제. Access-list 100번(Numbers)를 Names로 바꿔서 적용해보기 ##
R2]
conf t
no access-list 100
int s1/0.23
no ip access-group 100 in
exit
ip access-list extended R3_ONLY
deny tcp 17.17.4.0 0.0.0.255 host 17.17.1.1 eq 80 (##eq www 해도 된다)
permit ip any any (##deny ip any any가 생략되어 있기 때문에 절대 생략X)
exit
int s1/0.23
ip access-group R3_ONLY in (## 이제부터 R4에서 인터넷이 안된다.)
end
wr
## 과제2. InFTP & Telnet도 안되게 해보자 ##
## 출발지가 17.17.4.0 // 목적지가 any // 21번, 23번)
Win701]
## telnet
## 17.17.12.1 (R1으로 Telnet)
## 23
## 현재 텔넷이 된다.
conf t
ip access-list extended R3_ONLY
11 deny tcp 17.17.4.0 0.0.0.255 any eq 23 ## Telnet의 목적지를 any로
12 deny tcp 17.17.4.0 0.0.0.255 any eq 21 ## FTP Server가 CentOS이므로, any 넣어도 된다.
end
wr
## 이제 저장하고 껐다 키면 재정렬이 된다.
## DDoS 공격은 크게 스머프 공격, 프라어쩌구 공격 2가지로 나눌 수 있는데 스머프 공격이 제일 유명함.
## 공격 대상에게 엄청나게 많은 Request를 보내서 상대방을 마비시킴.
## 스머프 공격 ##
R4]
ping 17.17.12.1 repeat 1000
## 이것을 막아야함 !!
## 스머프 공격 방어 ##
## 기존의 access-list에 삽입해도 되고, 날린 다음에 만들어도 된다.
R2]
conf t
int s1/0.23
no ip access-group R3_ONLY in
exit
## Names Extended로 해보기.
ip access-list extended NO_DDOS
deny icmp any any echo ## 출발지가 어디든 다 막을 것임. (R2로 날아들어오는 것을 다 막음!!)
## 만약 내부에서 바깥으로 나가는 DDoS 공격도 막고싶다면!?
deny icmp any any echo-reply
exit
int s1/0.23
ip access-group NO_DDOS in ## 이러면 바깥으로 나갔다 들어오는 Reply 까지 막게 된다.
R1]
ping 17.17.12.1 repeat 1000
R4]
ping 17.17.12.1 repeat 1000
R2]
show run int s1/0.23
conf t
int s1/0.23
no ip access-group NO_DDOS in ## 날려버리기. 원점으로 돌아왔음. 모든게 다 잘되는 상황
R2]
show ip access-lists
## R3_ONLY를 편집해보자!!
## R4가 근무시간에 인터넷이 되지 않게!!
conf t
ip access-list extended R3_ONLY
no 10
no 11
no 12
no 20
10 deny tcp 17.17.4.0 0.0.0.255 host 17.17.1.1 eq www time-range WORK_HOUR
permit ip any any
exit
time-range WORK_HOUR
periodic weekdays 09:00 to 18:00 ## 기간(월~금 09:00 ~ 18:00 까지)
end
show clock
## 시간 설정 해주기
clock set 17:15:00 17 august 2021
show ip access-lists
conf t
int s1/0.23
ip access-group R3_ONLY in
end
wr
## 현재 permit ip any any 뒤에 있기 때문에 인터넷이 된다;;
conf t
ip access-list extended R3_ONLY
no 20
no 30
10 deny tcp 17.17.4.0 0.0.0.255 host 17.17.1.1 eq www time-range WORK_HOUR
permit ip any any
end
wr
show ip access-lists
Win703]
[크롬] - [http://17.17.1.1] 하면 안들어가짐
## 이제 R4에서의 Telnet을 막아보자.
R1]
conf t
access-list 1 deny 17.17.4.0 0.0.0.255
access-list 1 permit any
line vty 0 4
access-class 1 in ## 이렇게 하면 Telnet Proceess에서 막는 것임. 아까 전에는 인터페이스에서 막았던 것임.
## 정보기기 운용기능사에 Process에서 막으시오! 라고 나올 수도 있음.
'Network > Firewall (KEDU)' 카테고리의 다른 글
ASA Series1 - 가상화 (0) | 2021.09.06 |
---|---|
ASA Transparent Mode (3) | 2021.09.06 |
ASA Policy (0) | 2021.08.02 |
네트워크 보안 1 - TACACS+ Server (AAA 인증, 권한, 감사) (0) | 2021.07.21 |
Debian Linux Port Security - (DHCP Starvation / DHCP Spoofing) (0) | 2021.07.20 |