아직도 국내의 ICT 규모나, 보안 투자는 미미한 수준이라 생각하지만, 그렇다 하더라도, 보안의식이라는 것은 개인의, 나아가 단체의 이익을 지킬 수 있는 하나의 무기쯤은 될 수 있으니, 필요한 부분에 대해 간편하게 나마 갖는 것이 중요하다고 생각한다.


그래서 오늘은 password 설정에 대해 알아보자.


현대인들은 많은 계정정보를 가지고 있다. e-mail 계정만도 몇 개나 되고, 각종 포털 사이트에 게임 관련 사이트에 SNS까지.. 


가뜩이나 자기가 쓴 글이 추후에 문제가 되는 판국에, 계정까지 깔끔하게 털려서 멘붕사태 일어나기 전에, 조금이라도 password에 대한 보안issue를 점검하자.


우선 password에 사용할 수 있는 character set ( 입력 문자 종류 )는 총 4가지 이다.

대문자, 소문자, 숫자, 특수문자 가 그것인데, 가급적 4가지를 모두 사용하는 것이 좋지만, 귀찮다면 3가지라도 쓰도록 하자. 자신이 자주 쓰는 password가 있다면 제일 앞에 숫자 하나 넣어주고, 제일 뒤에 ! 하나 넣어주는 센스 만으로, password 를 깨려고 접근하는 불법적인 query의 시간을 엄청나게 늘려 사고를 미연에 방지할 수 있는 것이다.


그리고, 다음으로는 password를 획일화에 관한 것이다.

과거 다음 개인정보 유출 당시, 획일화된 암호로 다른 사이트까지 피해를 본 사례가 상당히 많았던 것으로 기억한다.

그만큼, 같은 암호를 이 곳, 저 곳에 사용할 경우 한 사이트의 계정 정보가 유출되면 추가피해로 이어질 가능성이 높은 것이다.

이에 대한 약간의 tip을 준다면, 자신만 알아볼 수 있는 암호 table을 만들어 관리하던지, 아니면 사이트마다의 특정한 정보 ( 가입 까페이름 이니셜 등 ) 를 password 마지막에 추가로 넣는 등 많은 방법으로 이러한 문제를 회피할 수 있을 것이다.


마지막으로 적어도 반기에 한 번 정도는 하루 날을 잡아 password를 바꿔주는 것이다.

제일 귀찮은 것 이라는 것을 잘 알고 있지만, 정보가 조금이라도 유출되었을지 모르는 상황에서 미연에 방지할 수 있는 최고의 선택지 이기 때문에, 이 항목을 지키는 것이 중요하다고 할 수 있겠다.


보안성과 편의성은 반비례하는 경향이 있다. 하지만, 어느정도의 타당성과 최소한의 편의성을 바탕으로 trade off 할 수 있는 방법을 찾는다면, 그정도는 수행할 필요가 있는 것이다.


잃고난 뒤의 소는 아까운 법이니까.

Posted by TBD

최신의 Linux들은 점점 보안성을 강화하는 추세로, 기본 설정들이 생각보다 보안 설정이 강화되어있다.


실례로, SSH의 경우, 근래의 버전에서는 sshd_config의 root login permit이 default로 yes가 아닌 다른 값이 들어있어, root로 login 하는 것을 회피하게 되어있다.


< 그림 1 > 헿, 챻, 왜 로그이니 안되는그야! 행보칼수엄서!


보안관련 수칙을 준수하다보면 서서히 느끼게된다. 보안성과 편의성은 정확히 반비례 하게 된다는것을..

훨씬 까다롭게 접근해야 하고, 로그인을 하더라도 두 세 단계를 거치게되는 상당히 귀찮은 일들이 발생한다.


그런데, 그렇게 중요도가 높지 않은 Linux system이라면, 굳이 이렇게까지 할 필요가 없다. 그저 ssh root@your_server.org 를 통해 password를 한 번 입력하는 것 만으로 최상위 권한을 획득하면 마냥 편한 부분인 것이다.


그럴 경우, 앞서 언급한 설정을 변경 해주면 된다.


linux 버전에 따라, SSHD 버전에 따라 configure파일은 조금씩 다르지만, 기본적으로 sshd_config 혹은 sshd.conf 등의 이름을 가지고 있을 것이다.

이 파일을 vi editor를 이용하여 열어준다.


#vi /etc/ssh/sshd_config


그럼 아래의 그림에서 네모 부분을 yes로 수정해주고 저장.

< 그림 2 > PermitRootLogin 설정 변경

그 이후 service sshd restart, 혹은 /etc/init.d/sshd restart 혹은 그냥 reboot 하여, sshd 혹은 시스템을 재시작 해준다. ( reboot이 제일 편하겠지. )


그리고 이제 행복한 기분으로 root 권한으로 로그인 한다.


끝.

Posted by TBD

간혹 linux system을 사용하다보면, 비밀번호 정책상으로 혹은 보안관계상 root의 password를 변경해야 할 때가 있다.


그런데, 그렇게 급히 바꾼 password를 도무지 기억하지 못한다면..........

다시설치를.........하면 좋겠지만, 그렇게 번거롭지 않게 root password를 변경할 수 있는 방법이 있다.


보통 root password의 경우 multi user system을 전제로 사용하기 때문에 필요한 부분이다.

대부분의 linux 환경은 single boot mode를 지원하며, single mode로 부팅할 경우 root의 password를 묻지 않는 경우가 있다.


ubuntu의 최신버전 14.04는 single mode에서도 password를 묻더라.. 아놔, 그래서 방법을 소개한다.


single mode boot 시에도 마찬가지지만, linux는 lilo ( linux loader ) 혹은 grub system에 의해서 linux의 기본 환경, mounting point등을 확인하여 kernel과 rootfs 등을 적재 한다.


< 그림 1 > GNU grub


이 때 grub system상 boot option을 조절하는 것이 가능한데, 위의 grub 화면에서 Ubuntu 커서에서 e 를 누르게 되면 현재 boot command를 Edit 하는 menu로 넘어간다.

if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 \
    --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 2341023-1252-2235-1234-2352662331

else
    search --no-floppy --fs-uuid --set=root 2341023-1252-2235-1234-2352662331

fi

linux   /vmlinuz-3.13.0-40-generic root=/dev/mapper/ubuntu--vg-root ro  quiet splash $vt_handoff
initrd  /initrd.img-3.13.0-40-generic


여기에서 위의 붉은 표시 부분을 init=/bin/bash 로 바꿔 적어주고 < F10 > 을 눌러 현재 option으로 booting 하기를 실행한다.


부팅이 되고나면 root(none)# 으로 prompt가 바뀌어있는 것을 확인할 수 있을 것이다.

이 때, passwd 명령어를...사용하면 뭐 readonly가 어쩌고 하면서 error를 일으킨다.


이는 현재 rootfs가 read only 로 mount 되어있어, password에 대한 shadow를 반영하지 못하기 때문인데, remount를 해주어 이를 해결해주자.

# mount -o remount,rw /

이후 passwd root 명령어를 이용하여 root의 password를 변경해주면 끝.


참 쉽죠?


p.s. linux의 계열, 버전에 따라 root password의 초기화 방법은 약간씩 다르다. 단순히 single이라는 option만으로도 가능한 경우가 있고, 그냥 recovery mode에서 지원하는 경우도 있다. 그 때 그 때 다른 방법에 대해서는 위의 글을 토대로 조금씩 확인해가며 적용해보면 된다.
아니면, 언젠가 하나하나 다 정리 하는 날이 오겠지.......귀찮...................


Posted by TBD