과대 평가 된 루트로 로그인에 대한 우려가 있습니까?


16

개인 노트북의 개인 Linux의 경우 일반적으로 X 이하의 런레벨에서도 루트로 자동 로그인 하도록 환경을 설정했습니다 . 키링이나 인증 등 으로 타이핑을 su하거나 번거로울 필요없이 워크 플로가 매우 즐겁고 빠릅니다 sudo.

지금까지 나는 그것에 대해 아무런 문제가 없었는데, 왜 대부분의 사람들이 그것에 대해 기절합니까? 우려가 과대 평가 되었습니까? 물론 이것은 사용자가 자신이하는 일을 알고 있고 시스템 안정성과 보안 문제에 관심이 없다고 가정합니다.


4
왜 루트로 실행합니까? 정말로 입력하고 싶지 않다면 일부 명령을 nopasswd (모두는 아님)로 sudo편집 /etc/sudoers하고 추가하는 것이 좋습니다 ~/.bashrc(또는 별칭 파일)에 aliases를 추가하십시오 sudo command. 이것은 여전히 ​​좋은 생각은 아니지만 당신이 할 수있는, 또는 당신이 한 피해를 제한 할 것입니다.
xenoterracide

11
이 스레드의 적대감 수준은 약간 걱정입니다. 합법적 인 질문입니다. 그렇습니다. 항상 루트로 달리는 것은 나쁜 생각이지만 그것에 대해 뒤집을 필요는 없습니다
Michael Mrozek

5
@Mrozek : 동의합니다. 이제는 내가 제어 한 모든 시스템에 OP 루트 암호를 제공하지는 않았지만 잘못된 것을 입력하여 시스템을 휴지통에 버리는 것은 매우 교육적 일 수 있습니다. 아마도 "지금까지는 아무런 문제가 없었습니다"라는 OP 작문이 처음으로 일어날 수 있다는 사실과 같은 유용한 것을 배울 것입니다.
David Thornley

2
내 생각이 금액까지 왜 안 : unix.stackexchange.com/questions/502/...
알렉스 B

3
자동차 비유를 가져 오려면 : 안전 벨트없이 운전하는 것과 같습니다. 가능하지만 잠재적으로 치명적입니다.
반전

답변:


33

같은 이유로 각 데몬에 최소 권한이 있어야합니다. Apache는 루트로 실행할 수 있습니다. 그것은 하나의 작업을 수행하도록 설계되었으며 확실히 나쁜 일이 발생하지 않습니까?

그러나 아파치에 버그가 없다고 가정하십시오. 버그는 때때로 발견됩니다. 때로는 임의의 코드 실행 또는 이와 유사한 것일 수도 있습니다. 이제 아파치를 루트로 실행하면 무엇이든 액세스 할 수 있습니다. 예를 들어 루트킷을 커널에로드하고 숨길 수 있습니다.

반면에 사용자 수준 루트킷을 작성하는 것은 매우 어렵습니다. psinside 와 같은 다른 프로그램을 재정의 /home해야하므로 사용되는 추가 디스크 공간으로 인해 의심이 갈 수 있습니다. 정확한 구성을 알지 못하고 gnome-system-monitor노출하는 것을 포함하는 것을 잊어 버릴 수 있습니다 . 그것은 그것을 커버해야 bash하며 tcsh, 당신이 사용하는 모든 쉘 (자체를 시작하기 위해). 많은 콜백을 '간단하게'재정의하는 대신 다른 구성으로 작업해야합니다.

얼마 전에 Adobe Reader에서 임의의 코드 실행이 발견되었다고 생각하십시오.

다른 이유는 사용자 실수입니다. 하나의 명령으로 전체 디스크를 지우기 전에 경고하는 것이 좋습니다.

세 번째 이유는 다른 껍질입니다. /시스템 복구가 필요한 경우 루트 쉘을 설치해야합니다 . 사용자의 쉘을 설치할 수 있습니다 /usr(예 : 사용자가 zsh를 사용할 수 있음).

네 번째 이유는 다른 프로그램이 루트로 작동하지 않기 때문입니다. 그들은 그들이해서는 안된다는 것을 알고 있으므로 시스템을 패치해야합니다.

다섯 번째 이유는 /root별도의 파티션에 있지 않아야하고 가능한 동안 /home해야한다는 것입니다. 갖는 /home분리하는 것은 여러 가지 이유로 도움이됩니다.

또한 : 일반 사용자로 사용하지 않는 이유. 더 자주 루트 권한이 필요하지 않습니다. 보안 비용은 매우 적습니다.


3
루트로서 dd/ dev 및 / proc의 커널 및 시스템과 함께 루트가 많은 의도적이고 의도적이지 않은 많은 방해를 할 수 있다는 사실과 결합하여 시스템의 모든 블록 장치에 대해 무엇이든 할 수 있다는 사실은 필요한 경우가 아니라면 루트로 실행하지 않도록 설득 할 수 있습니다.
LawrenceC

29

누드로 오토바이를 탈 수도 있으며 아무 일도 일어나지 않을 것입니다. 하지만 자전거를 부딪쳤을 때 기분이 나아질 것입니다 ...


7
아마, 그러나 당신이 나머지 시간을 얻을 느낌을 생각하십시오!
Sirex

12

보안상의 명백한 점 외에도, 쉘이나 lapsus에 명령을 잘못 입력하여 시스템을 호스 링하지 않은 것은 분명합니다. 이런 일이 발생하면 사람들이 왜 그 일에 열중하는지 이해할 것입니다. 그리고 당신은 공포에 울부 짖고, 또한 그것이 매우 교육적인 경험 이었음을 깨달을 것이지만, 어쨌든 당신의 시스템을 되 찾을 수는 없습니다.

생각 : 시스템을 정상적으로 사용하는 동안 (예 : 패키지 또는 다른 시스템 관리 작업을 설치하지 않는 동안) 루트 암호를 묻는 메시지가 표시되면 잘못한 것 입니다.


몇 가지 오래된 경험을 상기시켜 준 +1 아니면 다시 가져 오려면 -1이어야합니까?
David Thornley

5
사람들이 왜 sudo를 사용하면 잘못된 명령을 방지한다고 생각하는지 이해하지 못했습니다. 몇 년 전 호스를했던 마지막 시스템은 sudo rm -rf / dir / job이었습니다.
Sirex

4

아니요, 과대 평가되지 않았습니다. 실제로 그것은 가장 과소 평가됩니다. :-)

예를 들어, 저의 소규모 팀은 개발 작업을 위해 RHEL 머신을 공유하고 있습니다. 물건 제작, 테스트 등 모든 사람이 개별 사용자 계정을 사용하지만 사람들은 빠른 sysadmin 작업을 위해 때때로이 비밀번호가 필요하기 때문에 루트 비밀번호도 공유합니다. 이로 인해 우리는 짧은 수명으로 OS를 몇 번 호스로 관리 할 수있었습니다. 특정 버전의 libc를 작성하는 사람이 시스템 라이브러리를 어리석게 제거했습니다.rm기도. 또 다른 궁금한 상황에서 파티션 테이블이 누락되었습니다. (OK, 이것은 특권과 관련이 없습니다.) 파손이 해결 될 때까지 나머지 팀은 차단됩니다. 한 가지 해결책은 누군가 자원 봉사자가 sysadmin 작업을 수행하도록하는 것입니다. 지금까지 우리는 사람들이 자신의 교훈을 배울 수 있다는 점을 제외하고는 너무 신경 쓰지 않았습니다.

정말로 궁금한 점 은 최소 권한의 원칙 을 따르고 Ken Thompson의 논문 "신뢰에 대한 반사"를 읽고 싶을 것 입니다. ( "도덕은 명백하다. 자신을 완전히 만들지 않은 코드는 믿을 수 없다")


3

다른 답변에 대한 귀하의 의견을 받음

그러나 리눅스는 자신의 데이터, 개인 정보 보호 및 보안을 파괴 할 수있는 자유를 포함하여 자유에 관한 것입니다.

sudo리눅스를 통해 사람들을 강요하더라도 리눅스는 이러한 자유를 제공합니다. 당신이 피하고 싶은 모든 보안 주장은 당신 이 아닌 것들로부터 당신을 보호하기 위해 존재 합니다 (읽기 : 악의적 인 프로그램 또는 악의적 인 사람들에 의해 제어되는 프로그램).

안전 벨트로 생각하십시오. 사용하는 데 1 초가 걸립니다. 당신뿐만 아니라 다른 바보들로부터 당신의 생명을 구할 수 있습니다.

암호를 항상 입력하고 싶지 sudoedit /etc/sudoers않지만 루트로 계속 실행하면 언젠가는 시스템과 모든 데이터를 방해하는 무언가를 실행하게 될 것입니다.

플래시처럼 엉뚱한 것조차 컴퓨터를 다시 포맷 할 수 있다는 것을 알고 행복하다면, 여기서 아무도 당신의 일을 신경 쓰지 않습니다. 루트로 실행하십시오.


2
악의적 인 프로그램뿐만 아니라 버그가있는 프로그램도 있습니다 (예 : 커널 빌드 시스템에서 루트로 컴파일 한 경우 시스템을 강화시키는 버그가 발생했습니다)
Spudd86

2

Damn Vulnerable Linux 를 메인 시스템으로 사용하는 것이 어떻습니까? 시스템 보안을 무시하려면 모든 것을 무시해도됩니다.


기술적으로 기본 사용자로서 루트가있는 컴퓨터는 이론적으로 보호 될 수 있습니다.
Maciej Piechotka

3
@Maciej는 유일한 보안 컴퓨터가 분리되어 있으며, 호수 바닥에 콘크리트로 싸여 있습니다.
xenoterracide

Mitnick은 누군가가 호수 밖에서 그것을 얻을 수 있다고 지적 했으므로 콘크리트를 깨고 플러그를 꽂습니다. 나는 '기술적으로'와 '이론적으로'사용하기 위해주의를 기울였습니다. 또한 나쁜 자물쇠는 자물쇠가없는 것이 좋습니다. 예를 들어 SELinux가 없어도 현재 시스템이 충분히 안전하다고 생각합니다.)
Maciej Piechotka

@Marciej well security는 비용 / 위험 분석에 관한 것입니다. 가치가있는 것보다 더 큰 보안을 두지 마십시오.
xenoterracide

1
@Marciej 그리고 그만한 가치가 없다면 보안에 아무런 문제가 없습니다. 그 시점에서 취약점은 중요하지 않습니다.
xenoterracide

1

수많은 사람들의 공동 노력 인 OS에 대해 이야기하고 있습니다. 안정적인 소프트웨어 만 실행하면 한동안 안전 할 수 있습니다.

앞에서 언급했듯이, 작은 것이 전체 HD를 휴지통으로 만들 수 있다는 사실에 놀랄 것입니다. 첫 해에는 Fedora-core 3 시절에 시스템을 사용자로부터 관리 할 수있는 멋진 방법이 많지 않았기 때문에 루트에서 많이 실행하려고했습니다.

당시에는 백업하지 않고 작은 xorg 편집 작업을 수행했습니다. 데스크탑이 사라졌습니다. 그런 다음 수동으로 수정하려고했지만 정확히 어떻게했는지 알 수 없었습니다. 나중에, 나는 드라이버와 데스크탑을 다시 설치할 수 있다고 생각했지만, 이더넷이 엔비디아이기 때문에 실수로 이더넷의 연결을 끊었습니다.

처음으로 Arch를 실행하는 동안 사용자를 생성하라는 경고를 무시하고 잠시 동안 관리자로 실행했습니다. 필요한 AUR 패키지를 설치하고 재부팅 한 후 전체 설치가 중단되었습니다.

내가 뿌리를 내렸기 때문에 이러한 문제를 해결하는 데 필요한 것보다 훨씬 나빠졌습니다.

내가 단지 무능하다고 결론 내릴 수 있습니다. 그러나 다른 사람들이 언급했듯이 "스도"를 입력하는 것은 마음의 평화를 지불하는 작은 가격입니다.

편집 : 아 ... 그리고 WINE과 같은 특정 프로그램은 루트 환경에서 명시 적으로 실행되지 않아야합니다. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014


1

안전상의 이유-Linux를 대상으로하는 데몬 또는 스크립트 취약점은 시스템에 대한 Sysadmin 권한을 갖습니다.

간단한 사용자로 실행하고 sudo를 사용하는 것은 보안 측면에서 많이 다릅니다. 내 Firefox가 내 사용자로 실행 중이므로 모든 Firefox 취약성이 내 계정에만 적용됩니다. 다른 건 없어


0

보안에 대한 우려와 특정 권한에 대한 통제권에 대해서는 Maciej에 동의합니다. 또한 시스템 소유자이므로 원하는 경우이 기능을 비활성화 할 수 있습니다.


-4

바보 같은 짓을하지 않는 한 정상적인 세션의 루트로 로그인하는 데 큰 문제가 없습니다.

때로는 개인적으로 바보 같은 일을하기 때문에 개인적으로는하지 않습니다. 나는 내가 한 바보 같은 일이 잠재적으로 큰 문제라는 것을 결코 알지 못했지만 , 나는 정말 바보 같은 일을 결코 하지 않을 것이라고 생각할만큼 거만하지 않다 .


8
웹 브라우저를 사용하는 것은 어리석은 일을하는 것으로 구성됩니까?
xenoterracide

4
@ xenoterracide : 루트로 로그인하면 어리석은 짓을 구성합니다.
David Thornley 21시 51 분

2
@ 데이비드 내가 알고, 즉 좀 요점)
xenoterracide
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.