#!/bin/bash ############################################################################## # # Fortify SSC에서 토큰을 생성 또는 삭제한다. # 생성된 토큰은 "$TOKEN_DIR/토큰명"으로 저장된다. # 다 스크립트에서는 TOKEN=$(cat "$TOKEN_DIR/토큰명")으로 정의하여 사용한다. # # crontab -e (매월 5일 7:00에 토큰 갱신) # 0 7 5 * * /opt/scripts/get_ssc_token.sh # ############################################################################## FORTIFY_CLIENT="fortifyclient" SSC_URL="http://10.10.10.31:8083/ssc" SSC_USER='admin' SSC_PW='MyPasswd12' TOKEN_DIR="/root/ssc_tokens" TMP_FILE1="/tmp/ssc_token.tmp" ############################################################################## # # 토큰이 저장될 토큰 디렉토리를 만든다. # ############################################################################## function make_token_dir() { if [ ! -d ${TOKEN_DIR} ] then mkdir -p ${TOKEN_DIR} fi } ############################################################################## # # SSC에서 토큰을 발급받아 ${TOKEN_DIR}/<Token name>에 저장한다. # 사용 예) # get_ssc_token "AnalysisUploadToken" 90 # get_ssc_token "ScanCentralCtrlToken" 90 # ############################################################################## function get_ssc_token() { ${FORTIFY_CLIENT} -url ${SSC_URL} -user ${SSC_USER} -password ${SSC_PW} token -gettoken ${1} -daysToLive ${2} | grep "Authorization Token" > ${TMP_FILE1} sed -i 's/\r$//g' ${TMP_FILE1} TOKEN_VALUE=$(cat ${TMP_FILE1}) rm -f ${TMP_FILE1} TOKEN_VALUE=${TOKEN_VALUE#"Authorization Token: "} echo ${TOKEN_VALUE} # 이미 토큰 파일이 있을 경우 삭제 if [ -f ${TOKEN_DIR}/${1} ] then rm -f ${TOKEN_DIR}/${1} fi echo -n ${TOKEN_VALUE} > ${TOKEN_DIR}/${1} } ############################################################################## # # ${1} 계정으로 생성한 모든 토큰을 삭제한다. # 사용 예) # remove_ssc_token "admin" # ############################################################################## function remove_ssc_token() { ${FORTIFY_CLIENT} -url ${SSC_URL} -user ${SSC_USER} -password ${SSC_PW} invalidatetoken -invalidateForUser ${1} } ############################################################################## # # 시작 # ############################################################################## make_token_dir ############################################################################## # 모든 토큰 삭제 ############################################################################## remove_ssc_token ${SSC_USER} ############################################################################## # 토큰 생성 ############################################################################## get_ssc_token "ScanCentralCtrlToken" 90 get_ssc_token "AnalysisUploadToken" 90 ############################################################################## # 생성된 토큰 보기 ############################################################################## #${FORTIFY_CLIENT} -url ${SSC_URL} -user ${SSC_USER} -password ${SSC_PW} listtokens