Cent OS Linux cockpit(웹콘솔) OTP 설정하기.

선행글

앞선 글들을 통해서 리눅스 웹콘솔과 OTP설정하는 법을 포스팅했는데 이번에는 두가지 (cockpit 과 google authenticator를 이용하여) 웹콘솔 OTP를 설정해보도록 하겠다.
기존 ssh에 otp를 설치하는건 selinux의 우회를 하였기때문에 정상적으로 작동 했는데. cockpit같은경우 session으로 otp를 물기때문에 selinux에서 방어한다. 그래서 예외처리까지 함께 진행하겠다.
*SElinux를 끄는 방법도 있지만 보안상 안좋기 때문에 예외처리로 한다.

설정 파일 수정하기

vi /etc/pam.d/cockpit

auth required /usr/local/lib/security/pam_google_authenticator.so secret=${HOME}/.ssh/.google_authenticator

이렇게 설정값을넣고 웹으로 접속하면
Verification code: 를 넣으라고 하는데 정상적인 otp값을 넣어도

위처럼 인증실패가 나온다.

cockpit 에서 지원해주는 GUI로 selinux 로그를 살펴보면 아래처럼 Prevent 되었다고 나오고 조치방법도 설명해준다.

  1. If you want to allow polyinstantiation to enabled
    이 솔루션을 자동으로 적용할 수 없습니다
    You must tell SELinux about this by enabling the ‘polyinstantiation_enabled’ boolean.
    => ‘polyinstantiation_enabled’을 하라는거같고
  2. If you believe that cockpit-session should be allowed write access on the .ssh directory by default.
    이 솔루션을 자동으로 적용할 수 없습니다
    You should report this as a bug. You can generate a local policy module to allow this access.
    => .ssh 디렉토리에 대한 쓰기 엑세스 허용 권한을 로컬 정책 모듈로 생성하라고한다.

SELinux 정책 적용

  1. setsebool -P polyinstantiation_enabled 1
  2. ausearch -c 'cockpit-session' --raw | audit2allow -M my-cockpitsession
  3. semodule -i my-cockpitsession.pp

하고나서 다시 로그인 접속시도. 계속 조금씩 다른 이름으로 SElinux Error가 나올텐데 2,3번을 반복해서 예외처리해주면된다.

각기다른이름

한 3번정도해주면 다시 정상적으로 접속이 가능하다.

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

2 thoughts on “Cent OS Linux cockpit(웹콘솔) OTP 설정하기.”

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link