- 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 |
- JSP
- 프로젝트
- API
- 네트워크
- synology
- RaspberryPi
- 리눅스
- 메소드
- Python
- 그라파나
- Shell script
- 라즈베리파이
- 클라우드
- centos docker
- 안드로이드
- Linux
- Android
- Java
- 쉘 스크립트 if문
- docker
- nginx
- ACL
- GPIO
- 쉘 스크립트
- System
- Tkinter
- LEVIATHAN
- 자바
- GUI
- 쉘 스크립트 기초
- Today
- Total
IT창고
리눅스 서버 보안4 본문
예전에 2018/06/13 - [보안/Security] - 리눅스 서버 보안 1 에서 취약점 분석, 평가를 해보면서 PAM과 관련된 보안 점검항목은 넘기고 진행을 했었는데 이번에는 넘기고 진행했던 PAM 관련 점검항목을 해보도록 하겠습니다.
1.1 root 계정 원격 접속 제한
root 계정으로 직접 로그인하도록 허용하면 불법적인 침입자의 목표가 될 수 있으므로 root 계정 접속에 대한 관리가 필요하며 root 계정의 원격 접속 허용은 공격자에게 더 좋은 기회를 제공할 수 있으므로 root의 원격 접속은 금지하여야 합니다.
보안양호는 원격 서비스를 사용하지 않거나 사용 시 root 계정을 직접 접속을 차단한 경우입니다.
cat 명령어로 /etc/pam.d/login 과 /etc/securetty 를 살펴봅니다.
/etc/securetty 파일에는 pts/0 ~ pts/? 모두 주석처리하거나 없어야 합니다.
/etc/pam.d/login 파일에 auth required /lib/security/pam_securetty.so를 추가합니다.
1.3 계정 잠금 임계값 설정
침입자에 의한 패스워드 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측공격(Password Guessing) 발생 시 암호입력 실패 횟수를 적정하게 제한함으로써 자동공격을 차단하고 공격 시간을 지체시켜 패스워드 유출 위험을 줄일 수 있습니다.
보안 양호상태는 계정 잠금 임계값이 5이하의 값으로 설정되어있는 경우 입니다.
cat 명령어로 확인해보고 보안설정이 되어있지않다면 이 파일을 수정해줍니다.
pam_tally 모듈을 사용하라고 나와있지만 현재 테스트중인 리눅스는 pam_tally2 모듈을 사용합니다.
모듈의 옵션을 살펴보겠습니다.
옵션 |
설명 |
no_magic_root |
root에게 패스워드 잠금설정을 적용하지 않습니다. |
deny=5 |
5회 입력 실패 시 패스워드를 잠금합니다. |
unlock_time |
계정이 잠금되고 마지막 계정 실패 시간부터 설정된 시간이 지나면 자동으로 계정 잠김이 해제됩니다 (단위: 초) |
reset |
접속 시도 성공 시 실패한 횟수 초기화 합니다. |
/etc/pam.d/system-auth 파일에 auth required /lib/security/pam_tally.so deny=5 unlock_time=120 no_magic_root 와 account required /lib/security/pam_tally.so no_magic_root reset 를 추가해줍니다.
1.6 root계정 su 제한
권한이 없는 일반 사용자가 su 명령을 사용하여 로그인을 시도하고 패스워드 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격(Password Guessing)을 통해 root 권한을 획득할 수 있습니다. su 명령어 사용이 허용된 사용자만 root 계정으로 접속할 수 있도록 해야합니다.
보안 양호상태는 su명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우입니다.
wheel 그룹에 포함된 사용자만 su명령어를 사용할수있도록 제한해야합니다.
먼저 wheel그룹이 있는지 알아봐야합니다.
만약 wheel 그룹이 없다면 groupadd wheel 명령어로 만들어줍니다.
PAM모듈을 이용한 설정방법으로 /etc/pam.d/su 파일에 위의 사진 상태에서 4번째와 6번째 줄의 주석을 해제하면 됩니다.
trust옵션은 휠 그룹 멤버는 패스워드를 묻지 않고 su를 이용하여 root계정을 사용하는 옵션이고 use_uid옵션은 다른계정으로 변경가능옵션 입니다.
마지막으로 wheel 그룹에 su 명령어를 사용할 사용자 추가해야하는데 usermod -G wheel <user_name> 명령어로 wheel그룹에 su를 사용할 계정을 추가합니다. 아니면 /etc/group파일에 직접 계정값을 넣어줘도 됩니다.
wheel그룹에 계정이 추가된걸 볼수있습니다.
/etc/group파일을 직접 수정해도문제없습니다.
'보안 > Security' 카테고리의 다른 글
리눅스 SELinux 2 (0) | 2018.07.03 |
---|---|
리눅스 SELinux 1 (0) | 2018.07.02 |
리눅스 PAM2 (0) | 2018.06.28 |
리눅스 PAM1 (0) | 2018.06.24 |
리눅스 iptables 심화 (0) | 2018.06.24 |