[linux] 계정 사용자에게 프로세서 상태를 숨기자
로빈아빠
본문
계정 사용자에게 프로세서 상태를 숨기자
이미 이렇게 해두시고 사용하시는 분들도 계시겠지만..
저처럼 서버에 많은(?) 계정 사용자가 있을 경우에는 혹은 외부에서 일반 사용자의 권한을 획득해서 접근했을 때 서버의 프로세서 상태를 보여주기 싫을때 혹은 보여주는 게 찝찝할 경우가 있습니다. 이럴 경우에 커널패치를 통해서 프로세서 상태를 숨길 수 있습니다.
일단 http://www.openwall.com/linux/ 로 가셔서 자신의 커널에 맞는 커널패치를 받습니다. 저의 경우에는 2.4.18 패치(아직 개발중이라 권장하지는 않지만...)를 받아서 커널 패치를 했습니다. (저의 경우에는 아직까지 문제점이 발견되지 않았습니다.)
커널패치를 하신 다음에 커널메뉴를 보시면 아래와 같이 security options 라는 메뉴가 생겨납니다.
[*] [*] Autodetect and emulate GCC trampolines [*] Restricted links in /tmp [*] Restricted FIFOs in /tmp [*] Restricted /proc [*] Special handling of fd 0, 1, and 2 [*] Enforce RLIMIT_NPROC on execve(2) [ ] Destroy shared memory segments not in use
/proc제한 부분을 체크하시고 커널 컴파일(컴파일 과정 생략)
재부팅 하신 다음에 패치가 적용되지는 확인
root일 경우
ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1416 480 ? S Jun08 0:29 init [3] root 2 0.0 0.0 0 0 ? SW Jun08 0:00 [keventd] root 3 0.0 0.0 0 0 ? SWN Jun08 0:00 [ksoftirqd_CPU0] root 4 0.0 0.0 0 0 ? SWN Jun08 0:00 [ksoftirqd_CPU1] root 5 0.0 0.0 0 0 ? SW Jun08 3:11 [kswapd] root 6 0.0 0.0 0 0 ? SW Jun08 0:00 [bdflush] root 7 0.0 0.0 0 0 ? SW Jun08 8:09 [kupdated] root 8 0.0 0.0 0 0 ? SW Jun08 0:16 [pagebuf_daemon] root 9 0.0 0.0 0 0 ? SW Jun08 7:27 [kjournald] root 117 0.0 0.0 0 0 ? SW Jun08 0:00 [kjournald] --이하생략--
일반 유저일 경우
stone@ns:~> ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
stone 27608 4.5 0.1 2640 1456 pts/1 S 06:43 0:00 -bash
stone 27635 0.0 0.0 2624 724 pts/1 R 06:43 0:00 ps aux
달랑 두개가 나온다...^^;;
패치를 적용하면 /tmp 에 링크파일을 만들 수(?) 나옵니다만...저는 적용이 잘 안되더군요...
또하나 패치를 적용하시면 일반 유저는 네트웍 상태를 볼 수 없게 됩니다.
아래는 일반 사용자가 netstat명령을 수행했을 때 입니다.
stone@ns:/tmp> netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State /proc/net/tcp: Permission denied
좀더 보안에 신경을 쓴다면 lids를 이용해 보는 것도 좋을듯 합니다.
이미 이렇게 해두시고 사용하시는 분들도 계시겠지만..
저처럼 서버에 많은(?) 계정 사용자가 있을 경우에는 혹은 외부에서 일반 사용자의 권한을 획득해서 접근했을 때 서버의 프로세서 상태를 보여주기 싫을때 혹은 보여주는 게 찝찝할 경우가 있습니다. 이럴 경우에 커널패치를 통해서 프로세서 상태를 숨길 수 있습니다.
일단 http://www.openwall.com/linux/ 로 가셔서 자신의 커널에 맞는 커널패치를 받습니다. 저의 경우에는 2.4.18 패치(아직 개발중이라 권장하지는 않지만...)를 받아서 커널 패치를 했습니다. (저의 경우에는 아직까지 문제점이 발견되지 않았습니다.)
커널패치를 하신 다음에 커널메뉴를 보시면 아래와 같이 security options 라는 메뉴가 생겨납니다.
[*] [*] Autodetect and emulate GCC trampolines [*] Restricted links in /tmp [*] Restricted FIFOs in /tmp [*] Restricted /proc [*] Special handling of fd 0, 1, and 2 [*] Enforce RLIMIT_NPROC on execve(2) [ ] Destroy shared memory segments not in use
/proc제한 부분을 체크하시고 커널 컴파일(컴파일 과정 생략)
재부팅 하신 다음에 패치가 적용되지는 확인
root일 경우
ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1416 480 ? S Jun08 0:29 init [3] root 2 0.0 0.0 0 0 ? SW Jun08 0:00 [keventd] root 3 0.0 0.0 0 0 ? SWN Jun08 0:00 [ksoftirqd_CPU0] root 4 0.0 0.0 0 0 ? SWN Jun08 0:00 [ksoftirqd_CPU1] root 5 0.0 0.0 0 0 ? SW Jun08 3:11 [kswapd] root 6 0.0 0.0 0 0 ? SW Jun08 0:00 [bdflush] root 7 0.0 0.0 0 0 ? SW Jun08 8:09 [kupdated] root 8 0.0 0.0 0 0 ? SW Jun08 0:16 [pagebuf_daemon] root 9 0.0 0.0 0 0 ? SW Jun08 7:27 [kjournald] root 117 0.0 0.0 0 0 ? SW Jun08 0:00 [kjournald] --이하생략--
일반 유저일 경우
stone@ns:~> ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
stone 27608 4.5 0.1 2640 1456 pts/1 S 06:43 0:00 -bash
stone 27635 0.0 0.0 2624 724 pts/1 R 06:43 0:00 ps aux
달랑 두개가 나온다...^^;;
패치를 적용하면 /tmp 에 링크파일을 만들 수(?) 나옵니다만...저는 적용이 잘 안되더군요...
또하나 패치를 적용하시면 일반 유저는 네트웍 상태를 볼 수 없게 됩니다.
아래는 일반 사용자가 netstat명령을 수행했을 때 입니다.
stone@ns:/tmp> netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State /proc/net/tcp: Permission denied
좀더 보안에 신경을 쓴다면 lids를 이용해 보는 것도 좋을듯 합니다.
관련링크
댓글목록
등록된 댓글이 없습니다.