관리 메뉴

IT창고

리눅스 서버 보안4 본문

보안/Security

리눅스 서버 보안4

방구석여포 2018. 6. 29. 02:10

예전에 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
Comments