- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- synology
- 프로젝트
- docker
- Android
- API
- LEVIATHAN
- 자바
- 그라파나
- 메소드
- JSP
- 리눅스
- GPIO
- System
- 네트워크
- RaspberryPi
- Python
- 라즈베리파이
- nginx
- Shell script
- Linux
- 쉘 스크립트 if문
- 클라우드
- 안드로이드
- GUI
- ACL
- 쉘 스크립트
- Tkinter
- Java
- 쉘 스크립트 기초
- centos docker
- Today
- Total
IT창고
리눅스 PAM2 본문
PAM의 모듈들에 대해 알아보겠습니다.
로그인 모듈을 알아보겠습니다.
/etc/pam.d/login 파일이 로그인 프로세스입니다.
가장 처음 auth된 PAM 모듈을 보면 pam_securetty.so파일이 있는데 이 모듈은 /etc/securetty 파일의 내용과 Login프로세스가 전달한 내용을 비교하는 모듈입니다.
man명령어로 pam_securetty를 입력하면 자세한 설명이 나와있습니다. 자신이 모르는 모듈이 나올경우 man으로 찾아보도록 합니다.
securetty파일에 tty가 콘솔의 터미널입니다. 만약 tty1(콘솔 1번 터미널)이 주석이나 아예없다면 콘솔의 1번 터미널로 접속이 불가능해집니다.
올바른 패스워드를 입력해도 접속이 불가능합니다. 테스트환경은 VMware이므로 ctal+alt+f2를 누르면 콘솔 2번 터미널로 바뀌게 됩니다. securetty파일에서는 tty1만 주석처리를 했기 때문에 콘솔 2번 터미널로는 접속이가능합니다.
/etc/pam.d/login파일에 보면 system-auth모듈이 있습니다.
이 파일을 직접 열어보면 auth sufficient pam_unix.so nullok try_first_pass 부분이 있는데 여기서 nullok옵션이 있습니다. nullok 옵션은 비밀번호가 비어있는 경우 받아들이지 않는다는 옵션으로 만약 이 옵션을 지울경우 계정만 있으면 접속이 가능하게 됩니다.
pam_nologin모듈에 대해 알아보겠습니다.
이 모듈은 간단한 모듈인데 만약 /etc/ 디렉토리안에 touch명령어로 /etc/nologin 이라는 파일이 존재할 경우 일반계정으로는 로그인이 불가능해 집니다. 자세한 내용은 man명령어로 pam_nologin모듈에 대해 살펴봅니다.
이번에는 pam_time.so 모듈에 대해 알아보겠습니다.
pam_time 모듈은 시간을 제한하는 모듈입니다.
pam_time.so 파일은 아래의 디렉토리에 위치합니다.
/etc/security 디렉토리에 가보면 time.conf파일이 존재합니다. 이 파일의 내용을 읽어들여 적용시키는 모듈이 pam_time 입니다.
사용방법은 time.conf 파일에 서비스명;터미널;계정;시간 을 넣어주면 됩니다.
time.conf파일 아래에 이런식으로 넣어주면 login서비스가 root가 아닌 계정으로 금요일 17~18시 사이에는 로그인이 불가능하게 됩니다.
/etc/pam.d/login 파일에 보면 pam_time.so 모듈을 사용하고 있지는 않습니다.
이러한 모듈을 사용하기 위해서는 관리자가 직접 login파일에 넣어줘야만 합니다. 단 login파일은 콘솔접속에 관여하기 때문에 ssh접속 또한 제한하기 위해서는 /etc/pam.d/password-auth 파일을 수정하거나 time.conf파일에 서비스명을 login이 아닌 sshd로 넣어주면 됩니다. ex) sshd;*;!root;!Fr1700-1800
pam_limits.so 모듈에 대해 알아보겠습니다.
이 모듈은 리소스를 제한하는 모듈입니다.
/etc/security/limits.conf 파일을 열어봅니다.
파일안을 보면 사용설명이 나와있습니다. <domain> <type> <item> <value> 을 고려해서 이 파일 가장 아래에 옵션을 넣어줍니다.
내용을 보면 모든 도메인에 하드타입으로 프로세스를 5개로 제한과 최대로그인수를 2개로 제한하는 내용입니다.
콘솔에 적용한다면 /etc/pam.d/login 파일에 session required pam_limits.so 를 추가하면 됩니다.
마지막으로 pam_tally2.so 모듈에 대해 알아보겠습니다.
pam_tally2 모듈은 접근 시도 횟수를 관리하는 모듈입니다.
콘솔에 적용한다면 /etc/pam.d/system-auth 파일에 원격 접속을 한다면 /etc/pam.d/password-auth 파일에 auth required pam_tally2.so deny=2 unlock_time=30 를 추가합니다. 이 설정은 로그인 시 2번 이상 패스워드를 잘못 입력하면 30초 후에 다시 접근할수 있도록 하는 설정입니다.
pam_tally2 -u [username] 명령어는 해당 계정의 로그인 실패 횟수를 확인할수있으며 pam_tally2 -r 명령어는 실패횟수를 초기화하는 명령어 입니다.
'보안 > Security' 카테고리의 다른 글
리눅스 SELinux 1 (0) | 2018.07.02 |
---|---|
리눅스 서버 보안4 (0) | 2018.06.29 |
리눅스 PAM1 (0) | 2018.06.24 |
리눅스 iptables 심화 (0) | 2018.06.24 |
리눅스 iptables 기초 (0) | 2018.06.17 |