자유게시판

?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

20231124_083104.png

 

 

1. 사전 준비사항

 

1) Hostname 및 OS 버전을 확인

 

[root@baropam root]# uname -a

HamoniKR baropam 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/HamoniKR

 

2) ssh, sftp 서비스를 제공하기 위하여 ssh 및 openssl의 버전을 확인

 

[root@baropam root]# ssh -V

OpenSSH_8.9p1 Ubuntu-3ubuntu0.4, OpenSSL 3.0.2 15 Mar 2022

 

[root@baropam baropam]# openssl version

OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

 

3) 외부에서 ssh/sftp 접속하기 위한 방화벽 해제 및 재기동

 

[root@baropam baropam]# sudo ufw disable

[root@baropam baropam]# sudo systemctl restart ufw

 

 

2. BaroPAM 설치

 

1) BaroPAM 모듈을 설치하기 위한 디렉토리를 생성 및 권한 설정(root 계정으로)

 

[root]# mkdir /usr/baropam

 

2) BaroPAM 모듈을 설치하기 위한 디렉토리의 권한을 부여

 

[root]# chmod -R 777 /usr/baropam

 

3) BaroPAM 설치 모듈을 다운로드(OS version 확인)

 

https://mc529.tistory.com/1407

 

4) BaroPAM 설치 모듈의 압축을 해제(예 HamoniKR 7.x 64bit인 경우)

 

[root] /usr/baropam > tar -xvf libpam_baro_auth-mint21.5.29-x64.tar

 

설치할 tar 파일명을 알 경우

 

[root] /usr/baropam > wget http://nuriapp.com/download/libpam_baro_auth-mint21.5.29-x64.tar

 

5) BaroPAM 모듈 확인

 

[root] /usr/baropam > ls -al

합계 1104

drwxrwxrwx  3 root    root      4096 11월 23 13:08 .

drwxr-xr-x 15 root    root      4096 11월 20 00:41 ..

-r--r--r--  1 root    root         6  7월 15  2020 .baro_acl        --> ACL 파일

-r--r--r--  1 baropam baropam    271 11월 23 13:08 .baro_auth       --> PAM 인증의 환경설정 파일

-rwxr-xr-x  1 root    root    101648  9월 24 11:21 baro_auth        --> PAM 인증의 환경파일 생성하는 실행 프로그램

drwxr-xr-x  2 root    root      4096 11월  3  2020 jilee            --> PAM 인증의 보안 관련 파일이 존재하는 디렉토리

-rwxr-xr-x  1 root    root    164216  9월 24 11:21 pam_baro_auth.so --> PAM 인증의 일회용 인증키 검증하는 모듈

-rw-r--r--  1 root    root       236  9월 11 15:07 setauth.sh       --> PAM 인증의 환경파일 생성하는 쉘 스크립트

 

 

3. BaroPAM 환경설정 파일 생성

 

1) 환경파일 생성하는 쉘 스크립트(setauth.sh)

 

[root] /usr/baropam > cat setauth.sh

#!/bin/sh

 

HOSTNAME=`hostname`

export BAROPAM_HOME=/usr/baropam;

 

$BAROPAM_HOME/baro_auth -r 3 -R 30 -t 30 -k app512 -H $HOSTNAME -e no -A deny -a $BAROPAM_HOME/.baro_acl -S jIqIcHbVqdpj7b4PzBpM2DiIeBvmHFV/ -s $BAROPAM_HOME/.baro_auth

 

2) BaroPAM 환경설정 파일의 설정 옵션에 대한 내용

 

20231124_082845.png

 

3) setauth.sh 쉘 스크립트 실행

 

[root] /usr/baropam > sh setauth.sh

 

1) Your emergency one-time authentication key are :

응급 일회용 인증키는 일회용 인증키 생성기인 BaroPAM 앱을 사용할 수 없을 때 분실한 경우를 대비하여 SSH 서버에 다시 액세스하는데 사용할 수 있는 접속이 가능한 Super 인증키 이므로 어딘가에 적어 두는 것이 좋다.

 

2) 다음에 나오는 물음에 대해서는 모두 "y"를 입력한다.

   중간자(man-in-the-middle) 공격을 예방할 것인가? y

   같은 일회용 인증키는 하나의 계정 외에 다른 계정에도 로그인이 가능

   하게 할 것인가? y

   일회용 인증키의 제한 시간을 30초로 지정할 것인가? y

 

[root] /usr/baropam > cat .baro_auth

" AUTH_KEY

" RATE_LIMIT 3 30

" KEY_METHOD app512

" CYCLE_TIME 30

" SECURE_KEY jIqIcHbVqdpj7b4PzBpM2DiIeBvmHFV/

" ACL_NAME /usr/baropam/.baro_acl

" ACL_TYPE deny

" HOSTNAME baropam

" DISALLOW_REUSE

33458936

19035576

15364353

54649370

84342192

 

 

4. BaroPAM 설정

 

1) sshd 파일의 최상단에 설정

 

[root] /usr/baropam > vi /etc/pam.d/sshd 

auth required /usr/baropam/pam_baro_auth.so nullok secret=/usr/baropam/.baro_auth encrypt=no

--> "nullok"는 BaroPAM 이 설정되어 있지 않은 계정의 경우에는 2차 인증(추가 인증)을 생략한다는 의미

 

20231124_082911.png

 

auth required /usr/baropam/pam_baro_auth.so forward_pass secret=/usr/baropam/.baro_auth encrypt=no

--> forward_pass를 이용하여 암호 입력창(Password & verification code:)에 암호와 같이 일회용 인증키를 입력할 경우, 암호를 먼저 입력하고 공백 없이 이어서 일회용 인증키를 입력. 예를 들어 암호가 "baropam" 이고 일회용 인증키가 "123456" 이라면 "baropam123456"으로 입력

 

20231124_082931.png

 

2) su, sudo, lightdm, lightdm-autologin, cinnamon-screensaver 파일 등의 최상단에 설정

 

[root] /usr/baropam > vi /etc/pam.d/su 

auth required /usr/baropam/pam_baro_auth.so nullok secret=/usr/baropam/.baro_auth encrypt=no

 

20231124_083007.png

 

3) sshd 데몬 설정을 위한 설정 파일인 "/etc/ssh/sshd_config" 파일의 내용 중 다음과 같은 인자는 변경이 필요

 

20231124_082947.png

 

4) sshd 설정이 끝나면 반드시 PAM 모듈이 제대로 추가되었는지 확인한 후 SSH Server의 Restart 작업이 반드시 필요

 

[root] /usr/baropam > systemctl restart sshd

sshd 를 정지 중: [  OK  ]

sshd (을)를 시작 중: [  OK  ]

 

[root] /usr/baropam > systemctl restart lightdm

 

5) BaroPAM 모듈 사용 시 2차 인증에서 제외할 계정에 대한 ACL에 제외 해야 하는 경우

 

[root] /usr/baropam > vi .baro_acl

barokey

baropam

 

 

5. BaroPAM 적용 방안

 

모든 정보자산 로그인 시 비밀번호 만으로는 결코 안전하지 않으며 매번 사용할 때마다 비밀번호를 대체 또는 추가 인증(2차 인증)할 수 있는 새로운 적용 방안(추가 인증, 비밀번호 대체, 새로운 비밀번호)이 필요

 

1) 추가 인증

   계정(로그인-ID), 비밀번호 이외의 추가 인증(2차 인증)으로 일회용 인증키 적용(ID/PW/OTA)

    

   auth required /usr/baropam/pam_baro_auth.so nullok secret=/usr/baropam/.baro_auth encrypt=no

 

 

2) 비밀번호 대체

   비밀번호를 제거하고 일회용 인증키로 대체(ID/OTA)-일회용 인증키

 

   auth required /usr/baropam/pam_baro_auth.so forward_pass secret=/usr/baropam/.baro_auth encrypt=no

 

   참고) 비밀번호를 일회용 인증키로 대체하는 경우는 해당 계정(로그인-ID)의 비밀번호를 계정과 동일하게  설정해야 함.

 

 

3) 새로운 비밀번호

   비밀번호와 일회용 인증키 결합하여 비밀번호를 일회용 인증키 생성주기별로 새로운 일회용 비밀번호를 생성하여 적용(ID/PW+OTA)

 

   auth required /usr/baropam/pam_baro_auth.so forward_pass secret=/usr/baropam/.baro_auth encrypt=no

   

추가) .baro_auth 적용 방법

 

auth required /usr/baropam/pam_baro_auth.so nullok secret=/usr/baropam/.baro_auth encrypt=no        --> 기본 설정

auth required /usr/baropam/pam_baro_auth.so nullok secret={HOME}/.baro_auth encrypt=no              --> 계정별 홈 디렉토리에 설정

auth required /usr/baropam/pam_baro_auth.so nullok secret=/usr/baropam/auth/.{USER}_auth encrypt=no --> 계정별로 환경설정 파일 설정

 

 

5. BaroPAM 앱 설치 및 정보 설정

 

20231124_083042.png

 

BaroPAM 앱은 Android 6.0 (Marshmalliw) API 23, iOS 13.0 이상에서 사용 가능하며, 가로보기 모드를 지원하지 않는다.

BaroPAM 앱을 설치한 후 BaroPAM 앱을 실행하여 메뉴 선택화면에서 "인증 코드" 버튼을 클릭하여 BaroPAM의  환경설정 파일인 ".baro_auth"에 설정한 "인증주기, Secure key, 서버명"을 BaroPAM 앱의 "서버 정보 등록" 화면에서 동일하게 입력해야 한다.

BaroPAM 앱의 설정 -> 화면설정 변경 화면에서 앱코드(kr: 한국어, en: 영어, jp: 일본어, cn: 중국어)를 설정하면 BaroPAM 앱이 그에 맞게 변경된다.

 

현상: 안드로이폰 또는 아이폰의 날짜와 시간이 현재 시간과 차이가 발생하여 "일회용 인증키"가 맞지 않은 경우

원인: 안드로이폰 또는 아이폰의 날짜와 시간을 네트워크에서 제공하는 시간을 사용하지 않아서 발생.

조치: 안드로이폰인 경우는 폰의 "설정" -> "일반" -> "날짜 및 시간" -> "날짜 및 자동 설정"과 "시간대 자동 설정" -> "허용"

      아이폰인 경우는 폰의 "설정" -> "날짜 및 시간" -> "자동으로 설정" -> "허용"

 

 

6. HamoniKR 로그인

 

20231124_083104.png

 

HamoniKR의 사용자 계정(Username)을 입력하고, 스마트 폰의 BaroPAM 앱에서 일회용 인증키를 생성한 후 "Verification code"에 생성한 일회용 인증키와 "Password"를 입력한 후 "Enter" 또는 "OK" 버튼을 클릭하면 BaroPAM 모듈에 인증을 요청하여 검증이 성공하면 HamoniKR에 로그인 된다.

 

 

7. 문제 발생 시 확인 해야 할 사항

 

1) 시스템 로그인 Syslog 확인

   /var/log/auth.log 파일의 내용 중 "pam_baro_auth"가 존재하는 메시지 확인

 

2) HamoniKR 시스템 정보 확인

 

   $ uname -a

 

3) Openssl 정보 확인

 

   $ openssl version

 

4) BaroPAM 설치 디렉토리 및 파일 권한 확인

 

   $ ls -al  /usr/baropam

 

5) BaroPAM 설치 모듈 확인

 

   $ file pam_baro_auth.so

   $ ldd pam_baro_auth.so

 

6) BaroPAM 환경 설정 정보 확인

 

   $ cat /usr/baropam/.baro_auth

 

7) PAM 설정 확인

 

   $cat /etc/pam.d/sshd or su or sudo or lightdm or lightdm_autologin or cinnamon-screensaver 등

 

8) sshd_config 설정 확인

 

   $ cat /etc/ssh/sshd_config

 

9) NTP 설정 및 상태 확인

 

   $ cat /etc/ntp.conf

   $ ntpq -p

 

참고) BaroPAM 설치 모듈의 Secure key는 Evolution key인 Secure key가 적용되어 있음.


List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
1759 좋은 명절되세요 0 호마호미 2023.01.22 388
1758 하모니카 7.0 에서 시작에 환영합니다. 반갑습니다. ? 4 0 새벽별빛 2024.01.14 393
1757 새해복많이받으세요 0 다찌마와 2023.01.01 395
1756 장기 수요 예측 모델 경진대회 수상 솔루션 소개 | 제4회 빅스타 경진대회 연계 세미나 file 0 인공지능팩토리 2022.12.20 396
1755 망분리 했다고 외부 네트워크와 연결되지 않은 완전한 폐쇄망은 없다 file 1 BaroPAM 2024.01.20 400
1754 [코스맥스그룹] 2022 하반기 채용설명회 9/30(금) in 캐치카페 file 0 pje 2022.09.27 404
1753 윈도우에서 부트리페어 하니 하모니커 사라졌어요. 5 0 자유의지 2024.01.07 411
1752 연말이니까 0 다찌마와 2022.12.31 419
1751 [서울시/SBA] 새싹(SeSAC) 마포3기 기업연계형 UIUX 퍼블리싱 실무 프로젝트 과정(~5/22) file 0 엑아 2023.05.11 419
1750 [챗GPT 러닝데이 | 챗GPT말고 LLM] 딥러닝 병렬처리 및 Polyglot 언어모델 file 0 인공지능팩토리 2023.05.12 420
1749 저는 개인적으로 좋아하는 리눅스 데스크톱환경은 2 0 Moordev 2023.12.25 425
1748 무료세미나 - [챗GPT 러닝데이 & MS 애저톤] ChatGPT와 Azure가 만났을 때 : PDF 문서와 ChatGPT 연결하기 - 전미정 0 인공지능팩토리 2023.04.10 426
1747 [무료세미나] SAM(Segment Anything Model)과 친해지기 0 인공지능팩토리 2023.07.06 428
1746 애플페이 사용하시나요? 0 해중이 2023.04.11 429
1745 [무료/취업] 기업연계형 UIUX 퍼블리싱 실무 프로젝트 3기 교육생 모집중(~05/22) file 0 아니그웃 2023.05.10 429
1744 프로메테우스 스타트업 해커톤 및 후원사 모집 file 0 인공지능팩토리 2023.01.20 430
1743 [공모전] 혁신공공서비스 발굴을 위한 서울시 생성 AI 해커톤 ~ 기간연장 0 인공지능팩토리 2023.04.18 432
1742 감사합니다 0 미고스 2023.11.05 432
1741 오늘 드디어 포르투갈 경기가 있네요. 0 재여이 2022.12.02 437
1740 댓글을 달려고 하니 입력이 안되네요 1 0 재팔 2023.03.28 445
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 94 Next
/ 94
CLOSE