Kevin Fenzi, kevin@tummy.com
Dave Wreski, dave@nic.com
v1.1.0 2000년 3월 8일
장 범수, bschang@kldp.org
2000년 5월 9일
-----------------------------------------------------------------------------------
이 문서는 Linux System 관리자가 상대하게 되는 보안 이슈에 대한 일반적 개론을 밝힌다. 일반적인 보안 철학 등과 Linux System을 침입자로부터 보호할 방법 등의 특정 보기를 몇 가지 적어 놓았다. 보안에 관계된 자료들과 Program을 구할 수 있는 곳도 적어 놓았다. 개선 사항, 건설적인 비평, 첨가 사안, 그리고 수정안 등을 감사한 마음으로 수용하겠다. 여러분의 의견은 두 저자 모두에게 "Security HOWTO"를 Mail의 제목에 써서 보내 주기 바란다
-----------------------------------------------------------------------------------
13. FAQ
Q) Driver 지원을 Module로 만드는 대신 Kernel에서 직접 하도록 하는 것이 더 안전 한가요?
A) 어떤 사람들은 -- 침입자가 트로이의 목마형 Module이나 System에 영향을 끼칠 수 있는 Module을 Load할 수 있다고 해서 -- Module을 써서 Device Driver를 Load하도록 하는 기능은 꺼 놓는 것이 좋다고 생각하기도 합니다.
Q) 하지만 Module을 Load하기 위해서는 사용자는 반드시 root가 되어야 합니다. Module Object File 또한 root만이 적을 수 있도록 되어 있습니다. 만약 침입자가 root 사용권을 이미 얻었다면, 그가 Module을 Load할 것인가를 걱정하는 것 말고도 중요한 다른 걱정거리가 많겠지요.
A) Module은 자주 사용되지 않기도 하는 특정한 Device를 지원하기 위해서 Load되게 됩니다. Server 기계에서나 -- 방화벽 등의 경우-- 자주 일어나지는 않는 일입니다. 이런 이유로 -- Server로 일하고 있는 기계에는 -- Kernel에 직접 지원을 Compile해 주는 것이 타당합니다. 또한 Module은 직접 Kernel에 Compile된 지원보다 느립니다.
Q) 왜 원격 기계에서 root로 접속하는 것이 항시 안됩니까?
A) [root 보안]에 대한 항목을 보십시오. 원격 사용자가 Telnet을 써서 root로 접속하는 것은 root의 암호가 평문으로 전송되는 등의 심각한 보안 취약 요건이기에 이런 경우를 막고자 일부러 이렇게 해 놓습니다. 잠재적 침입자에게는 시간이 충분하고, 여러분의 Password를 찾아내기 위한 자동 Program을 쓸 수도 있다는 것을 언제나 잊지 마십시오.
Q) 제가 쓰고 있는 Redhat 4.2나 5.0 Computer에서 어떻게 Shadow Password를 씁니까?
A) Shadow Password를 쓰려면, 우선 root의 권한을 가지고서 pwconv을 먼저 쓰십시오, 그러면 /etc/shadow가 생기게 됩니다. 만약 Redhat 4.2 이상을 쓰는 경우에는 PAM Module이 /etc/passwd에서 Shadow Password로 변환되는 것을 자동으로 감지해서 사용하게 해 줄 것입니다.
Shadow Password는 일반적으로 사용되는 /etc/passwd File이 아닌 다른 장소에 Password를 적어 놓는 방식입니다. 여러 장점이 있는데, 우선은 /etc/shadow 등의 Shadow File은 -- 아무나 읽을 수 있도록 되어 있는 /etc/passwd와는 달리 -- root만이 읽을 수 있도록 되어 있다는 것입니다. 다른 장점은 관리자로서 -- 사용자들이 다른 계정의 상태를 아는 일없이 -- 계정을 주거나 꺼 버리는 것이 가능하다는 것입니다.
이 경우에 /etc/passwd File은 -- /bin/ls 등의 Program 등이 Directory를 보여줄 때의 경우처럼 사용자 ID와 사용자 이름 (username)을 연결해서 사용할 수 있도록 -- 사용자와 그룹 이름을 기록하는 것에 만 사용됩니다.
그리고 /etc/shadow File은 사용자 이름 (username)과 Password -- 그리고 어쩌면 계정이 언제 끝나는지 등의 -- 계정 정보만을 담게 됩니다.
Shadow Password를 켜 두려면 root 권한으로 pwocnv를 실행하시면 /etc/shadow가 만들어지면서 다른 Program들에 사용되게 됩니다. Redhat 4.2 이상을 사용하신다 했으므로, 이 경우에는 특별히 무엇을 바꾸지 않아도 PAM Module이 보통의 /etc/passwd에서 Shadow Password로 전환 사용되는 것을 자동으로 인식할 것입니다.
일단 Password를 안전하게 만드는 것에 관심을 두셨으니, 아예 처음부터 좋은 Password를 만드는 것에 관심을 두는 것도 좋을 것입니다. 이 것을 위해서는 PAM의 일부분인 pam_cracklib을 쓰실 수 있습니다. 이것은 여러분의 Password를 Crack Library를 써서 돌려봄으로서 여러분의 Password가 Password Crack Program에 의해서 쉽게 깨질 수 있는 가를 알도록 해줍니다.
Q) 어떻게 Apache SSL Extension을 사용할 수 있지요?
A) 답변입니다.
- 우선 FTP Site에서 SSLeasy 08.0 이상의 것을 구합니다.
- 빌드하고, 실험해 본 후에 설치를 합니다.
- Apache 1.2.5의 소스를 구합니다.
- Apache SSLeay Extension을 구합니다. [35]
- Apache 1.2.5 소스 Directory에 압축된 것을 풀어서 README에서 말하는 대로 수정해 줍니다. (README를 먼저 읽고 나서 실시하세요)
- 조정을 하고 빌드하면 끝.
- 미국의 밖에 소재하고 있는 예전의 Replay Associates에서 미리 만들어진 Package를 구할 수도 있습니다.
Q) 보안 수준을 유지하면서 어떻게 사용자 계정을 바꾸죠?
A) 특히 RH 5.0 등의, Redhat 배포본은 사용자 계정의 특성을 바꾸는데 사용할 수 있는 많은 도구를 가지고 있습니다.
pwconv와 unpwconv Program을 사용하시면 Shadow Password와 비(非) Shadow Password로 원하는 대로 바꾸면서 사용할 수 있습니다.
pwck과 grpck은 passwd와 그룹 File간의 적절한 구성을 확인하는 것에 사용될 수 있습니다.
useradd, usermod, 그리고 userdel는 사용자 계정을 더하고 바꾸고, 지우는 데에 사용됩니다. groupadd, groupmod, 그리고 groupdel은 그룹에 적용되는 명령어입니다.
그룹 Password는 gpasswd 명령어를 써서 만들 수 있습니다.
여기 적혀 있는 모든 Program들을 "Shadow 인지 (認知)"를 합니다. 만약 Shadow를 켜 놓으면, /etc/shadow를 Password 정보를 보기 위해서 사용할 것이고 아니라면, 단순히 사용하지 않는다는 것을 뜻합니다. 더 정보를 원하시면 상관되는 Manual Page: man을 보십시오.
Q) 특정한 HTML File을 어떻게 Apache를 써서 보호합니까?
A) http://www.apacheweek.com/이라는 곳을 아시는지? 사용자 인증에 대해서는 여기를 보고, 다른 Web Server 보안 Tip을 보십시오.
14. 결론
보안 경보 Mailing List에 가입하고 최신 동향에 따라감으로써 여러분은 여러분의 Computer를 안전하게 하기 위해 많은 일을 할 수 있다. 기록 File들에 주의를 기울이고, Tripwire 같은 Program들을 정기적으로 수행하면 더 많은 일들을 할 수 있다.
집안의 Computer에서는 적절한 수준의 Computer 보안을 유지하기가 어렵지 않다. 사업용 Computer에서는 더 많은 노력이 필요하지만, Linux는 실로 안전한 Platform이 될 수 있다. Linux의 개발 특성상, 상업용 운영체제보다 더 빨리 보안 관련 수정 사항들이 나온다. 따라서 보안이 필요하다면 Linux야말로 이상적인 Platform이다.
'Operating System > Linux' 카테고리의 다른 글
| Sendmail (sendmail.cf에 관한 얘기) (0) | 2007/06/20 |
|---|---|
| Sendmail (한글지원) (0) | 2007/06/19 |
| Sendmail (추가적인 작업들) (0) | 2007/06/19 |
| Sendmail (Compile & Installation) (0) | 2007/06/19 |
| Sendmail (Sendmail이란?) (0) | 2007/06/19 |
| Linux Security How-To (FAQ/결론) (0) | 2007/06/18 |
| Linux Security How-To (색인) (0) | 2007/06/18 |
| Linux Security How-To (보안 관련 자료) (0) | 2007/06/18 |
| Linux Security How-To (침입 도중이나 후에 할 일들) (0) | 2007/06/18 |
| Linux Security How-To (접속에 앞서서) (0) | 2007/06/18 |
| Linux Security How-To (Network Security) (0) | 2007/06/18 |