OTP 패스워드 생성 (feat. .bashrc + pwgen + Telegram_api)
최근 웹호스팅 랜섬웨어 사건으로 인해 패스워드 보안이 더욱더 주의를 요하고 있는데…. 그냥 문득 생각난 심플하게 OTP 생성방법입니다.
그냥 생각나는데로 적었기에 생각치 못한 보안이슈와 관련 서버내 적용했을경우 발생되는 문제에 대해서는 전혀 책임지지 않습니다. ㅜㅜ
기존에 익히 알려진 google-authenticator 를 이용한 방식이 아닌 .bashrc + pwgen (패스워드 랜덤생성) + Telegram_api 를 이용한 간단한 방법입니다.
google-authenticator 방식참고 : http://idchowto.com/?p=35166
단. google-authenticator 방식이 기존패스워드에 랜덤한 OTP 숫자를 받아 인증하는 2 Factor 방식이라면 이방법은 실제로 접근하려는 계정에 패스워드를 누군가 한번 접근하게 되면 매번 바꿔버리는 방식이라는점에서 차이가 있습니다.
즉, 절대로 동일한 패스워드로 접속하게 될일은 없는거죠.
또한 Telegram 메세지 또한 암호화되서 메세지가 전송되기에…. PC나 모바일 메신저에 남겨진 메세지가 없이는 유추는 불가능할듯 보이구요…
여기서는 Ubuntu 16.04 LTS 에 root 패스워드로 바로 접근할때의 예제입니다. (RHEL/CentOS 에서도 크게 다르지 않습니다.)
/root/.bashrc
:: pwgen 은 패스워드를 랜덤하게 생성해주는 명령어로 여기서는 36자리 랜덤한 문자열로 생성하겠습니다.
관련해서 이전에 적어 놓은글이 있으니 참고 http://idchowto.com/?p=16051
# vim .bashrc .................................................... .................................................... ### 패스워드 생성 ### PW=`pwgen 36 1` echo "passwd root:${PW}| chpasswd " echo root:${PW}| chpasswd
Telgram API 생성/연동방법및 Bot_id / chat_id 확인방법은 구글링을 통하면 충분한 자료가 있으니 여기서는 설정방법에 대해서는 생략합니다. 이후 필요하다면 추가하도록 하겠습니다.
Telegram API 사용방법 참고 : https://core.telegram.org/bots/api
# vim .bashrc .................................................... .................................................... ### 패스워드 생성 ### PW=`pwgen 36 1` echo "passwd root:${PW}| chpasswd " echo root:${PW}| chpasswd ### Telegram 메세지 전송 ### curl -F text="ALERT - Root Passwd Change:' `hostname` root `echo $PW`" -F chat_id=XXXXXXXXXX, https://api.telegram.org/ bot34XXXXXXXX:AAHXXXXXXnVqtYD_cXXXXXXXXXZENrLc/sendMessage
모바일에서 제 계정으로 패스워드 정보가 전달된 화면입니다.
키보드로 치기에는 너무나도 기네요;;
※ 다시한번 안내해드리지만…그냥 이렇다는것 정도만…보시고 적용하기까지에는 충분히 검토해보시고 결정하기를 바랍니다.
오 텔레그램
[…] OTP기능이 유료인경우 , OPEN VPN 의 OTP 기능을 조합하여 이용 할수 있습니다. http://idchowto.com/?p=35480 http://idchowto.com/?p=35166 jQuery(document).ready(function($) { […]