네트워크, 유·무선 공유기, 클라우드, 형상관리, 컨테이너, 서버
데이터베이스, 업무용 PC 등…인터넷진흥원 자세한 ‘지침’ 눈길
[애플경제 김향자 기자] 중소기업은 서비스 개발, 운영 과정에서 보안에 취약할 수 밖에 없다. 대체로 이들은 네트워크, 유·무선 공유기, 클라우드, 형상관리, 컨테이너, 서버, 데이터베이스, 그리고 업무용 PC 보안이 문제가 된다.
인터넷진흥원이 운영하는 ‘인터넷 보호나라’ 사이트는 이들 보안 취약 사례에 대한 대응 방안을 제시, 관심을 끈다. 특히 중소기업으로선 새겨 볼만한 사무실 사이버보안 지침일 수도 있다.
네트워크 보안, 유․무선 공유기 보안
네트워크 보안을 위해선 우선 독립 서버 운영이 바람직하다. 웹 서비스, DB와 같은 중요 서비스를 단일 서버에서 함께 운영하는 경우, 특정 서비스에 장애가 생기거나, 공격을 당해 서버가 중단이 되면 다른 기능에까지 영향을 끼치기 때문이다.
네트워크 영역 분리도 필요하다. 흔히 대외 서비스를 제공하는 특히 자체 서버와 외부 노출이 불필요한 서버를 네트워크 영역 분리 없이 같은 네트워크에서 운영하는 취약 사례도 적지 않다. 이런 경우 “내부 서버가 외부에 노출될 수 있으며 이로 인해 소스코드나 인증정보와 같은 중요정보가 유출될 수 있다”는 경고다.
통신 채널 보안도 중요하다. 특히 원격 상황에서 서버 접속이나 관리도 증가하고 있다. 그러나 개인 및 공용 네트워크를 사용하는 디바이스는 모두 보안 위협에 노출되어있다. 그래서 “원격지에서 공용 네트워크로 서버 접속이 필요한 경우 VPN(Virtual Private Network) 접속이나, 암호화 통신 적용을 통한 보안 강화가 필요하다.”는 지적이다.
유·무선 공유기 보안을 위해선 무선랜을 업무 목적이 아닌 회의실, 게스트 제공 등을 목적으로만 활용하는게 바람직하다는 조언이다. 업무망과 분리하여 별도 운영하는 것이다.
만약 업무망에 무선랜 도입이 필요한 경우, 무선 네트워크를 식별하는 SSID(Service Set IDentifier) 보안을 설정해야 한다. 네트워크 이름 알림 기능을 사용하게 되면, 비인가자가 SSID를 보고 특정 기업의 무선랜임을 쉽게 식별할 수 있게 된다.
이를 방지하기 위해 무선랜의 SSID를 주변에 알리지 않도록 하는게 중용하다. ‘네트워크 이름 알림 기능’을 해제하거나, ‘SSID 숨김’을 설정, 사용해야 한다.
또 ‘SSID 숨김’에 불구하고, 무선 신호 수집 도구로 SSID를 식별할 수 있다. 그러므로 무선랜 이름은 쉽게 유추가 가능한 기업명, 부서명 등으로 지정하는 것을 피해야 한다.
무선랜 패스워드도 필요하다. 디민 관리 편의성을 위해 단순 반복 문자열처럼 쉽게 유추 가능한 패스워드는 곤란하다. 또 인가된 사용자만이 무선랜에 접속할 수 있도록 패스워드를 설정하여 인증절차를 추가해야 한다.
무선랜 MAC 인증도 필요하다. 즉, 비인가자가 패스워드가 설정된 무선랜에 대하여 인증정보 탈취, ‘사전 공격’(Dictionary Attack) 등을 통해 네트워크 접속 시도를 하는 것을 막아낼 수 있다. 여기서 ‘사전 공격’은 자주 사용하는 단어나, 문장, 숫자 등을 사전으로 미리 만들어 놓고 이를 대입해 패스워드를 알아내는 공격 기법이다.
클라우드, 형상관리, 컨테이너 보안
클라우드 관리 콘솔에 접속이 필요한 사용자를 식별, 각 사용자에게 개별 계정을 발급하고 필요한 권한만을 부여해야 한다. 퇴직, 직무이동이 발생한 경우, 즉시 권한을 회수하고 미사용 계정이 방치되지 않도록 정기적(월1회 또는 분기1회)으로 계정과 권한을 검토하는 등 관리가 필요하다.
또 클라우드 관리 콘솔의 사용자 계정에는 계정마다 역할 및 권한을 부여할 수 있다. 사용자의 직무(개발, 운영 등)에 따라 필요한 최소한의 권한만을 부여해야 한다.
좀더 안전하게 멀티 팩터 인증(MFA)을 적용하면 좋다. 계정, 패스워드를 통한 인증뿐만 아니라 인증 절차가 추가되므로, 계정 정보 유출로 인한 피해를 예방할 수 있다.
형상관리에 대해 ‘인터넷보호나라’는 “서비스 개발에 필요한 소프트웨어 요구사항 관리부터 설계, 개발, 릴리즈, 유지보수에 이르는 전체 개발 과정의 산출물을 관리하고 업무를 프로세스화 하는 서비스”라고 정의했다.
그 과정에선 기업에서 제공하는 서비스에 대한 소스코드나 작업내용 등 중요한 정보가 업로드되어 있다. 자칫 관리 부주의로 비인가자가 소스코드를 유출하거나, 서비스를 공격할 수도 있다.
그래서 형상관리 보안 분야에서는 형상관리 서비스에 대한 계정관리, 강화된 인증 절차 적용, 프로젝트(repository)별 접근통제 등의 항목을 점검해야 한다.
형상관리를 위해선 특히 계정 관리도 중요하다. 형상관리 서비스 사용자 계정을 담당자별로 구분, 발급하고, 퇴사한 임직원 계정, 미사 계정 등 접근이 불필요한 사용자 계정을 없애야 한다. 접속이 필요한 사용자를 식별해 개별 계정을 발급하고, 퇴직, 직무변경이 발생하는 즉시 권한 검토나 회수 등 관리가 필요하다.
컨테이너 보안을 위해선 우선 컨테이너 네트워크를 분리 설정할 필요가 있다. 이를 위해선 먼저 신규 네트워크 인터페이스를 생성하고, 컨테이너에 할당된 기존 네트워크를 분리한 뒤 신규 생성 네트워크를 연결해야 한다.
또한 불필요한 서비스는 제거하는게 좋다. 도커(Docker)에서 구동되는 컨테이너는 하나의 OS커널을 공유하지만, 프로세스 격리 기술을 통해 컨테이너 간 독립적인 서비스 구동이 가능하다. 또 컨테이너를 이용하는 기업들은 외부 서비스를 제공하거나, 성능·보안 이슈로 인해 분리된 어플리케이션 간 상호작용을 위해 ‘네트워크 포트 매핑’을 사용한다.
이때 ‘매핑’으로 지정된 포트는 호스트의 방화벽 허용 정책에 추가된다. 이에 사용자가 사용안하거나, 불필요한 포트를 설정할 경우, 의도치 않게 외부에 노출되거나, 공격에 노출 될 수 있다는 것이다.
서버, 데이터베이스, 업무용 PC 보안
서버 보안을 위해선 계정, 세션, 권한, 로그 관리 등이 중요하다.
계정 관리 측면에서 보면, 다수의 사용자가 계정을 공유하거나, 퇴사자의 계정이 남아
있는 등 취약 사례가 많다는 지적이다.
이에 서버 계정은 명령어를 참고하여 새로 생성해야 하며,계정에 대한 패스워드 설정을 통해 주기적으로 패스워드를 변경하도록 할 수 있다
또한 서버 계정 삭제도 필요하다. 퇴사나 직무변경으로 서버 접속이 불필요한 사용자가 생기는 경우, 명령어를 활용하여 계정을 삭제하는 등 비인가자가 서버에 접속할 수 없도록 조치해야 한다.
‘SSH 서비스’를 기본 설정 값으로 사용하는 것도 위험하다. 그러면 세션 타임아웃이 무제한으로 설정되어 세션을 종료하지 않으면 세션이 끊어지지 않고 유지된다. 따라서 원격 터미널 서비스에 접속한 뒤 오랜 시간 사용하지 않더라도 세션이 유지된다. 그 때문에, 비인가자에 의한 물리적 접근 및 세션 탈취에 취약하게 된다.
DB보안을 위해서도 계정 관리가 중요하다. 아무나 공용 계정을 사용하지 못하도록 접속이 필요한 사용자들은 개별 계정을 사용하고, 미사용 계정은 즉시 삭제할 수 있도록 관리해야 한다.
데이터베이스 로그 관리도 필요하다. 데이터베이스에 접속하거나 실행된 쿼리 등을 기록, 추후 책임 추적을 가능하게 하는 역할을 한다. 로그를 남기지 않는다면, 데이터 삭제 등의 비정상적인 동작에 대한 원인 분석이 어렵고, 데이터가 유출되었을 때 접근 경로 등을 분석하기도 어렵다. 이처럼 침해사고와 장애에 대비, 로그 기록은 필수적이다.
패스워드 관리가 중요하다. 패스워드를 장기간 변경하지 않거나, 패스워드 설정 없이 사용할 경우 원격데스크톱(RDP), 공유폴더 등 원격에서 무단 연결하거나, OS권한을 탈취하는 등 무차별 대입공격에 노출될 수 있다.
또 PC에서 불필요한 서비스는 제거한다. 예를 들어 업무 목적 이외의 메신저, 원격제어, 파일공유 서비스 등의 불필요한 서비스가 그런 경우다. 특히 서비스를 개발·운영하거나, 중요 자료를 취급하는 PC의 경우, 정보유출 및 악성코드 감염으로 인한 피해가 클 수도 있다.
업무용 PC에 대한 전원 관리도 신경써야 한다. 업무 시간 이후에도 켜진 상태로 방치하는 경우, 해당 PC의 취약점을 악용한 공격이 발생할 수 있다. 특히 시스템 관리자의 업무용 PC인 경우, 인증서 탈취, 주요 시스템 접속 권한 탈취로 전체 인프라에 대한 위협이 발생할 수 있다.
