조회 수 4245 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

특정 계정의 로그인을 불허하는 방법은 많습니다. 가장 쉬운 방법으로 /etc/passwd 파일에서 쉘 종류를 /bin/false 로 수정하면 가능합니다. 하지만 이러한 방법은 그리 추천할 만한 방법이 아닙니다. 바로 이때 PAM을 이용하면 손쉽고 편리하게 계정관리를 할 수 있습니다.


PAM은 Pluggable Authentication Modules의 약자로 서비스 접속과 관련하여 인증을 도와주는 모듈이입니다. 먼저, PAM의 인증 과정은 다음과 같습니다.

 

pam_0.JPG

  1) 사용자가 특정 서비스(SSH)에 접근하게 되면 SSH 서비스는 PAM에게 인증 요청
  2) PAM은 요청한 서비스의 설정 파일을 확인(확인경로 : /etc/pam.d/서비스명)
  3) 서비스는 설정 파일에 있는 인증을 절차에 맞게 수행후 그 결과를 서비스에 반환
  4) 서비스는 인증결과(True, False) 내용을 토대로 서비스를 진행 또는 거절


위 그림에서 보듯이 PAM을 이용하면 여러 이점이 있습니다. PAM을 사용하지 않고 여러 서비스(FTP, SSH 등)가 개별 인증을 하게되면 보안적인 측변에서 좋지 않기 때문입니다. 따라서, 시스템을 관리하고 있다면 PAM을 이용하여 중앙집중적으로 모든 서비스에 대한 인증을 처리하는 것이 좋습니다. 


1. PAM 경로

PAM 작동을 위한 주요 설정 파일의 경로는 다음과 같습니다.
/etc/pam.d/*                                        // 서비스 인증 설정 파일
/lib/security/*                                       // PAM인증 파일
/etc/security/*                                      // PAM인증 파일의 설정파일

 

pam_1.JPG

 

위 그림에서 보듯이 PAM을 이용하여 시스템 대부분의 서비스에 대한 인증을 제어할 수 있습니다.

 

 
2. PAM을 이용한 로그인 제한

간단하게 예제로 PAM을 이용해보겠습니다. 다음은 PAM을 이용하여 콘솔 로그인을 제한하는 방법입니다. login 파일을 vi로 연 후 편집합니다.
[root@localhost /]# vi /etc/pam.d/login


파일의 첫 줄에 다음의 코드를 삽입합니다.
auth required pam_listfile.so item=user sense=allow file=/etc/loginuser onerr=succeed
* 만약 반대로 특정 계정만 로그인을 거부하려면 sense=allow 항목을 sense=deny로 변경
pam_2.JPG

 

 
[root@localhost /]# vi /etc/loginuser
login파일에서 명시한 loginuser 파일을 열고 로그인을 허용할 아이디를 입력합니다.

이곳에 root를 넣지 않는 것이 좋습니다. 최고관리자는 바로 로그인하지 않고 su를 이용하여 관리자 권한을 얻는 것이 보안상 좋습니다.
pam_3.JPG

 

아래 그림과 같이 계정이 있더라도 loginuser에 등록되지 않은 사용자가 로그인시 인증 실패 메시지가 나타나게 됩니다. PAM에 의한 특정 계정의 로그인 허용과 거부방법은 콘솔 뿐 아니라 텔넷, FTP, SSH에서 모두 적용할 수 있기 때문에 다방면으로 사용할 수 있습니다.
pam_4.JPG

 

 
3. PAM을 이용한 su 명령 사용자 제한

PAM을 이용하여 su 명령어를 사용할 수 있는 사용자(그룹)를 PAM 모듈로 제한할 수 있습니다.
[root@localhost /]# vi /etc/pam.d/su


su 제한을 위해 /etc/pam.d/su 파일에서 6라인에 있는 설정의 주석(#)을 제거합니다.
auth required pam_wheel.so use_uid
pam_5.JPG

 

[root@localhost /]# vi /etc/group
/etc/group 파일에서 wheel 그룹에 su 명령을 사용할 수 있는 계정을 추가 합니다.
wheel:x:10:root,lenzefx,user01
pam_6.JPG

 

이제 wheel 그룹의 구성원만이 su 명령을 이용할 수 있습니다. PAM을 이용하여 사용자 로그인제한, su 제한을 이용하여 기본적인 최고관리자 로그인 보안설정을 할 수 있습니다.
 
* 정리 : 최고관리자는 반드시 su를 이용해서만 로그온이 가능하도록 설정해야 하며, su 명령은 wheel 그룹의 구성원만 가능하도록 해야합니다.

 


4. 로그기록 남기기

[root@localhost /]# vi /etc/pam.d/su
/etc/pam.d/su 파일안에 ‘auth required pam_wheel.so debug use_uid’ 추가
wheel 그룹에 지정되지 않은 사용자가 su 명령어를 사용하면 /var/log/secure 파일에 로그생성

 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
9 Linux Server 파일시스템 관리 2 - 하드링크와 소프트링크 1 file 송재진 2013.11.25 5162
8 Linux Server 파일시스템 관리 1 - 리눅스 파일시스템의 이해 file 송재진 2013.11.07 6749
» Linux Server 계정 관리 3 - PAM 모듈을 이용한 로그인 관리 file 송재진 2013.07.24 4245
6 Linux Server 계정 관리 2 - chage를 이용한 비밀번호 관리 file 송재진 2013.07.23 3646
5 Linux Server 계정 관리 1 - 사용자 계정생성/삭제 file 송재진 2013.04.30 9321
4 Linux Server 리눅스의 부팅과 Run Level(실행레벨) file 송재진 2013.04.01 3563
3 Linux Server 문서편집기의 사용 - vi editor file 송재진 2011.11.05 9579
2 Linux Server Linux 사용을 위한 기초 명령어 1 송재진 2009.12.24 7163
1 Linux Server Fedora(페도라) Linux 12 소개 및 설치 file 송재진 2009.12.21 11057
Board Pagination Prev 1 Next
/ 1
© k2s0o1d6e0s8i2g7n. ALL RIGHTS RESERVED.