본문 바로가기

Study/Ubuntu 공부

[Ubuntu] 172.20.224.158 IP가 UFW BLOCK 방화벽에 걸렸습니다.

반응형

회사 서버로 172.20.224.158이라는 IP로 8080 포트로의 접속 시도가 방화벽에 걸렸네요. 정상적으로 서비스 중인 8080 포트로의 접속이 왜 방화벽에 걸렸는지 살펴보았습니다. 본 페이지에서는 아래의 내용들을 다룹니다.

  1. UFW BLOCK 메시지 분석 방법
  2. 172.20.224.158 IP의 위치
  3. 정상적으로 서비스되는 8080 포트로의 접속이 왜 차단되었는지 여부

 

 

[시스템 로그 분석]

최근 회사 서버에 문제가 좀 있는 것 같아서 dmesg 명령을 통해서 로그를 살펴보기로 했습니다. 로그를 자세히 살펴보니 UFW BLOCK 메시지로 도배가 되어 있네요. 172.20.224.158이라는 IP가 8080 포트로 여러 차례 접속을 시도해서 방화벽에 걸렸네요. 

 

[353574.416040] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=45626 DF PROTO=TCP SPT=29450 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353574.417831] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=10184 DF PROTO=TCP SPT=29412 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353581.581828] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=10185 DF PROTO=TCP SPT=29412 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353581.835913] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=45627 DF PROTO=TCP SPT=29450 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353596.427878] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=45628 DF PROTO=TCP SPT=29450 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353700.684892] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=63572 DF PROTO=TCP SPT=42420 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353701.612692] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=63573 DF PROTO=TCP SPT=42420 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353701.644635] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=36528 DF PROTO=TCP SPT=37734 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353703.437089] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=63574 DF PROTO=TCP SPT=42420 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353703.532649] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=36529 DF PROTO=TCP SPT=37734 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353707.276630] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=63575 DF PROTO=TCP SPT=42420 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353714.700650] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=63576 DF PROTO=TCP SPT=42420 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353714.956534] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=36531 DF PROTO=TCP SPT=37734 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0 
[353730.060444] [UFW BLOCK] IN=eno1 OUT= MAC=ab:cd:ef:gh:jk:lm:b4:0c:25:e1:80:45:08:00 SRC=172.20.224.158 DST=ABC.DEF.GHI.JKL LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=36532 DF PROTO=TCP SPT=37734 DPT=8080 WINDOW=28 RES=0x00 ACK FIN URGP=0

 

여러 차례 줄기차게 공격을 시도했었네요. 로그를 자세히 살펴보면 아래와 같은 의미입니다. 

 

eno1 인터페이스로 상대 쪽 IP는 172.20.224.158이고 Mac Address는 b4:0 c:25:e1:80:45입니다. ABC.DEF.GHI.JKL로 표시한 게 제 IP이고, ab:cd:ef:gh:jk:lm으로 표시한 게 제 Mac Address입니다. 

 

 

 

 

프로토콜은 TCP 프로토콜이고, 52 Bytes짜리 패킷이네요. 내 포트번호는 8080이고, 상대 쪽 포트번호는 29450입니다. 

 

근데 조금 이상한 게 있습니다. sudo ufw status로 확인해보면 8080 포트가 열려있는데 왜 블로킹된 것일까요? 재택근무를 할 때도 VPN으로 8080 포트로 서비스 중인 Jenkins 서버에 접속하곤 하는데 왜 블로킹된 것인지 처음에는 이유를 알기 어렵더군요. 

 

 

 

[IP 위치 확인 시도]

IP 위치를 확인할 수 있는 홈페이지에 접속하여, 어디에서 공격한 IP인지를 확인해보고 싶었는데, 아쉽게도 확인할 수 없습니다.

 

 

 

 

IP 위치가 확인되지 않은 이유는 바로 NAT 내부에 있는 IP이기 때문입니다.

[KOREAN]
AS :
도시 :
소속국가 :
국가코드 :
ISP :
위도 :
경도 :
조직 :
IP : 172.20.224.158
지역 :
지역이름 :
STATUS : fail
TIMEZONE :
우편번호 :

 

172.20.224.158와 같은 IP는 사설 IP로 내부 네트워크용으로 사용되는 IP입니다.

 

 

[정상적으로 서비스 중인 포트에 대한 접속이 차단된 이유]

8080 포트를 접속 허용으로 설정해놨고, Jenkins 서버로 평소에 잘 사용 중인데 방화벽에 걸린 이유는 접속을 시도한 IP가 공인 IP가 아닌 사설 IP였기 때문입니다. 

 

이상입니다. 

반응형