웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
텔넷에서 다른 계정사용자의 홈디렉토리 접근 막기
2002.05.11 00:48
여러 사람들에게 무료 계정을 주면서 텔넷에 접근권한을 주다보니... 다른 계정자들의 디렉토리를 마음껏 훔쳐볼수가 있더군요...
해결하기 위해 여러 리눅스관련 사이트 게시판에 질문을 올려놓았는데... http://www.linux.co.kr 로부터 나? 그네라는 분으로부터 해결책을 찾을 수가 있었습니다.
이는 root 관리자가 해야할 작업입니다.
보통 사용자 계정은 /home 디렉토리에 생기죠...
이 /home 디렉토리 퍼미션을 우선 711로 설정합니다.
701로 설정할경우 그룹으로 프로젝트를 진행할 경우 문제가 발생할수 있으므로 꼭 711로 설정하여 주시구요.
만약 /home/account 라는 디렉토리가 있으며 이곳의 디렉토리를 웹상에서 표현하면서 텔넷 접속한 사람에게 정보를 노출시키지 않을려면.....
/home/account 디렉토리의 user 소유권을 nobody 로 바꾸어주시구요. group 소유권은 그대로 둡니다....^^(하위 디렉토리는 그대로 둡니다.)
권한은 170 으로 주시면 됩니다....^^
nobody 에게는 실행권한을 주고 account에 소속된 그룹이게는 읽고 쓰고 지우고 실행하는 권한을 주는것입니다...^^
이렇게 하시면 텔넷접속하여서 단순명령으로 이동 또는 파일을 열어보는것을 막을 수 있읍니다. (이렇게 하시면 /home/account 하위디렉토리에 퍼미션이755 되어있는 디렉토리도 접근이 불가능합니다.)
즉 지금까지의 설명을 표현하자면...
[root@akachan /]#chmod 711 home
[root@akachan /]#cd home
[root@akachan /home]#chown nobody:account account
[root@akachan /home]#chmod 170 account
[root@akachan /home]#ls -l account
d--xrwx--- 6 nobody account 4096 May......... account
이 됩니다.
물론 완벽하다는 말은 아닙니다.
텔넷에서 파일의 접근을 막았다는 것이지 웹상에서 php 언어로 접근하는것을 막았다는 것은 아닙니다...^^
php 또한 nobody 로 접근하며 디렉토리의 권한과는 상관없이 파일권한에 읽기 권한이 있으면 복사를 해와버리지요.^^
이걸 막는 방법은 php.ini 파일에서 safe_mode=off 로 되어 있는 부분을 on 으로 바꾸어 주시면 됩니다.
그럼 기본적인 부분은 차단 하였지요...... 하지만 여기서 파일을 열어볼 수 없다?
그건 아니지요 물론 CGI 와 Perl 이 있지요... 말 그대로 CGI 와 Perl 은 불가능한게 없는 언어 입니다...^^
이걸 막는 방법은 아주 없습니다. 왜냐면 리눅스라는게 어셈블리어와 C 언어로 만들어진 언어이기 때문입니다.
C 또는 Perl 로 접근하는 것을 막는 방법은........
아쉽게도 계정 사용자들은 C와 Perl을 사용하지 못하게 하는 방법밖에.... 오직 root 만 사용하게 해야 되겠지요...^^
해결하기 위해 여러 리눅스관련 사이트 게시판에 질문을 올려놓았는데... http://www.linux.co.kr 로부터 나? 그네라는 분으로부터 해결책을 찾을 수가 있었습니다.
이는 root 관리자가 해야할 작업입니다.
보통 사용자 계정은 /home 디렉토리에 생기죠...
이 /home 디렉토리 퍼미션을 우선 711로 설정합니다.
701로 설정할경우 그룹으로 프로젝트를 진행할 경우 문제가 발생할수 있으므로 꼭 711로 설정하여 주시구요.
만약 /home/account 라는 디렉토리가 있으며 이곳의 디렉토리를 웹상에서 표현하면서 텔넷 접속한 사람에게 정보를 노출시키지 않을려면.....
/home/account 디렉토리의 user 소유권을 nobody 로 바꾸어주시구요. group 소유권은 그대로 둡니다....^^(하위 디렉토리는 그대로 둡니다.)
권한은 170 으로 주시면 됩니다....^^
nobody 에게는 실행권한을 주고 account에 소속된 그룹이게는 읽고 쓰고 지우고 실행하는 권한을 주는것입니다...^^
이렇게 하시면 텔넷접속하여서 단순명령으로 이동 또는 파일을 열어보는것을 막을 수 있읍니다. (이렇게 하시면 /home/account 하위디렉토리에 퍼미션이755 되어있는 디렉토리도 접근이 불가능합니다.)
즉 지금까지의 설명을 표현하자면...
[root@akachan /]#chmod 711 home
[root@akachan /]#cd home
[root@akachan /home]#chown nobody:account account
[root@akachan /home]#chmod 170 account
[root@akachan /home]#ls -l account
d--xrwx--- 6 nobody account 4096 May......... account
이 됩니다.
물론 완벽하다는 말은 아닙니다.
텔넷에서 파일의 접근을 막았다는 것이지 웹상에서 php 언어로 접근하는것을 막았다는 것은 아닙니다...^^
php 또한 nobody 로 접근하며 디렉토리의 권한과는 상관없이 파일권한에 읽기 권한이 있으면 복사를 해와버리지요.^^
이걸 막는 방법은 php.ini 파일에서 safe_mode=off 로 되어 있는 부분을 on 으로 바꾸어 주시면 됩니다.
그럼 기본적인 부분은 차단 하였지요...... 하지만 여기서 파일을 열어볼 수 없다?
그건 아니지요 물론 CGI 와 Perl 이 있지요... 말 그대로 CGI 와 Perl 은 불가능한게 없는 언어 입니다...^^
이걸 막는 방법은 아주 없습니다. 왜냐면 리눅스라는게 어셈블리어와 C 언어로 만들어진 언어이기 때문입니다.
C 또는 Perl 로 접근하는 것을 막는 방법은........
아쉽게도 계정 사용자들은 C와 Perl을 사용하지 못하게 하는 방법밖에.... 오직 root 만 사용하게 해야 되겠지요...^^
댓글 4
-
teenteenv
2002.05.13 17:39
좋은정보 감사~~ -
styx
2002.05.30 03:58
오히려 nobody를 적용한다는것이 보안에 문제가 생길수 있겠네요.
제 의견을 말씀드리고자 한다면
/home에 701로 주고 사용자를 발급할시 모든 소유권을 하나의 그룹명으로 지정하여
계정발급시 chmod 701 /home/username 으로 지정하면 그룹퍼미션이 0이라서
접근이 불가능하지요. 물론 서브디렉토리까지말입니다.
/home에 701로 주는것은 ls 와 같이 모든 명령어의 퍼미션을 막는 수단입니다.
어차피 루트를 제외한 모든 사용자는 같은 gid이니깐요.
이렇게 한다면 굳이 safe_mode=on을 할필요가 없겠지요. :) -
착한이
2002.05.28 16:11
redhat 7.1을 깔았는데요 ...
Telnet 데몬 어떻게 살려야 합니까?
와우는 그냥 기본값으로 깔면 살아 있던데 ....
아시는 분 도와 주세요 ... -
임현
2002.06.14 15:47
nobody 로 지정하시면 악용할 가능성이있는데..
제가 팁에 올렸듯이 701 로 주는게좋을것같네요. styx 님이 말씀하신것처럼요
제목 | 글쓴이 | 날짜 |
---|---|---|
하드디스크의 모든성능을 써버리자! [4] | 임현 | 2002.06.14 |
BIND - DoS Vulnerability [1] | 야쿠자 | 2002.06.07 |
프비에서 apache2 쓰실때 참고하세요. [2] | _a_SPD_a_ | 2002.05.29 |
가상호스트 i- 님의 강의에 덧붙여서 | 이종렬 | 2002.05.24 |
웹호스팅 서버세팅 쉽게하기 팁[윈도우 메모장 이용] [3] | 김영남 | 2002.05.14 |
텔넷에서 다른 계정사용자의 홈디렉토리 접근 막기 [4] | 김영남 | 2002.05.11 |
Redhat 7.3 나왔습니다. [20] | 야쿠자 | 2002.05.10 |
[알아서 나쁠것없는 10원짜리 팁!] 수십 수백명사용자의 일괄생성 방법! [6] | 임현 | 2002.05.09 |
Redhat7.2에서 apache,mysql,php,zend,gd,freetype,giflib,jpeglib,zlib 설치하기 [14] | DeX™ | 2002.05.04 |
개인서버구동시 서버커널 메모리로....(렉생기시는분들 강추) [2] | 홈1004 | 2002.05.03 |
DB 디자인 툴 소개 [2] | 석이 | 2002.04.21 |
Apache2.0.35 + php4.3.0-devel 설치하기;; [15] | Cksoft | 2002.04.08 |
[mysql을 하자 3] DB서버 원격 사용자,DB 만들어 사용하기 [5] | 비바람 | 2002.03.13 |
[mysql을 하자 2] (pai님도 하신^^)사용자와 db를 맹글자 [4] | 비바람 | 2002.03.13 |
[mysql을 하자 1] mysql 종료와 재부팅 | 비바람 | 2002.03.13 |
MySQL 사용자 계정주기 [10] | pai | 2002.03.12 |
리눅스 아주 간단한 사용자 계정 주기-_- [7] | i- | 2002.03.12 |
아래 pai님 도메인셋팅 강좌 세부파일들 예제 :) [3] | 아르체 | 2002.03.06 |
근사모의 APM_steup3설치 법 [5] | 뽀유★ | 2002.03.01 |
리눅스서버 : 도메인 가진 사용자 추가하기 (텔넷,FTP,이메일 사용) [5] | pai | 2002.02.27 |