투케이2K

135. (LINUX/리눅스) [쉘 스크립트 / Shell script] : openssl s_client connect 사용해 SSL 접속 테스트 수행 본문

Linux (cmd)

135. (LINUX/리눅스) [쉘 스크립트 / Shell script] : openssl s_client connect 사용해 SSL 접속 테스트 수행

투케이2K 2024. 8. 20. 20:59

[개발 환경 설정]

사용 툴 : Putty

OS : LINUX

 

[소스 코드]

 

# ------------------------------------------------------------------------------------------------
# [쉘 스크립트 / Shell script 설명]
# ------------------------------------------------------------------------------------------------

1. 쉘 스크립트 는 Shell 이나 command line 인터프리터에서 구동되도록 작성된 스크립트입니다.

2. 윈도우 배치 파일 (.bat) 개념과 비슷하며, 쉘 스크립트 동작으로 정의 된 명령이 자동으로 수행됩니다.

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [사전) 쉘 스크립트 파일 생성 및 권한 설명 참고 사이트]
# ------------------------------------------------------------------------------------------------

https://blog.naver.com/kkh0977/222808230519?trackingCode=blog_bloghome_searchlist

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [s_client 옵션 설명]
# ------------------------------------------------------------------------------------------------

1. openssl 은 SSL/TLS 프로토콜을 구현한 라이브러 중 하나이며, 통신 암호화를 수행할 수 있습니다.

2. s_client 는 SSL/TLS 를 사용하는 원격 호스트에 접속하기 위한 클라이언트입니다.

3. s_client 옵션 종류 : 

  - connect host:port >> 접속할 host, port 정보 / SSL 접속을 위한 기본 포트 정보는 443

  - ssl2, ssl3, tls1, dtls1 >> 설정한 프로토콜로 통신, no 사용 시 설정한 프로토콜 제외하고 통신 (ex: -no_ssl2)

  - msg >> 프로토콜 메시지 출력

  - CAfile [파일 명칭] >> 서버 인증 시 사용 가능한 클라이언트 체인 인증서

  - cert [파일 명칭] >> 클라이언트 public key , 서버 인증서

  - key [파일 명칭] >> 클라이언트 private key , 기본 값 pem (X.509)

  - pass arg >> private key 를 위한 비밀번호 전달

  - showcerts >> 전체 서버 인증서 체인 표시

  - state >> SSL 세션 상태 출력

  - debug >> 디버그 모드로 16 진수로 출력

  - ciphers >> 사용 가능한 cipherset 출력

  - ciphers cipherlist >> cipherlist 지정 
 

4. s_client 사용 예시 :

  $ openssl s_client -connect www.google.com:443

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [소스 코드]
# ------------------------------------------------------------------------------------------------

#!/bin/sh

# [START] --------------------------------------------------

echo ""
echo "-------------------------------------------"
echo "Hello Linux Shell Script"
echo "-------------------------------------------"
echo ""

# --------------------------------------------------
# [변수 선언] : [주의 점] : = 등호 기준 앞뒤로 공백이 없어야합니다 (변수 지정시)
# --------------------------------------------------

# [변수 선언 : SSL 접속 주소 (기본 포트 - 443)]
url="www.google.com:443"

# [SSL 접속 테스트 수행] >> [로그 파일 저장 수행]
FILE_PATH="google.txt"
#FILE_PATH="/c/Users/twok2k/Desktop/google.txt" # [pwd 사용해 텍스트 파일이 저장 된 위치에서 경로 확인 가능]

openssl s_client -connect ${url} >> ${FILE_PATH}

# [END] ---------------------------------------------------

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [결과 출력]
# ------------------------------------------------------------------------------------------------

>> 해당 경로에 google.txt 파일 생성 및 내용 확인

# ------------------------------------------------------------------------------------------------

 

반응형
Comments