yundream : sysadmin 그룹에 포함돼 있으며, 필요에 따라 root로 switch user할 수 있다. 일단 root 권한을 획득하면 root와 동등한 권한을 가진다.
일반유저 : 제한된 권한만을 가진다.
3개 계층으로 하기에는 다양한 목적의 유저를 수용할 수 없다.
애플리케이션 중에는 루트권한을 필요로 하는 것들이 있다. 현재 계정 정책에서는 yundream으로 접근한다음 root로 su(switch user) 해야 하는데, 보안상 좋지 않다. 가장 좋은 방법은 애플리케이션을 실행할 별도의 계정을 만든 다음, 이 계정이 root 권한으로 애플리케이션을 실행하도록 하는 거다. 리눅스의 sudo를 이용하면 명령단위로 권한을 조정할 수 있다.
sudo의 설정파일은 /etc/sudoers다.
sysadmin 유저에 대한 설정이다. 192.168.100.1에서 192.168.100.254 IP에서의 접근을 허용한다. 이 유저는 /usr/bin/apt-get 을 root권한으로 실행할 수 있는데, 이때 패스워드를 물어보지 않는다. 한마디로 /usr/bin/apt-get은 언제든지 자유롭게 사용할 수 있다.
예에서 sysadmin유저는 apt-get의 모든 기능을 사용할 수 있다. install 뿐만 아니라 삭제도 가능한데, 애플리케이션 기능별로 권한을 제어하고 싶을 수도 있다. 예컨데 apt-get upgrade만 허용하고 싶다면, 아래와 같이 설정하면 된다.
패스워드는 유추하기 힘들어야 한다는 말은 하나마나한 말이다. 유추하기 힘들다는 말은 곧 기억하기 힘들다는 말이고, 이 경우 사용자는 포스트잇을 사용하거나 pc에 파일형태로 저장을 한다. 개인적으로 유추하기 힘든 패스워드를 외어서 사용한 적은 한번도 없다.
따라서 패스워드를 유추하기 힘들게 만드는 걸로는 보안 강도를 높이기가 힘들다.
차라리 ssh 인증키를 이용하는게 낫지 싶다. 물론 key를 사용하려면, key를 로컬시스템에 복사해 두고 사용해야 하기 때문에 누출될 가능성이 있기는 하다. 하지만 패스워드 역시 누출될 가능성있다. 패스워드 방식의 또다른 문제는 Brute force 공격에 취약하다는 점이다. - 현실적으로 패스워드를 16자 이상으로 설정할 수는 없는 노릇이라서 그렇다. 10자만 되도 외우는거 불가능 한 사람이 태반이다. - ssh key파일은 brute foce 공격에 강하니 그냥 ssl key 파일을 사용한다. 덤으로 로그인도 편하다.
Contents
1. 기본 원칙
1.1. 테스트 환경
1.2. root 원격 접속 막기
1.3. 특정 유저만 su를 수행 하도록
1.4. 특정 명령 단위로 root 권한 획득
1.5. 패스워드는 유추하기 힘들어야 한다
2. 관련문서
3. 히스토리
1. 기본 원칙
1.1. 테스트 환경
1.2. root 원격 접속 막기
1.3. 특정 유저만 su를 수행 하도록
1.4. 특정 명령 단위로 root 권한 획득
1.5. 패스워드는 유추하기 힘들어야 한다
2. 관련문서
3. 히스토리
Recent Posts
Archive Posts
Tags