본문 바로가기

Infra/리눅스 서버

[리눅스 보안] 리눅스 계정관리 - 사용자 Shell 점검

[리눅스 보안] 리눅스 계정관리 - 사용자 Shell 점검



■ 대상 OS : SunOS, Linux, AIX, HP-UX


■ 취약점 개요

    - 로그인이 필요 없는 계정을 이용해 시스템에 접근하여 사용자의 명령어를 해석하고 악용할 가능성이 있으므로, /bin/false *쉘(Shell)을 부여해 로그인을 금지함

    *쉘(Shell) : 대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함


■ 보안대책

    - 양호 : 로그인이 필요하지 않은 계정에 /bin/false(nologin) 쉘이 부여되어 있는 경우

    - 취약 : 로그인이 필요하지 않은 계정에 /bin/false(nologin) 쉘이 부여되지 않은 경우


■ 조치방법

    - 로그인이 필요하지 않은 계정에 대해 /bin/false(nologin) 쉘 부여


■ 보안설정 방법

    ◆ OS별 점검 파일 위치 및 점검 방법

        - SunOS, Linux, AIX, HP-UX

          #cat /etc/passwd | egrep

          "^daemon|^bin|^sys|^adm|^listen|^nobody|^nobody4|^noaccess|^diag|^listen|^operator|^games|^gopher" | grep -v "admin"

        ※ 시스템에 불필요한 계정을 확인한 후 /bin/false(nologin) 쉘이 부여되어 있지 않은 경우 아래의 보안설정 방법에 따라 설정을 변경

            (※ 불필요한 계정은 시스템 용도에 따라 차이가 있음)


■ SunOS, Linux, AIX, HP-UX

    1. vi 편집기를 이용하여 "/etc/passwd" 파일을 연 후

    2. 로그인 쉘 부분인 계정 맨 마지막에 /bin/false(nologin) 부여 및 변경

        (수정 전) daemon:x:1:1::/:/sbin/ksh

        (수정 후) daemon:x:1:1::/:/bin/false 또는, daemon:x:1:1::/:/sbin/nologin


■ 일반적으로 로그인이 불필요한 계정

    - daemon, bin, sys, adm, listen, nobody, nobody4, noaccess, diag, operator, games, gopher 등 일반적으로 UID 100 이하 6000 이상의 시스템 계정 해당




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기