ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유저에 관한 세큐리티 관리
    Technique/LPIC 2019. 11. 11. 16:35
    반응형

    패스워드 관리

    패스워드에 유효기간을 설정하는 것으로 강제적인 패스워드 변경을 유저에게 강제할 수 있다. 유효기간의 설정은 chage 커맨드를 이용한다.

     

    chage [옵션] [유저명]

     

    옵션 설명
    -l 패스워드 또는 아카운트의 유효기간을 표시한다.
    -m 최저 기간 일수 패스워드 변경 기간의 최저일수를 설정한다.
    -M 최대 휴효기간 일수 패스워드의 최대유효기간일수를 설정한다.
    -d 최후 변경을 패스워드 최후 변경일을 설정한다.
    -W 유효기간 종료일수 패스워드의 유효기간이 종료됨의 경고가 몇일전부터 시작되는지를 설정
    -I 유효기간종료후, 사용불가능까지의 일수 패스워드의 유효기간이 지난뒤 아카운트 락이 걸리기 까지의 일수를 설정
    -E 아카운트를 무효화 하는 일수 유저 아카운트가 무효가 되는 일수를 설정한다.

    옵션을 아무것도 붙이지 않은 체 chage 커맨드를 실행하면 대화형 모드가 된다. 

     

    이 커맨드를 사용해서 작성한 정보는 shadow password를 이용할 경우 /etc/shadow파일에 저장된다.

     

    로그인 금지

    root아카운트로 콘솔 로그인을 행하는 시스템에는 일반 유저의 로그인은 불필요하다. 이러한 경우에는 /etc/nologin 파일을 작성해두면 root 아카운트에의 로그인 이외에는 금지된다.

     

    또한 메일 서버나 FTP 서버등에는 유저 어카운트는 필요하지만, 유저가 로그인 후 쉘을 이용하는 것은 바람직하지 않다. 유저 로그인 쉘을 /bin/false나 /sbin/nologin으로 변경하면 일반 유저의 로그인을 금지하는 것이 가능하다 

     

    유저 변경

    아무 거리낌 없이 root 유저로 작업을 하는 것은 바람직하지 못하다. 평소에는 일반 유저로 작업을 하고 root 권한이 필요할 경우에만 root 유저로서 작업을 하는 것이 적합하다 su 커맨드를 사용하면 일시적으로 다른 유저가 될 수 있다.

     

    su [ - [ 유저명 ] ]

     

    [ - ] 의 유무에 주의해야 한다. - 가 있다면 직접 로그인한 걷과 같이 환경이 초기화된다. 즉 현재 디렉터리는 새로운 유저의 홈 디렉터리가 되고 환경 변수도 모두 초기화된다. - 가 없다면 현재의 환경을 유지한 채로 유저만 변경하는 것이다. 유저명을 생략 하면 root 유저에 변경되어 쉘을 기동 한다.

    주의
    su 커맨드는 특정의 유저로 새롭게 쉘을 시작한다. su 커맨드를 실행 후 원래 쉘로 돌 오가는 것을 잊지 않아야 한다.

     

    sudo

    su 커맨드에 의해 한번 root 권한을 취득해버리면 해당 유저는 root 유저가 실행할 수 있는 것은 무엇이든 가능하다. 혹시 특정의 관리자 커맨드만 실행을 허가하고 싶을 경우 sudo 커맨드가 이용된다. sudo 커맨드를 사용하면 임의의 관리자 커맨드를 임의의 유저에게 허가하는 것이 가능하다. 예를 들어 sutdent 유저에게 shutdown 커맨드의 실행을 허가한다. 등이다. 일반 유저에게 root 유저의 패스워드를 알려줄 필요가 없는 점이 sudo 커맨드의 장점이다.

     

    sudo의 설정

    sudo 커맨드의 이용 설정을 하기 위해선 root 유저로 visudo 커맨드를 실행한다. 그 후 기본 설정된 에디터에 /etc/sudoers 파일이 열린다.  대표적인 서식은 아래와 같다.

     

    유저명 호스트명=(실행 유저명) [nopasswod:] 커맨드

     

    항목 설명
    유저명 커맨드의 실행을 허가하는 유저명또는 그룹 또는 ALL
    호스트명 실행을 허가하는 호스트명 또는 IP주소 또는 ALL
    실행 유저명 커맨드 실행시 유저의 명 ( 생략시 root) 또는 ALL
    커맨드 실행을 허가하는 커맨드 주소 또는 ALL
    NOPASSWD: 지정하면 커맨드 실행시 패스워드를 묻지 않는다.

    sudo의 이용

    sudo를 이용하기 위해선 sudo 커맨드의 인수로서 실행하고 싶은 커맨드를 지정한다. 

    패스워드를 묻는 경우 입력하는 패스워드는 root의 패스워드가 아닌 실행 유저의 패스워드인 점을 주의해야 한다. 패스워드를 제대로 입력한다면 커맨드는 실행된다.

     

    일반 유저는 /etc/sudoers 파일을 열 수가 없다. 자신에게 허가되어 있는 커맨드를 확인하고 싶을 경우에는 -l 옵션을 이용하여 조사할 수 있다.

     

    sudo 커맨드의 서식과 옵션은 아래와 같다.

     

    sudo [옵션] [커맨드]

     

    옵션 설명
    -l 허가 된 커맨드 리스트를 표시한다.
    -i 변경된 유저로 쉘을 기동한다 ( 로그인 시의 처리를 행함 )
    -S 변경된 유저로 쉘을 기동한다.

     

    시스템 리소스의 제한

    예를 들어 한 명의 유저가 시스템 메모리를 모두 사용해버리면 어떻게 될까. 아마도 시스템은 정지되고 말 것이다. 이유를 모른 채 왜 이런 버그가 발생했는지 찾고 있을 것이다. 이것을 방지하기 위해 유저가 이용할 수 있는 리소스를 제한하는 방법이 있다. ulinit 커맨드를 사용하면 유저가 이용할 수 있는 리소스를 제한할 수 있다.

     

    ulimit [옵션 [리미트 ]]

     

    옵션 설명
    -a 제한의 설정값을 모두 표시한다.
    -c 사이즈 설정된 코어 파일의 사이즈를 지정한다.
    -f 사이즈 쉘이 생성가능한 파일의 최대 사이즈를 블록 단위로 지정한다.
    -n 수 동시에 열수 있는 파일의 최대수
    -u 프로세스 수 한명의 유저가 이용가능한 최대 프로세스 수를 지정한다.
    -v 사이즈 쉘이 이용 가능한 최대가상 메모리 사이즈를 지정한다.
    반응형

    'Technique > LPIC' 카테고리의 다른 글

    GnuPG에 의한 암호화  (0) 2019.11.13
    Open SSH  (0) 2019.11.13
    호스트 레벨의 세큐리티  (0) 2019.11.11
    DNS 설정  (0) 2019.11.11
    네트워크의 트러블 슈팅  (0) 2019.11.10

    댓글

Designed by Tistory.