root may not be directly reachable on the netroot account는 telnet, rsh, 그리고 rlogin을
통해서 다른 컴퓨터들로부터 직접 접근할 수 없어야 한다.
이유:
그렇지 않으면 root account는 net 상에서의 crack의 도움으로 쉽게 깨
어질 수 있다. 잠정적인 agressor는 우선 침입하기 위해서 일반적인 사용자로써 로그인하게
된다. 두 가지가 더 행해져야 한다.첫 번째로 crack은 시스템 상에 설치되어져야 하고, 두
번째로 내부로부터의 공격(attack)은 빨리 검출되어져야 한다. (Crack은 password testing
과 cracking을 위한 프로그램이다.)
그것이 발생되었다고 하더라도, telnet의 password는 이더넷 상에서 적어도 한번은 디코드
된다. 상응하는 네트워크 프로그램을 사용해서 이더넷에 있는 다른 시스템들은 그러한 데이
터를 TCP/IP 패키지로부터 다소 쉽게 필터 할 수 있다.
이러한 보안 단계는 또한 NFS exported partitions에서도 유효하다. : /etc/exports에 있는
옵션 root_squash를 항상 명백하게 설정하라. 그것에 관한 보다 자세한 정보는 매뉴얼 페
이지 exports에서 찾을 수 있다.
만약 로컬 터미널 이외에 root를 여전히 허용한다면, 매뉴얼 페이지 login(5) (Call: man 5
login)를 참조하기 바란다.
. root의 쉘 변수 PATH는 변수의 앞이나 뒤에 '.'를 포함하면 안 된다. 점 '.'
는 방금 사용된 디렉토리의 abreviation이고 그 안에 쉘 스크립트와 프로그램이 포함되어
있다. 그러한 프로그램들은 그 앞에 ./를 삽입해서 명백히 구별되어져야 한다.
Reason:
예를 들어서 일반적인 사용자가 이름 ls를 포함하는 스크립트를 생성하면,
#!/bin/sh
cd /
rm -rf *
/tmp 혹은 그의 HOMEroot는 그 자신을 완전히 시스템에 무의식적으
로 삭제할 수 있다..가 쉘 변수 PATH의 뒤에 반드시 있어야 할뿐만이 아니라, 에러를 입
력하고 로컬 프로그램을 무의식적으로 호출하는 것으로부터 여전히 안전하지 않다.(예를 들
어, ls 대신에 la) 이러한 위험은 trojan horse라고 묘사되어진다.
rootroot로써 작업하는 것을 피해야만 한다. 그렇지 않으면, 시스템에 있는 중
요한 작업들이 자신에 의해서 실행되어져야만 한다.
Reason:
에러의 위험은 상당히 크고 root는 모든 것을 할 수 있다. 정말 모든 것을 할 수
있다. 원하지 않는 것이라 할지라도 말이다. 이러한 조건 아래에서 원하지 않았던 명령들은
결과적으로 경고 없이 실행되어진다.
클라이언트로부터의 original quate는 경고로 나타난다. :
... now an accident happened to me, because I've worked as root. With the hope of getting any sound, I have typed "ls > /dev/hdb2" instead of "/dev/dsp" by mistake - unfortunately, /dev/hb2 is my root partition.Remark: /dev/hb2는 그의 root 파티션이었다. 그러나 고의적인 기쁨과 함께 깊은 연민을 가진다. ;-)
루트는 아무 프로그램이나 실행할 수 없는가 ?
syslog 파일 전체를 네트워크에서 접근할 수 없습니다.