여행

그 외 2014. 3. 28. 18:08

왕복 기차표 두 장을 샀어.

한장은 내 몫으로 남겨두고,

또 한 장은 발신인 없이 너의 주소만 적은 편지 봉투에 담아

너에게 보냈어.

행선지는 안개짙은 날의 춘천이어도 좋고,

전등빛에도 달빛인줄 속아 톡톡 다문 꽃잎을 터뜨린다는

달맞이꽃이 지천에 널려 있는 청도 운문사여도 좋을 것 같아.

중요한 건 내가 너보다 한걸음 앞서 출발하는 기차를 타는 것.

그래야 하늘을 배경으로 바람이 불 때마다 지붕에 서 있는 풍향계가

종걸음치는 시골 간이역..낡은 나무 의자에 앉아서..

너를 기다릴 수 있으니까.....


뜬금없이 날아든, 그리고 발신인 없는 기차표에 아마도 넌

고개를 갸웃하겠지.

그리곤 기차여행에 맞추기 위해

빡빡하게 짜여진 일정의 일을 서둘러 끝내고 나서

청바지에 배낭 하나 달랑 메고 기차를 탈거야.

차창 밖으로 펼쳐지는 풍경을 보며 바쁜 일상에 함몰되어 지낸

그 동안의 네 생활과 일상으로부터 탈출을

차표 한장에 실어 선물한 사람의 마음을 흐뭇하게 생각하겠지.

누굴까..


예정된 시간에 기차는 시골 간이역에 널 내려놓을 것이고,

넌 아마도 낯선 지역에 대한 조금의 두려움과

기분좋은 긴장감을 느끼며 개찰구를 빠져 나오겠지.

그순간..너는 방긋 웃고 있는 나를 발견하는거야..

너는 깜짝 놀라 눈이 휘둥그래져서는,

'네가...?!'

하는 말과 함께 함빡 상큼한 웃음을 지을 것이구..

미지의 땅에서 낯익은 얼굴 하나 발견한 안도감과 일박이일의 여행,

그 신선한 자유를 선물한 사람을 찾아낸 즐거움으로 말이야..

늘 곁에 있지만 바라보는 여유 없어

'잊혀진 품'이 되어 버린 자연속에서 우리는 또한번 여장을 꾸려.

'함께 그러나 따로이..'

자기 내면으로의 여행을 시작할 거야.

그리고 일박이일의 여정을 끝냈을 때 우린 다시

일상이 속한 도시를 향해 가는 기차에 '함께' 오르겠지.

그리고 도시로 돌아가 자기 몫의 삶을 담담히 살아낼테구.

너는 이미 알고 있겠지?

내가 너에게 선물한 차표가

결코 일박 이일의 여정에 국한된 것이 아님을..

앞으로 우리에게 남은 시간들..

'인생'이라는 긴 여정에서

너에게..

특히 네가 힘들고 고단할때 보내질 선물이라는 것을..

내가 너에게 그런 사람이 되어주고 싶어한다는 사실을.....


블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

글쓴이가 근무하는 곳에서 작년쯤 Yubikey라고 하는 USB 형태의 키를 주문했다.  




이게 무슨 물건이냐하면, 가운데에 있는 동그란 센서에 손가락을 잠시 갖다대면 AES 알고리즘에 의한 알파벳 30자리를 무작위로 생성해준다.  OTP라고 부르는데, 일명 One-TIme Password, 그러니까 1회용 비밀번호라는 의미.  심지어, 저 안에 펌웨어가 들어있어서 어떠한 방식으로 어떻게 암호화된 문자열을 생성할건지 직접 프로그래밍도 가능한데다, 2개의 메모리가 있어서 살짝 터치하는 것과, 약 2-3초간 터치하는 것에 따라서 다른 암호를 생성하게 할 수 있다.  이 패스워드를 생성해내는 구조와 알고리즘은 이미 오픈소스로 공개가 되어있으며, 파이썬/루비/PHP등 여러 언어에서 사용할 수 있도록 각종 예제와 프로그램 등을 무상으로 제공해준다.  관심이 있으신 분은 여길 보시면 되겠다.

http://www.yubico.com/products/yubikey-hardware/yubikey/technical-description/


많은 소프트웨어들이 이 Yubikey를 지원하고있는데, 특히 각종 웹사이트의 비밀번호를 저장해주는 인기 앱인 LastPass의 경우 프리미엄 회원은 Yubikey를 쓸 수 있게 해준다.  하지만, 여기서는 우분투가 설치된 컴퓨터에서 이 Yubikey로 로그인하는 것을 다뤄본다.   물론 당연하지만, Yubikey를 구매해야하며, 키가 없더라도 한 번쯤 포스팅을 읽어보면서 이게 대충 뭐하는 건지는 알 수 있도록 간단하게 설명하도록 했다.


관련 라이브러리를 설치한다.

$ sudo apt-get install libpam-yubico


이제 키를 USB에 꼽고 내 키가 가진 ModHex값(키 ID)을 알아내야한다.  두 가지 방법이 있는데, 가장 쉬운건 http://demo.yubico.com/php-yubico/Modhex_Calculator.php 사이트에 가서 Source Format에 OTP를 선택하고 String에는 키를 터치해서 패스워드를 입력해넣는 방법이다.  그러면 대략 14자리의 ModHex값을 보여준다.  또 다른 방법으로는 텍스트 편집기 하나를 열고 키의 센서를 터치해서 대략 3-4개 정도의 OTP를 생성하면, 맨앞 대략 14자리 정도의 문자열이 일치하는 것을 알 수 있는데, 이것이 바로 이 키의 ModHex 값이다.

예)

vvfvegvbtudalvegfjhtcdrghbljrhccuttgetifjgvr

vvfvegvbtudalcjcvhlcnutdgtcejftudbjdfrjbhfkh

vvfvegvbtudallilgekrilhnnekibdbrjhurbfgjrldd

Modhex: vvfvegvbtuda

이제 Yubikey로 로그인할 사람들의 명단을 생성한다.  편의상 /etc/yubikey_mappgins라고 하자.  형식은
user1:ModHex  
user2:ModHex  
형태로 저장하면 되겠다.

따라서, 글쓴이의 경우는
sysadmin:vvfvegvbtuda
라고 저장했다.

이제 마지막 작업만 남았다.  간단하다.
SSH로 로그인하는 경우에 키를 요구할 것인지, sudo 명령어를 사용할 때만 요구할 것인지, 혹은 GUI (LightDM)으로 로그인하는 사용자에게 요구할 것인지에 대한 "정책"을 세워야한다.  이 정책은 다들 아시다시피 /etc/pam.d에서 설정할 수 있다.  본 포스팅에서는 sudo 사용자들을 대상으로 해본다.

형태는 다음과 같다.  여기서 sufficient를 required로 바꾸면, 반드시 Yubikey의 OTP를 넣어야하고, sufficient로 두면 계정 패스워드만 넣어도 sudo가 가능하다.  주의할 점은, sufficient로 원할 경우는 아래의 라인을 /etc/pam.d/sudo 파일의 최상단에 넣어야한다.
auth    sufficient pam_yubico.so id=16 authfile=/etc/yubikey_mappings

sudo 명령 사용시 Yubikey의 OTP를 요구할 때, 사용자의 비밀번호로만 sudo를 사용하고 싶으면 Yubikey 입력부분에서는 그냥 엔터키만 치면 된다.  맨 뒤에 debug 를 추가하면 다양한 메시지를 출력해준다.
더 많은 옵션은 https://github.com/Yubico/yubico-pam 페이지를 참고하시면 되겠다.

sysadmin@ubuntu:~$ sudo -i
Yubikey for `sysadmin': 
[sudo] password for sysadmin: 
root@ubuntu:~# 

이런 식으로 나온다.  이것으로, 서버관리자 입장에서 다양한 활용이 가능할 것 같다.  예를 들어서 콘솔로 직접 로그인하려는 시도를 원천적으로 차단하기 위해서도 쓸 수 있고 (즉 인가된 사용자만 콘솔 사용), SSH 사용자들에게도 마찬가지로 키가 없으면 아예 로그인을 막거나하는 식의 비록 다양하진 않지만 강력한 보안정책을 세울 수 있다고 본다.  최근 정보유출이나 보안의식 부재로 인한 문제가 많다.  비록 살짝 터치만으로 랜덤 비밀번호를 생성해주는 것은 편하긴 하지만, 이걸 들고다니면서 매번 USB에 꽂았다뺐다 하는 것도 어지간히 귀찮긴 하지만, 일단 누군가가 OTP 중 하나를 외우는건 거의 불가능하고 (44자리 문자열을 한 번 잠깐 보고 외울 수 있을까) 키가 없으면 안된다는 점에서는 집 대문 열쇠나 마찬가지라고 볼 수 있겠다.

윈도우와 맥에서도 지원되니, 관심 있으면 꼭 써보시길 권해드린다.


블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

얼마 전 애플 썬더볼트 디스플레이 2대를 리퍼비쉬 제품으로 구매했다. 잘 쓰고있는데 며칠 후 본토에서 전화가 계속 걸려왔고 의례 스팸전화라고 생각하고 안받았는데 음성메시지를 남겼더라. 최근 구입한 모니터 때문에 그러니 전화를 해달라고 했는데, 알려준 전화번호가 잘못된 번호라서 포기하다가 어찌어찌 전화번호를 알아냈고, 전화를 해보니 시차 때문인지 전화를 받지않았다. 그래서 음성에다 내 이메일 주소를 남겼다.

이메일로 연락이 왔는데, 내용인즉슨 내가 구입한 2대 중 한 대가 리퍼비쉬 처리하는 절차를 제대로 밟지않고 출고가 됐단다.  기능상 문제는 없겠지만, "최고의 경험”을 위해서는 이것을 회수해야한단다.  대신 가까운 애플 직영점에서 비용없이 새것으로 교환을 해주겠단다.  뭐 솔직히 리퍼라고는 해도 충분히 새것 같고, 어차피 고장나면 애플스토어 가져가면 되는데 새거나 리퍼나 결국 사용자 입장에서는 마찬가지긴 하지만 왠지 새걸 준다는 기분 탓에 바꿨다.

IMG 0048

 

이거 바꾼다고 왔다갔다하고, 직원 실수로 기다리고 등등해서 짜증도 났고 시간도 많이 썼고, 막상 가져와봐서 설치해도 리퍼 받아서 쓰던거랑 아무런 차이도 없으니 뭐가 좋은지는 모르겠다.  다만 좋았던 건, 애플의 소비자 대우와 정책만큼은 이래서 계속 애플 제품을 믿고쓰게 해준다고 다시 한 번 느꼈다는 점.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,