데스크탑 리눅스와 시스템 보안.

planetarium의 이미지

내용에 비해 제목만 거창해서 죄송합니다. 내용은 질문에 가깝습니다......

얼마전에 문득 들었던 의문인데, 이번에 윈도우7 관련 글타래를 읽다가 다시 떠올라서 글로 한번 남겨봅니다.

원하는 프로그램을 사용하기 위해 소스 컴파일을 하게 되면,
본인이 해당 시스템의 관리자가 아니더라도 $HOME/bin 에 설치를 하는 등의 방법으로
엔간한 프로그램들은 사용할 수 있는데요,

이에 비해 우분투의 apt-get - Synaptic - deb 파일과 같은 패키지 기반으로 프로그램을 설치하려고 하면
아무리 사소한 프로그램이라도 반드시 관리자 권한을 획득해야 합니다.

어떻게 보면 이러한 일이 리눅스의 장점 한가지를 죽이는건 아닌가요?
"윈도우즈는 누구나 관리자 권한으로 사용하기 때문에 보안에 취약하다." 라는 말을 국내 웹에서 가끔 듣는데,
일반인을 대상으로 널리 퍼진다면 리눅스라 하더라도 상황이 별로 다르지 않을것 같아서요.

간단한 게임이라도 하나 실행(설치)해보려 하면 관리자 권한을 획득해야 하는데,
그러다 보면 리눅스의 root 권한도 "ActiveX 대화창에 yes를 누르는것 만큼이나" 간단한 것으로 인식되지 않을까요?
이런 식이라면 오히려 윈도우보다도 보안에 취약해지는건 아닌가 하는 생각이 들었습니다.

제가 잘 몰라서 말이 안되는 소리를 하는 거라면, 누군가가 알려 주셨으면 좋겠네요.
혹여라도 이미, apt-get 을 user-specific 하게 관리자 권한 없이 사용하는 방법이 있다거나 하면 이 글은 휴지통으로 가야겠지요...;;

Stand Alone Complex의 이미지

시스템에 크게 영향을 주지 않는 프로그램의 경우 사용자의 홈 디렉토리에서 사용할 수 있는 바이너리를 제공하는 경우가 있습니다.
CrossOver Linux나 UPX의 경우가 그렇습니다.

RET ;My life :P

지리즈의 이미지

이렇게 종합적으로 관리되기 위해서는
설치가능한 것들이 오픈소스 기반으로 운영되거나
혹은 이러한 오픈소스기반의 배포시스템에 라이센스상의 충돌이 없도록 하는 것이 중요합니다.

다른 한편 Gentoo의 portage 시스템 같은 경우는
자사의 홈페이지에서 바이너리만 배포하는 비오픈소스 프로그램도
Gentoo의 종합적인 패키지 시스템에서 검증과정을 거쳐서 다른 오픈소스 프로그램들과 비슷한 방식으로
일관되게 설치/관리가 가능합니다.
이 때 패키지를 제작하는 사람이 패키징 하는 과정에서 해당 소프트웨어를 검증하는 과정을 거치기 때문에
사용자는 보다 안심하고 소프트웨어를 사용할 수 있습니다.

위에서 Stand Alone Complex님이 언급하셨드시
그리고 언제나 *nix 계열의 사용자는 자신의 홈디렉토리에 관리자 권한이 필요없이 설치가 가능한 옵션을 가지고 있습니다.
(이는 윈도우도 마찬가지 입니다.)

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

사랑천사의 이미지

충분히 가능한 이야기이면서도 지리즈님 말씀처럼 거의 모든 경우 패키지를 만들어 내는 사람들이 소프트웨어에 대한 검증을 거치고 있기 때문에 큰 문제는 없을 거 같습니다.

물론 리눅스 사용이 좀 더 보편화 되고 그런다면 "사기성" 패키지도 여기 저기 배포되지 않을까 하는 우려도 됩니다만.(지금도 없진 않을 겁니다.)

더해서 원 글 쓰신 분 말씀 처럼 최고 관리자 권한 획득이 필요한 패키지 설치가 귀찮아서 처음 부터 최고 관리자 권한으로 로그인할 지도 모르겠군요. 사용자들이 말이조. 많은 사람들은 귀찮아 할 수 있는 사안임에는 틀림 없는 것 같습니다. 그리고 제 생각에 어쩌면 리눅스의 보안성이 높은 "그" 이유 때문에 많은 사람들이 귀찮아서 리눅스를 사용하지 않는 것도 있을 거라는 생각입니다. 여러 가지 원인으로 리눅스를 거부하는 사람들이 많지만 이 부분도 하나의 이유가 되는건 아닌가 합니다.(이건 여담입니다.)
-- 이여송 --
HomePage: http://lys.lecl.net/
Blog: http://www.lecl.net/lablog
LECL: http://www.lecl.net/
E-Mail: yeosong@gmail.com ysnglee2000@lecl.net
MSN: ysnglee2000@hotmail.com

사람천사

planetarium의 이미지

예... 사실 제가 처음에 관심을 두었던건 패키지 자체의 신뢰성 보다도
패키지를 설치하기 위해 반드시 관리자 권한이 필요하다는 것 쪽이었습니다.
ActiveX 를 꺼낸게 실수였나요 ^^;

댓글 달아주신 분들께 감사드리며 제 생각을 한마디씩 더 적자면
물론 .run 라거나 하는 바이너리로 제공받으면 관리자 권한 없이도 실행이 가능할수 있겠지만,
단순 바이너리로는 한계가 너무 많은것 같아서요. 당장 의존성 문제로 시작해서...
리눅스가 상대적으로 일반 사용자들에게 어필할 수 있는 점이 "(거의) 일원화된 프로그램 설치 방법" 이라고 생각하거든요.
그런데 제가 알기론 apt-get 이나 yum 같은 저장소 툴들, dpkg나 rpm 같은 패키지 툴들은 전부 관리자 권한이 없으면 사용 불가, 라서 아쉽더라구요.
(아 물론 rpm을 압축 해제해버리거나 하는건 넘어가구요)

Quote:

위에서 Stand Alone Complex님이 언급하셨드시
그리고 언제나 *nix 계열의 사용자는 자신의 홈디렉토리에 관리자 권한이 필요없이 설치가 가능한 옵션을 가지고 있습니다.
(이는 윈도우도 마찬가지 입니다.)

라고 말씀해 주셨는데, 우분투나 페도라같은 메이저 배포판들의 기본 저장소/패키지 툴들은 그런 옵션이 없는것 같던데 아닌가요?
지리즈의 이미지

전통적인 tarball 설치가 있기 때문이죠.(소스이던 바이너리이던 간에 최소한 소스 정도는)

이러한 패키지 시스템이 정착되기 전에는 이것이 기본이었죠.
그리고 여전히 저러한 메이저 배포본이 아닌
다른 설치시스템을 가진 *nix가 얼마든지 존재할 수 있거든요.

따라서 유저는 거의 대부분의 경우에
./configure --prefix $HOME/usr && make install 이라는 선택이 가능합니다.

물론 rpm이나 deb(?)도 fakeroot가 가능하기는 한데,
대부분 패키지 설치 관리를 운영하는 db에서
권한이 충돌하기 때문이 설치가 어려운 것 뿐이지, 불가능한 것은 아닙니다.
(rpm은 확실히 일반유저가 자신의 home에 설치 운영이 가능한데 deb은 잘 모르겠네요.)

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

planetarium의 이미지

아... tarball은 물론 있죠... ;; 그게 기본이었구요, 첫 글에서도 언급을 했었구요.

하지만 소스건 바이너리건 tarball을 압축 해제해서 의존성을 스스로 체크해서 이리저리 삽질해야 하는,
"설치법" 문서가 필요한 설치는 제가 말하고 싶은 "데스크탑 리눅스와 일반 사용자" 에서는 벗어나는 것 같네요.

지리즈의 이미지

보안에 취약한 점일 수는 있지만, 그것이 전부는 아닙니다.

가장 커다란 보안의 취약점은 어플리케이션이 관리자 권한으로 실행되어야 한다는 점이죠.
이것이 관리자 권한으로 로그인 할 때 윈도우가 가지는 가장 큰 문제입니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

hayarobi의 이미지

우분투와 비슷하게 운영되는 맥오에스는 프로그램 설치시에 시스템에 접근해야하는 프로그램은 설치시에 관리자 암호를 입력하도록 되어 있습니다. 우분투처럼 사용자 계정 자체는 일반 계정에 속하고요.

우리나라야 사용자가 아주 적지만, 그래도 사용자가 제법 되는 북미나 일본쪽에서도 윈도우즈에 비해 상대적으로 보안이 잘 되는 것으로 인식되죠.

그것으로 유추해보면 거의 비슷한 유저 정책을 취하는 우분투도 결과는 맥오에스와 비슷하지 않을까 싶네요.

=================
잠못자는 한솔아빠

=================
잠못자는 한솔아빠

사랑천사의 이미지

그 부분이 지금까지 "윈도우즈"를 사용해 오던 사용자들에겐 분명히 헨디캡이 될 수 있다고 봅니다만, 처음 부터 리눅스를 데스크탑으로 쓴다면 그 사용자는 분명히 어느 시점에는 tarball로 배포되는 소프트웨어를 설치하는 방법도 배우게 될 것이고 그 부분 또한 일반적인 방법으로 받아드리지 않을까 합니다. 결국 보는 관점의 차이가 어느 정도 있는 거 같습니다 이 문제는.

지금까지 우리나라에서 많은 사용자들이 윈도우즈를 데스크탑으로 사용해 오고 있기 때문에 "부적합하다"라고 보시는 것 같습니다만... 말 그대로 "데스크탑에 설치해서 사용하는 OS"로써의 리눅스로 볼 때 tarball도 무시할 수는 없는 것 같다는 것이 제 생각이고요.

다만 현실을 생각할 때 지금까지 많은 데스크탑 컴퓨터의 사용자들이 윈도우즈를 사용해 왔고 이걸 생각할 때 리눅스에서 tarball 기반의 소프트웨어 설치는 이 이야기의 주제에서 좀 벗어나는 것이 될 수는 있을 것 같긴 합니다. 그래서 리눅스가 현재의 데스크탑 사용자들에 대해 가지는 "안좋은 점?"에 대해서 이전 글에 언급했던 것 같습니다.

써 놓고 보니 뭔 소리 하는 건지 모르겠군요. 죄송합니다.
-- 이여송 --
HomePage: http://lys.lecl.net/
Blog: http://www.lecl.net/lablog
LECL: http://www.lecl.net/
E-Mail: yeosong@gmail.com ysnglee2000@lecl.net
MSN: ysnglee2000@hotmail.com

사람천사

jg의 이미지

그 관리자의 권한을 사용할 수 있는 사람이 주의하지 않는 이상
굉장히 취약할 수 있다고 봅니다.
부주의하게 yes를 할 수 있을 가능성은 충분히 있지요.

하지만 최소한의 실수를 막을 수 있는 문이 아닐까 생각되네요.
su 보다는 sudo의 사용을 하는 것도 그런 이유일테고..
윈도우도 vista 이후로는 그런 방식을 택하고 있구요.
잠시 관리자의 권한을 빌려야 한다는 자각을 갖게 되니
컴퓨터 아끼는 맘이 있다면 스스로 주의하는 수밖에 없지 않을까 싶습니다.

저의 경우에는 sudo의 세션이 유지되는 것이 꺼림직할 때가 있는데

alias sudo='sudo -k'
alias sudo_='\sudo'

정도면 되지 않을까 싶네요.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}