예전것/시스템 보안2009. 5. 29. 12:02

문제:
솔라리스의 NFS(Network File System)을 이용하여 NFS서버로부터 파일시스템을
마운트하는 NFS클라이언트 시스템을 구축하고 싶다.
현재 네트웍에 존재하는 NFS서버의 hostname은 nserver 이며
NFS서버에서 제공하는 파일시스템은 /export/share이다.
그런데 위 NFS서버에서는 kerberos를 이용한 암호화 NFS만을 제공한다고 하며,
본 시스템(hostname은 nclient)은 이미 위 NFS서버의 principal에 등록이 된
상태이며, NFS서버로부터 kerberos ticket도 이미 받은 상태이다.
Kerberos의 암호화 옵션을 이용하여
위 NFS서버의 파일시스템을 본 시스템의 /home2로 mount하시오.
단, 이문제에서는 현재 접속된 쉘 상태에서 일회성으로 mount하면 되며,
시스템이 부팅될때마다 항상 mount되도록 설정할 필요는 없다.

NFS란? (http://www.terms.co.kr/NFS.htm 참조)


NFS는 컴퓨터 사용자가 원격지 컴퓨터에 있는 파일을 마치 자신의 컴퓨터에 있는 것처럼 검색하고, 마음대로 저장하거나 수정하도록 해주는 클라이언트/서버형 응용프로그램이다. 사용자 시스템에는 NFS 클라이언트가 있어야하며, 다른 컴퓨터 (원격지의 컴퓨터)에는 NFS 서버가 설치되어 있어야 한다. 또한, 둘 모두 TCP/IP 프로토콜이 설치되어 있어야 하는데, 왜냐하면, NFS 서버와 클라이언트가 파일을 보내거나 수정하는 프로그램으로 TCP/IP를 사용하기 때문이다 (그러나, 초기버전의 NFS에서는 TCP 대신에 UDP가 사용되기도 한다).

NFS는 썬마이크로시스템즈에 의해 개발되었으며, 파일서버의 표준으로 정착되었다. 이 프로토콜은 컴퓨터들 간의 통신 방법으로서 RPC를 사용한다. 윈도우 95와 썬(Sun)의 Solstice Network Client와 같은 제품을 사용하는 일부 운영체계에 NFS를 설치할 수 있다.

NFS를 이용하여, 사용자나 시스템관리자는 파일시스템의 전부 또는 일부를 설치할 수 있다. 설치된(액세스할 수 있도록 지정된) 파일시스템은 각 사용자들의 권한에 따라 개개의 파일을 액세스할 수 있게된다.

NFS는 인터넷 기술이 가미된 WebNFS로 확장되었으며, 이 제품과 제시된 표준안은 현재 넷스케이프 커뮤니케이터 브라우저의 일부이다. WebNFS는 썬마이크로시스템즈가 웹 페이지와 다른 인터넷 파일들을 빠르게 액세스할 수 있는 방법이라고 믿고 있는 바로 그것을 제공한다.

kerberos란? (http://www.terms.co.kr/Kerberos.htm 참조)

커베로스는 개방된 컴퓨터 네트웍 내에서 서비스 요구를 인증하기 위한 안전한 방법이다. 커베로스는 미국 MIT의 Athena 프로젝트에서 개발되었다. 이 이름은 그리스 신화에서 따왔는데, 커베로스는 저승의 신 하데스의 문을 지키는 머리가 셋 달린 개이다. 커베로스는 사용자가 인증 과정으로부터 암호화된 "티켓"을 요청할 수 있게 해주는데, 이 티켓은 서버에 특정 서비스를 요구하는데 사용될 수 있다. 사용자의 암호는 네트웍을 지나가야 할 필요가 없다. 커베로스의 클라이언트서버 버전은 MIT로부터 다운로드 하거나, 또는 상용 버전을 구입할 수 있다.

아래에 커베로스의 동작원리를 간단하게 설명하였다.

  1. 당신이 지금 텔넷이나 기타 이와 비슷한 로그인 요청을 통해, 다른 컴퓨터에서 서버에 액세스하기 원한다고 가정해 보자. 이 서버는 당신의 요청을 받아들이기 전에, 커베로스 "티켓"을 요구한다.
  2. 티켓을 받기 위해, 당신은 먼저 인증 서버에 인증을 요구한다. 인증 서버는 당신이 입력한 패스워드에 기반하여 "세션 키"와, 서비스 요구를 나타내는 임의의 값을 만든다. 세션 키는 사실상 "티켓을 부여하는 티켓"이다.
  3. 그 다음에 세션 키를, 티켓 부여 서버, 즉 TGS (ticket-granting server)에 보낸다. TGS는 인증 서버와 물리적으로는 동일한 서버에 있을 수 있지만, 그러나 지금은 다른 서비스를 수행한다. TGS는 서비스를 요청할 때 서버에 보낼 수 있는 티켓을 돌려준다.
  4. 그 서비스는 티켓을 거절하거나, 또는 받아들여서 서비스를 수행한다.
  5. TGS로부터 받은 티켓은 발송일자와 시간이 적혀있기 때문에, 일정 시간 동안 (대체로 8시간 동안) 내에는 재인증 없이도 동일한 티켓으로 다른 추가 서비스를 요청할 수 있다. 티켓을 제한된 시간 동안에만 유효하게 만듦으로써, 후에 어떤 사람이 그것을 사용할 수 없도록 만든다.
실제의 과정은 위에 설명한 것보다 더 복잡하며, 사용자 절차도 구현 내용에 따라 다소 달라질 수 있다.

mount 명령은 mount될 file system type의 지정을 위한 -F option을 갖고 있다.

예전것/시스템 보안2009. 5. 29. 00:58
문제:
Solaris시스템에 해커가 침입하여 root 권한을 빼앗기는 보안사고가 발생하였다.
해커가 침입을 한 상태에서 설치한 백도어를 찾아내야 한다. 그런데 이번
해킹패턴을 보면 /usr/sbin/ 디렉토리 있는 네트웍서비스 프로그램중에 하나가
백도어로 바뀐것으로 강하게 의심된다. 다행히도 해킹사고가 발생하기 이전에
/backup/usr/sbin 이라는 디렉토리를 만들어서 원본파일들을 이미 복사해 놓았다.
원본파일과 비교하여 백도어 프로그램을 찾아내시오.
(찾아낸 후에 정답확인 프로그램을 실행하여 백도어 프로그램 파일명을
입력하시오).

diff 명령어를 활용하자. diff명령어는 두 파일사이에 다른것이 있나 확인하는 명령어

#diff /usr/sbin /backup/usr/sbin
다른것이 하나있다.

#cksum ...
#cksum ...
찾은 파일의 체크섬 값을 비교해보자 - 다르다

예전것/시스템 보안2009. 5. 28. 22:37

csh를 사용하는 솔라리스 시스템 로그인을 한 상태에서 파일을 새로 생성할때마다
파일모드가 -rw-r-r-- (644)로 된다. 하지만 이 파일모드는 다른 유저가 파일
내용을 열람할 수 있는 취약점이 있기 때문에 좋지 않아서 일일이 생성된 파일에
대해서 chmod명령어를 통하여 -rw------- (600)으로 바꿔줘야만 했다.
이 작업은 번거롭기 때문에 쉘환경변수를 적절히 변경하여 새로 파일을
생성할때마다 default 파일모드가 -rw------- (600)이 되도록 설정하시오.
단, 이문제에서는 현재 접속되어 있는 쉘에 대해서만 일회성으로 바로잡으면 되며,
쉘환경변수 값을 영구적으로 바로잡기 위해 resource파일을 변경할 필요는없다.


umask에 관한 링크
http://ttongfly.net/zbxe/?mid=linux&page=3&document_srl=43500
http://unix.co.kr/bbs/board.php?bo_table=03_4&wr_id=279

umask를 변경하는문제인데 파일의 경우 기본 666 디렉토리의 경우 기본 777에서 umask값을 뺀값을 권한으로 지정해준다.

chmod의 정반대라고 생각하면 된다 .chmod는 권한을 주는것이지만 umask는 권한을 박탈하는것

따라서
#umask 077 이라고하면 그룹과 다른사용자의 읽기,쓰기,실행 권한을 박탈한다는 뜻이된다.
 q7hint에 자세히 나와있다.