Industry Issue

Unix/Linux 최소권한 관리

Cyber Security
작성자
관리자
작성일
2024-03-08 11:01
조회
67

Unix/Linux 최소권한 관리 - sudo없이 Linux 시스템 사용하기



최소 권한이란 모든 사용자가 작업을 수행하는 데 필요한 최저 수준의 액세스 권한을 가지는 것을 의미합니다. 그러나 대부분 운영 체제, 관리, 응용 프로그램 및 소프트웨어 기능에 기본 권한 이상이 필요합니다. 결과적으로 최종 사용자는 루트 또는 관리자 계정정보 등 상승된 권한을 소유해야 합니다. 사용자 및 관리자의 생산성에 영향을 미치지 않는 범위안에서 루트권한을 배포하거나 최종 사용자에게 루트권한 정보를 공유하지 않으면서 활용할 수 있는 방법이 필요합니다.

BeyondTrust Endpoint Privilege Management 솔루션을 사용하면 IT조직에서 Unix, Linux 및 Windows 서버에 접근할 수 있는 사용자와 소유한 권한으로 수행할 수 있는 작업을 세부적으로 제어할 수 있습니다. BeyondTrust는 서버보안을 향상시키면서 권한관리 배포를 단순화하고 생산성을 보장합니다.

BeyondTrust Endpoint Privilege Management는 아래의 기능을 제공합니다.
  • 루트 및 기타 권한을 소유한 계정 및 SSH키에 대한 접근을 자동으로 검색, 관리 및 모니터링
  • Windows, Unix 및 Linux 사용자가 시스템에 로그온 후 수행할 수 있는 작업을 세분화된 정책을 적용하여 제어
  • 여러 플랫폼의 계정을 단일 접근제어 정책으로 통합하여 SSO (Single Sign-On) 및 단순화된 정책 제공
  • 권한상승 대상 응용프로그램에 대한 위험 알림
  • 권한을 가진 사용자 및 계정 동작 분석, 로깅, 기록 및 보고


이 글은 BeyondTrust Endpoint Privilege Management 솔루션의 일부로 포함된 Unix/Linux 권한관리 제품으로 권한관리에 사용할 수 있는 기능을 포함하여 Unix/Linux 서버의 권한 관리에 대한 사용사례를 설명합니다.

루트권한 필요성 제거

Unix 및 Linux의 많은 시스템 및 응용프로그램 사용자는 루트권한이 필요합니다. 루트권한이 없다면 업무를 수행함에 있어 많은 불편함을 줄 수 있습니다. 다수의 직원이 시스템을 관리하는 경우 루트 계정정보를 공유해야 업무를 수행할 수 있습니다.

루트계정 정보를 공유하면 개개인의 활동을 감사하는 것이 어렵고 비밀번호를 어렵게 만들지 못하며 변경시마다 공유해야 하는 불편함도 있습니다. 루트계정의 사용과 계정정보 공유는 외부위험 뿐만 아니라 악의적 또는 실수에 의해 내부위협을 증가시킵니다.

Unix/Linux 권한관리 제품은 사용자 업무를 방해하지 않으면서 루트계정의 사용을 없애거나 제한할 수 있는 최소권한 모델을 구현합니다. 사용자가 작성한 정책에 따라 부여된 권한아래 모든 명령을 실행할 수 있습니다. 사용자가 루트로 로그인 할 필요가 없기 때문에 루트계정은 더욱 엄격한 제어를 할 수 있습니다.

[사진 1] sudo를 사용하는 것이 아닌 정책에 따라 루트권한 부여

루트계정에 대한 규정 준수

루트계정의 모든 활동을 모니터링하고 조치에 대한 책임을 보장해야 합니다. 시스템 관리자가 루트계정을 사용할 수 있게 하려면 누가 루트계정을 사용했는지 어떤 변경사항이 있었는지 식별할 수 있는 올바른 도구와 프로세스가 필요합니다. 또한 로그정보는 어떤 종류의 변조에도 영향을 받지 않아야 합니다.

Unix/Linux 권한관리 제품은 표준사용자계정에 대해 전체세션을 로깅하여 중앙집중식의 로그수집 기능을 제공하고 개별 시스템 관리자에게 투명하게 정보를 제공합니다.

제거해야 할 Sudo

Sudo는 오랫동안 사용했지만 시스템과 사용자의 수가 증가함에 따라 sudo 관리가 무척 어려워졌으며 내외부적인 위협에 노출될 수 있는 위험이 증가했습니다. Unix/Linux 권한관리 제품은 유연한 정책을 제공하여 명령어 및 시스템 수준에서 세부적인 정책을 작성할 수 있습니다. 사용자의 워크스테이션이나 서버에서 정책 및 로그데이터를 전파할 수 있으며 최신의 암호화 기술을 활용하여 데이터를 보호하는 등 다양한 보안기술을 활용합니다.



파일시스템 권한 및 접근제어

파일시스템은 읽기, 쓰기, 실행 등과 같은 파일 및 폴더 권한을 설정할 수 있습니다. 그러나 파일 및 폴더권한은 정적이므로 각 호스트마다 설정해야 합니다. 또한, 루트와 같은 권한을 가진 계정으로 ‘chmod’ 및 ‘chown’와 같은 명령어를 사용하여 권한 및 소유권 설정을 쉽게 조작할 수 있습니다. 파일 및 데이터에 제한 없는 접근권한을 부여하는 것은 위협에 노출될 수 있습니다.

Unix/Linux 권한관리 제품은 중앙에서 실시간으로 파일시스템을 모니터링하여 중요한 파일 또는 폴더에 대해 권한 및 소유권이 변경되는 것을 감지합니다. 특정시간 동안 파일시스템 권한 규칙을 적용하거나 특정조건(다중 인증 또는 티켓 발부 여부 확인 등)이 충족되는 경우에만 접근을 허용하는 등 정책을 적용할 수 있습니다.

위 설명한 기능을 활용하면 루트권한의 Shell을 실행하더라도 /home 폴더에 저장된 사용자 파일에 접근할 수 없도록 차단하거나 스크립트파일(읽거나 수정할 수 없는)을 실행하여 접근을 허용할 수 있습니다.

ss-pbps-6-4-direct-connect.jpg

[사진 2] SSH접근 제어 화면

스크립트 접근제어 및 스크립트 동작 감사

Unix와 Linux 관리자는 작성된 스크립트를 실행하여 시스템 관리업무를 수행합니다. 이러한 스크립트 중 대다수는 루트와 같은 권한이 필요합니다. 그에 따른 감사활동으로 표준입력 및 출력을 기록하는 방법이 있는데 문제점은 기록과정에서 스크립트 내 동작에 의해 영향을 받는 데이터가 무엇인지 시스템 동작이 어떻게 달라지는지 확인할 방법이 없습니다.

Unix/Linux 권한관리 제품은 스크립트를 제어(수정불가 등)할 수 있을 뿐만 아니라 시스템콜을 인식하여 스크립트가 호출하는 모든 것을 기록할 수 있습니다. 또한, 스크립트 전체 명령어 처리를 중단하지 않으면서 호출되는 명령들을 선택적으로 허용하거나 차단할 수 있습니다.

시스템 수준의 접근제어

Sudo와 같은 기존의 최소권한 도구는 시스템이 명령어를 처리하는 과정에서 제어하는 것이 아니라 사용자의 명령어 입력을 제어하는데 초점이 맞춰져 있습니다. Unix 및 Linux 환경에서는 소프트링크 및 하드링크를 사용하여 바이너리 및 스크립트 또는 파일을 호출할 수 있습니다. 혹은 보안정책을 우회하기 위해 바이너리 이름을 변경할 수 있습니다. ‘shutdown’ 바이너리를 복사하고 ‘ping’이라고 이름을 수정한 경우를 상상해보면 이해하기 쉽습니다. shutdown은 sudo에 의해 차단될 수 있지만 ping은 정상적으로 실행될 수 있습니다. 시스템 관리자가 ‘sudo ping’을 실행하면 시스템의 전원은 꺼지게 될 겁니다.

Unix/Linux 권한관리 제품은 한 줄의 정책으로 다수의 파일과 다수의 폴더를 관리할 수 있습니다. 더욱 중요한 것은 시스템 레벨로 실행되어 /usr/sbin/shutdown 명령어가 소프트링크 또는 하드링크가 되어 있더라도 실행을 차단할 수 있습니다.

이벤트 로그, 보고 및 웹 로그 통합분석

포렌식 수사를 수행하거나 예외를 탐지할 때 로그는 필수입니다. Unix/Linux 권한관리 제품은 플랫폼인 BeyondInsight와 통합하여 로그 및 리포트를 관리합니다. Unix/Linux 권한관리는 이벤트 로그데이터를 BeyondInsight로 보내 대시보드로 보여줍니다. 구체적으로 누가, 무엇을, 어디서, 언제 이벤트를 발생했는지 확인할 수 있습니다. 데이터를 선택하여 사용자가 활용하기 편한 보고서를 생성할 수 있습니다. 또한, REST API를 활용하여 모든 정보에 접근할 수 있도록 기록된 모든 세션을 색인화 합니다.

세션 기록

최소권한이 이상적이지만 때로는 루트수준의 쉘을 실행해야 할 때가 있습니다. 루트 쉘에 대한 관리자 활동의 기록이 변조되는 않는다면 문제가 되지 않습니다. 로그는 관리자가 권한을 남용하지 않고 조직에서 정의한 접근과 관련된 규정준수 요구사항을 충족할 수 있게 합니다.

Unix/Linux 권한관리는 한 줄의 설정으로 전체세션 기록을 켜고 SOLR을 사용하여 동적으로 이름을 지정하고 자동으로 색인을 생성합니다. 이를 통해 대화형 또는 비디오 스타일로 세션동작을 확인할 수 있습니다. 또한, 신속하게 로그를 검색하여 위협을 효과적으로 관리할 수 있습니다.

/about-us/inquiry/
https://www.youtube.com/@softflow2018
https://blog.naver.com/softflow_group
#