SharedIT | 묻고 답하기(AMP)

방화벽질문있습니다!

솔루션 기업에서 근무하고있는 개발자입니다.

고객사에 자사 솔루션을 구축형으로 설치해줬고

서버는 고객사에서 관리하도록 해줬습니다.

근데 솔루션이돌아가는 서버의 특정포트는 (8010) 로그를 확인할수있도록 구현을 해두었습니다.


본사에서 이번에 고객사서버 로그를 확인하기 위해

고객사 전산실에 저희 본사 공인아이피와 특정포트를 방화벽허용을 해달라고 요청했고 전산실에서도 허용을했다고 했습니다. 근데 접속, 핑을 날려도 접속이 안되는 상황입니다..


뭐가문제인걸까요? 



Tags : 태그가 없습니다.

14개의 답변이 있습니다.

구름보안
  0 추천 | 6달 전

해당 서버에 공인 IP가 할당되어 있지 않고, 사설 IP를 쓰고 그 위에 공인 IP로 매칭되어 있다면 포트 포워딩 여부도 확인하셔야 될거 같습니다.

deerokgo
  0 추천 | 6달 전

PortQryUI.exe 라는 프로그램으로 포트 오픈 된건지 확인해보세요.

인프라에서 방화벽 오픈 했거나, 방화벽이 없다고 하는 경우에도

해당 프로그램으로 체크해보면 종종 Open 안된 것으로 나옵니다.

다운로드는 아래에서 해보세요.

사용하기 어렵지 않습니다. 

https://www.microsoft.com/en-us/download/details.aspx?id=24009

hgp33
  0 추천 | 6달 전

이거 서버 OS가 Window라면 윈도우 자체 방화벽에서 막고 있을 수 있습니다. 윈도우 방화벽 확인부탁드립니다  고객사에 연락해보세요.  저희도 고객사는 아니지만 협력사끼리 연결할때 몇번 겪었습니다. 상대는 허용했다고 하지 우리는 접속이 안되어 결국 제가 갔고 확인해보니 협력사 서버에서 윈도우 방화벽으로 인해 전부다 막혀있었습니다.

Genghis Khan
  0 추천 | 6달 전

개발사  회사에서 source 공인 ip가 

회선 IP가 맞는지 체크 해보시구요

고객사에  서버구성된 OS에도 방화벽 설정

또는 Linux 기반 SELinux 설정에 3가지 모드가 있습니다 enforcing, permissive, disable  해당모드에 따라 차단될수 있으니 체크해 보세요

앵그리파파
  0 추천 | 6달 전
  • ICMP(ping)가  차단된 경우, 

방화벽 규칙을 확인하면 차단여부를 확인할 수 있습니다. 허용으로 설정하면 됩니다.

일부 방화벽은 기본적으로 차단하도록 설정되어 있습니다. 


  • 고객사 전산실에 공인아이피와 특정포트(8010)를 허용 요청했는데, 접속이 안되는 경우,


만약, A->B 처럼 단방향 설정인 경우라면, A<->B 양방향 설정으로 해결할 수 있습니다.

방화벽 설정을 확인하여 해당 서비스나 애플리케이션에 필요한 포트도 열어야 합니다. (8010, 4400)


이때 양방향 설정은 해당 포트에 대한 인바운드 및 아웃바운드 연결을 모두 허용하는 것을 의미합니다. (예) 웹 서버에 접속이 안되는 경우, 방화벽에서 80번 포트를 열어 인터넷에서 들어오는 연결을 허용하고, 동시에 서버에서 외부로 나가는 연결을 허용해야 합니다.

Simon.Park
  0 추천 | 6달 전

혹시나 양방향으로 포트 Open 이 되어 있는지 체크 해 보세요.

가끔 단방향으로만 Open 을 하여서 통신이 안되는 경우 본적이 있습니다. 

차니
  0 추천 | 6달 전

ping은 다른 포트라서.. telnet ip 8010 해보시면 프롬프트 떨어지면 해당 포트 열린 것입니다.

빨간신발
  0 추천 | 6달 전

ping은 특정 포트를 사용하는 서비스가 아니라서 포트개방과 ping은 아무 상관이 없습니다

반대로 ping이 된다고 포트가 개방된 것도 아니고요

ping은 일반적으로 경로체크나 헬스체크에 사용합니다

윈도우에사 쉽게 포트 테스트하는 방법은 

c m d에서

t e l n e t  ip  port

ex) t e l n e t 123.123.123.113 8010

텔넷 띄어쓴건 붙여서 사용하세요

위와같은 해서 화면이 바뀌거나 이상한 메시지가 나오면 포트가 열린것이고

접속중이라는 메시지가 나오면 안열린 상태입니다

윈도우에서 telnet에서은 비활성되어 있어

프로그램 관리에서 사용으로 변경하면 사용이 가능합니다


명동쓰레빠
  0 추천 | 6달 전

덕분에 좋은정보 감사합니다.


에이스퐝
  0 추천 | 6달 전

일단 방화벽에서 8010만 열었다고 하면 당연히 ping이 안갈수 있습니다.

방화벽에서 icmp 를 열어주지 않는 이상.

보통 내부에서는 icmp를 열어두는 건 장비를 헬스체크를 위함이어 그 외의 용도에서는 icmp를 열어두지 않습니다. 그래서 ping이 안갈수 있고요.

다른 이유는 라우팅이 되지 않아 경로를 못찾아 안될수도 있습니다.

***** 만약 본사에서 고객사 서버로 8010이 되어야 한다면 확인해야 될 것 

  • 1.본사 방화벽 :  출발지(본사 서버) -> 목적지(고객사 서버) . 포트 : 8010

  • 2.고객사 방화벽 : 본사 공인IP -> 목적지(고객사 내부 서버) , 포트 : 8010

                           만약 고객사 서버가 DMZ 구간에 있으면 위의 정보만 확인

                          만약 내부 서버에 있다고 하면, 내부 방화벽에서도 방화벽 확인(라우팅)

***** 만약 고객사의 서버가 본사의 서버로 접속하는 것이면 확인해야 할것

 1. 본사 방화벽 : 출발지 : 고객사 공인IP , 목적지 : 본사 서버 , 포트 : 8010

 2. 고객사 방화벽 : 출발지 : 고객사 서버 , 목적지 : 본사 공인IP. 포트 : 8010


이정도는 확인해 줘야 됩니다.



ohmyfun | 6달 전

답변감사합니다!


혹시 고객사 8010포트로 접근하기위해서는 본사 즉 출발지 포트도 무조건 8010 이어여하나요?

에이스퐝 | 6달 전

출발지 포트는 상관없습니다.

방화벽 정책 등록시 기본적으로 넣어야 하는 건

출발지 IP정보, 목적지IP정보, 목적지Port 정보 3가지 입니다.

출발지 포트는 랜덤입니다. 출발지 포트는 방화벽에서 넣을일 없습니다.


ohmyfun | 6달 전

고객사에서 저희 ip 모든 포트를 개방하면 보안상 안된다고 특정포트만 열어줄수있다고 하더라고요..

그쪽에서 잘못알고있는건가요?

에이스퐝 | 6달 전

목적지 포트라는 건 당연히 목적지 서버에 열려있는 서비스 포트를 의미합니다.

아참. 이것도 확인해보세요.

보통 방화벽을 다 열었는데. 안된다고 하면 목적지 서버(즉 서비스하고자 하는 곳)의 서비스 포트가 listen이 안되어 있는 경우가 더러있습니다.

서비스를 올려두지 않아 포트가 대기상태가 아니어서 아무리 방화벽을 통과해도 될리가 없겠죠.

그걸 확인하는 방법은 보통 출발지 서버와 목적지 서버에서

tcpdump 를 통해 패킷 덤프를 실시간으로 확인하여 응답확인을 해볼수 있습니다.

에이스퐝 | 6달 전

아뇨 특정포트만 열어주는게 맞습니다. 그 포트를 알려줄때 위에 적은것처럼

서비스 포트를 알려줘야됩니다. 실제 필요한 포트 정보.

예를들어, 웹서비스를 한다고 가정하면 웹서버에 http 서비스가 구동중일거고 그럼 ps -ef | grep LISTEN 을 해보면 80포트가 listen 상태가 되어 있는걸 확인할수 있을 것이고,

그럼 방화벽에서는 http (80) 포트만 열어두면, 외부에서 웹서버로 접속할 수 있는 거죠.

에이스퐝 | 6달 전

그래서 결국 알아야 할 건 솔루션이 하는 게 정확히 뭔지를 알아야 합니다.

솔루션 업체의 서버가 고객사의 서버의 데이터를 가져 가는지?

아니면 고객사의 서버가 솔루션 업체의 서버로 데이터를 보내주는건지?

그래야 출발지, 목적지가 정해집니다.

그게 확인이 되면. 첫번째 처럼 솔루션업체의 서버가 고객사의 서버 데이터를 가져 가게되면

출발지 IP는 솔루션업체의 서버iP가 될거고, 목적지는 고객사 서버, 그리고 포트는 당연히 고객사의 서버에 에이전트같은게 설치가 되어 있을테니 그 실행된 에이전트가 실행되어 서비스하는 포트가 될 것입니다. 

만약 두번째처럼 고객사의 서버가 솔루션업체의 서버에 데이터를 보내주는거면

반대로 출발지IP는 고객사 서버, 목적지는 솔루션 업체의 서버, 포트는 솔루션업체 서버에 올려진 포트 정보가 될 수 있겠죠.

danis78 | 6달 전

보안상 특정 포트만 열어주는 게 맞습니다.

그리고 해당 포트가 열려 있는지 테스트 할려면 telnet 으로 테스트 해보시면 됩니다. 

아래 블로그 내용 참고하세요 

[네트워크] 텔넷(telnet) 명령어 - 포트(Port) 확인 :: 확장형 뇌 저장소 (tistory.com)

danis78
  0 추천 | 6달 전 | 제이컴즈 | 010-2871-8756

핑 테스트 할려면 ICMP 서비스 포트도 방화벽에서 열어줘야 합니다. 

아마도 특정포트만 열어놓은 거 같네요 

Genghis Khan
  0 추천 | 6달 전

PC에서 Teacrroute로 des(도착지) ip로

가는지 중간에 홉에서 빠지는지 체크하시고 괸련 정보를 방화벽 담당자에게 보내주세요

wansoo
  0 추천 | 6달 전

ping 보다는 nmap을 이용해 보세요.

ping은 icmp protocol을 통해 응답해 주어야 가능합니다.

방화벽에 의해 icmp 응답이 막혀 있으면 ping 응답을 받을 수 없습니다.

nmap을 이용하면 해당 서버에 열려있는 포트와 서버의 추가적인 정보도 얻을 수 있습니다.

nmap의 결과 정보를 참조하면 문제 원인 파악에도 도움을 얻을 수 있겠고요.

ohmyfun | 6달 전

고객사 ip 가 1.1.1.1 이고 접근하려는 포트가 8010 일때

 

nmap -p 8010 1.1.1.1 이런식으로 날려보면 되나요??? ㅜㅜ

wansoo | 6달 전

8010 포트만 점검해 보려면 

nmap -p 8010 1.1.1.1

해 보면 되고,

그냥

nmap 1.1.1.1

이라고 해 보면 1.1.1.1에 열려 있는 포트와 서버에 대한 추가적인 정보들을 확인해 볼 수 있습니다.

ohmyfun | 6달 전

혹시 쪽지드려도될까요? nmap 신호 날려봤는데 결과에 대해 여쭤볼게있네요 ㅠㅠ

wansoo | 6달 전

여기 적으셔도 되고, 쪽지 보내셔도 됩니다.

topkslee
  0 추천 | 6달 전

방화벽을 잘 설정했으면 당연히 접속이 안되는게 맞습니다. ㅎㅎ

말씀하신 솔루션의 특정 포트 8010만 허용되어 있기때문에

8010은 특정 서비스만을 위한 포트입니다.

접속하거는 포트, ping하는 포트 별도로 다 있습니다.

현재 이 포트는 차단되어 있기에 안도는게 맞습니다. ㅎㅎ 

ohmyfun | 6달 전

본사에서 나가는 포트가 4400 입니다.

예를 들어 본사공인ip가 예를 들어 0.0.0.1 이고 고객사 서버ip 가 1.1.1.1 이고 로그서비스 포트가 8010 일때


0.0.0.1 : 4400 에서 고객사 서버 ip 인 1.1.1.1 : 8010 으로 통신하는거니깐
고객사 전산실에 1.1.1.1:8010 포트에 0.0.0.1:4400 이 접근가능하도록 허용해달라고 하면 되는거아닌지요..? ㅠㅠ

topkslee | 6달 전

단순히 솔루션 서버와 서버간 로그 통신만 하기 위한 것이라면

말씀하신 것처럼 하시면 됩니다.

방화벽 설정과 서버방화벽 설정 두곳데 허용되어 있는지 체크해보세요.

그리고 방화벽 로그에 보면 접속 deny, allow 로그가 나옵니다.

그쪽도 같이 체크해보면 좀 더 쉽게 찾을 수 있을 것 같습니다.

topkslee | 6달 전

서로 양방향 통신이 필요하면 inbound, outbound 모두 설정 해야 하구요.