SharedIT | 묻고 답하기(AMP)

네트워크 보안 (포트변경/포트차단) 질문드립니다.

네트워크 보안 공부하다가 문의가 있어서 고견 여쭙습니다...


질문1. 보안을 위해 포트를 변경하는 경우 (예: 웹서비스 www.jdlidfja.com:8081)

-> 보안을 위해 서비스 포트를 변경하는 경우가 있다고 알고 있습니다. 예를 들면 웹은 80,443 대신 8081 같은거로 서비스포트 변경하는거죠. 근데 이게 의미가 있나 싶습니다. 

어차피 포트스캐닝 하면 오픈된 포트가 다 보일텐데 말이죠. 저 방법이 유의미하려면 저 웹서비스는 어쩔수 없이 dmz에 오픈해놓긴 하지만 임직원같이 아는사람들만 접근하는 서비스여야 그나마 의미있을 것 같은데.. 제가 이해한거처럼 이런경우에 한정해 적용할 수 있는 보안이 맞나요? 

근데 이런경우여도, 어차피 해커들은 무작위IP 대역대에 무작위 스캐닝을 항상 돌리고있으니, 시간만 다소 걸릴뿐이지 위험이 유의미하게 적어지는건 아니지 않나요?? 


질문2. 서버팜 방화벽 포트차단 방법 (화이트리스트?블랙리스트?)

-> 서버팜 방화벽 운영에 있어, 오픈포트를 최소화(관리포인트 최소화) 하여 화이트리스트로 허용하는 방식이 국룬인줄은 알고있습니다만..

27372번 포트 같이 Wellknown포트 아닌 다이나믹  포트도 기본적으로 차단해야하는 이유가 잘 이해되지 않습니다. 이런 포트들을 서비스포트로 이용하는 악성프로그램들 때문인게 맞나요? 

근데 서버를 기준으로 봤을 때, 이런 열린 다이나믹 포트들이 악용되기 위해서는 기본적으로 서버에 악성프로그램들이 깔려있어야 하지 않나 싶습니다. 예를 들어, DMZ에 있는 A 서버의 27372 포트가 열려있는걸 해커가 탐지했어요. 그렇다고 바로 뭔가 악성행위를 할 수있는건 아니지 않나 싶습니다. SSH, TELNET 같은 원격접속 포트도 아니고 하니까요.. 

당연히 모든종류의 불필요한 Risk는 제거하는게 맞습니다만 다이나믹 포트 오픈이 침해사고로 바로 이어질 수 있는건지, 아니면 기본적으로 서버가털렸을 때 문제가 되는건지.. 좀 더상세히 궁금합니다. 다이나믹 포트를 사용하는 악성프로그램들은 보통 트로이목마류더라구요.. 



감사합니다... 

Tags : 태그가 없습니다.

6개의 답변이 있습니다.

쿨가이
  0 추천 | 일 년 이상 전

포트를 전부 다 막을 수는 없으니.

보안상 꼭 필요한 포트만 오픈하는거죠.

그 필요한 포트도 이미 많이 사용하는 포트보다는 특정포트를 지정해서 오픈하는게

더 안전한 방법이 되는거죠

빨간신발
  0 추천 | 일 년 이상 전

1 어차피로 접근하면 세상의 모든 행위가 필요업죠. 어차피 죽을거 아둥바둥 할 필요도 없죠. 보안을 그런 관점으로 접근하면 안하시는 게 맞습니다. 문은 왜 잠구고 다니나요? 열쇠전문가는 거의 다 오픈이 가능할텐데요

누구나 쉽게 접근하게 방치하는 것과 기술이 있는 사람이 어렵게 접근시키는 것은 다르고, 그렇게 해야 합니다

그리고 http, https 같은 불특정다수를 위한 서비스는 접근을 용이하게 하기위해 포트 변경을 거의 안하고, 특정 소수가 관리를 위해 사용하는 ftp, telnet, ssh 등은 포트를 변경하고 화이트 리스트로 접근제어를 하는게 좋습니다.

2 사용하지 않는 포트는 방화벽에서 모두 차단하는 것이 좋습니다. a서버가 새로 도입했는데 관리용 포트인 12345포트를 서버에서 접근제어를 안하고 방화벽에서 오픈이 되어 있으면 게임 끝이죠. 서버에서도 차단하고 방화벽, ips, 웹방화벽 등 보안장비에서 2중 3중으로 차단해야 어느 한곳에서 실수로 오픈해노 2차 3차로 차단되어 안전할 수 있습니다. 

사용하는지 안하는지 모르는 포트는 모두 차단하는 것이 좋습니다

네트워크는 서버에서 하는 것을 정확히 모르고 반대로 서버도 네트워크에서 하는 것을 잘 모릅니다. 서로가 소통해서 필요한 최소한만 개방하는 것이 좋겠지요

choboit | 일 년 이상 전

선배님 그러면 만약 서버에 38743 번 포트가 열려있습니다.

그런데, 해당포트에 아무런 서비스가 올라가있지 않으면, 당장은 문제가 없을 수 있다는건 맞는거지요? 해당포트가 열려있다고 무조건 서버 내부에 악성프로그램을 설치하거나, 악성행위를 유도할 수는 없을 것 같아서요. 


아 오해하실까봐 그런데 

저는 보안 공부하는 사람으로써 안쓰는 포트는 다 막자고 할거에요! 

그냥 정확히 알고싶어서 디테일하게 여쭤보는거에요 ㅠㅠ

wansoo | 일 년 이상 전

열려 있다는 건 서비스를 할 수 있다는 의미가 되겠고요.

서비스를 한다면 것은 정해진 요청을 받아서 처리해 준다는 의미가 되고요.

서비스 종류가 아주 다양합니다.

예를 들어 술집에 가면 술 서비스를 받을 수 있고... 

커피숍에 가면 커피 서비스를 받을 수 있겠고요.

커피숍에 가서 술 서비스를 받지는 못하는 것이고요.

어떤 서비스를 하고 있다고 내가 원하는 목적을 달성할 수 있는 것은 아닙니다.

경우에 따라서는 커피숍 서비스를 하는데, 옆에 들락날락하는 뒷구멍이 열려 있어서 손을 넣어보니, 직원들이 몰래 마시는 술이 손에 잡혀서 해킹에 의해 술을 빼돌려 마실 수 있는 극히 희박한 가능성도 있긴 하겠지만 그럴 가능성은 거의 없다고 보면 됩니다.


컴퓨터에서 특정 포트를 열고 서비스하는 종류는 정말 많습니다.

클라이언트가 "헤이~" 하면, "나 살아 있어!!" 라고 응답만 하는 서비스도 있고,

"몇시야?" 하면 "지금 몇시 몇분 몇초야" 만 응답해 주는 서비스도 있고요.

지정되어 있는 요청에 대한 응답 이외에 다른 역할은 하지 못하게 설계되어 있는 서비스들이 대부분입니다.

"헤이~"에 "나 살아 있어!!" 하는 응답 서비스만 하는 서버에게 "내부에 있는 기밀 정보 몽땅 넘겨!!" 하는 요청을 아무리 위협적인 협박으로 한다해서 해당 요청을 들어 줄수 있는 건 아니랍니다.

빨간신발 | 일 년 이상 전

서버 포트가 열려있다 

= 해당 포트가 listen 상태이다 

= 해당 포트를 사용하는 서비스가 가동중이다

같은 말으로 보이네요

위의경우 네트워크 방화벽에서 차단을 안하고 있다면 심각한 문제가 발생할 수 있습니다

그러나 네트워크 방화벽이 열린것이라면 서버에서 서비스중이라고 단정할 수는 없겠죠

그리고 네트워크 방화벽에서 차단인지 아닌지도 판별할 수 있습니다

38743 포트가 네트워크에서 차단을 안하고 있으면 해당 서버를 공격해서 38743포트를  점유하고, 이를 이용해 c&c서버나 경유지로 활용되는 등 우리가 아닌 제3자를 대상으로 한 악의적인 목적으로 활용될 수도 있습니다

그래서 사용하지 않는 포트는 2중 3중으로 차단하는 것이 좋습니다


빨간신발 | 일 년 이상 전

서버에 38743 포트가 열려있는데 아무런 서비스가 없다는 것은 내가 모르는 서비스가 가동중입니다.

서버에서 포트가 열린것은 해당 포트를 사용하는 서비스가 가동중이라서 열리는 것입니다

Genghis Khan
  0 추천 | 일 년 이상 전

질문 1,2번에 대한 답변은 열린포트와 다이나믹 포트 스캐닝 하면 다 나오고 포트변경해도 다 나오죠

그래서 외부 공격 시  방화벽,ips(침입차단),L3(구간ACL) 과. 상시 관제 서비스를 통해. 외부 공격을

탐지하고 차단할수 있습니다


topkslee
  0 추천 | 일 년 이상 전

공부하고 계시듯이 시스템은 아주 복잡하고 다양합니다.

그렇기에 보안설정 하나 했다고 끝나는 것은 아닙니다.

수없이 개발되는 다양한 해킹툴과 새로운 공격 기술로 100% 방어는 현실적으로 어렵습니다. 

며칠전 글에도 언급했지만 해커집단에서 마음먹고 공격하면 방어하긴 쉽진 않습니다.

위에서 언급한 보안 조치들이 최소한 잔챙이들을 걸려낼순 있고

보안 risk를 줄일 수 있기에 하는 조치로 보시면 됩니다.


관리자의 업무부담은 많지만 보안측면에서는 화이트리스트가 블랙리스트보다는

안전합니다.

wansoo
  0 추천 | 일 년 이상 전

기본 포트를 변경하는게 의미가 있냐?

의미 있습니다.

해킹이 특정 호스트를 타겟으로 하고 공격하는 경우도 있지만 무작위로 공격하는 경우가 더 많습니다.

해커가 무작위 공격할 경우에는 웹 서비스의 취약점을 공격하겠다거나 SSH의 취약점을 이용하겠다거나 SMTP의 취약점을 공격하겠다는 등의 목표를 먼저 정하고 인터넷 상에 접근 가능한 호스트를 로봇으로 검색하게 됩니다. 0.0.0.0~255.255.255.255 까지 자주 사용하는 특정 포트가 열려 있는지를 먼저 찾아 내고 난 뒤에 해당 포트에 대한 취약점들을 하나 하나 시도해보거나 brute force attacks으로 암호 해킹을 시도해 보거나 하게 되겠고요.

특정 호스트를 타겟으로 정했을 경우라도 특정 호스트의 전체 포트를 검색해서 열린 포트를 하나 하나 공격 시도하겠죠.

그럴 경우에도 열린 포트가 웹 서비스인지, FTP 서비스인지, telnet 서비스인지 등에 따라서 공격 방법이 달라져야 하겠고요.

80포트라면 웹 서비스라는 걸 추정해서 웹 취약점 중심으로 공격을 시도하게 되겠지만, 1234 포트를 웹 서비스로 사용하고 있다면 공격자는 해당 포트가 표준적인 프로토콜이 아닌 서버와 클라이언트만의 특수 프로토콜에 의해 정보를 주고 받을 가능성이 높다는 추측으로 공격 자체를 포기하거나 여러가지 시도를 해 본후에 1234 포트가 웹 서비스 포트라는 걸 뒤 늦게 알고서 웹 서비스 취약점으로 공격 시도하게 되겠고요.


포트 뿐만 아니라 IP 등 가능한 접속 가능한 상대자가 제대로 확인된 화이트 리스트만 접속할 수 있게 허용하는 것이 안전합니다.

완벽한 보안은 네트워크를 완전히 차단시켜 두고 사용하지 않는 이상, 사실 어렵습니다.

보안이라는건 침입 가능성을 최대한 낮추는 것이지 완벽한 철통 보안을 의미하지는 않는다고 생각합니다.

침입 가능성을 최대한 낮추기 위해서는 확인된 상대자와 사전에 미리 약속된 포트, 약속된 접속 방식 등등으로 엄격하게 제한해서 사용하는것이 침입 가능성을 최소화할 수 있는 방법이 되겠습니다.

Simon.Park
  0 추천 | 일 년 이상 전

보안 관련해서 포트를 변경하거나 막는 것은 가장 손쉽게 할 수 있고, 

최소한의 보안 조치라고 생각되어 집니다. 말씀하셨듯이 포트를 변경 했다고 해서 

안 뚫린다는 보장은 절대 없습니다. 하지만, 어떤 침투 행위를 할 경우에 조금이라도 번거롭게 하고,

시간을 조금이나마 더 걸리게끔 하는게 포트 변경이 아닐까 싶네요.

일반적인 포트를 사용 한다고 하면 그만큼 해당 포트에 대한 공격이 빠르고

쉬워 지게 될테니까요~~~