14장 . 서비스로의 접근 통제

Red Hat Linux 시스템의 보안을 유지하는 것은 매우 중요합니다. 시스템 보안을 관리하는 한가지 방법은 시스템 서비스로의 접근을 주의깊게 관리하는 것입니다. 아마 특정 서비스에 한해서는 시스템에 제한없이 접근할 수 있도록 개방해야할 경우가 있습니다. (예, 웹서버를 운영하는 경우 httpd가 그러합니다.) 하지만 이러한 서비스를 제공할 필요가 없는 경우에는 시스템에 버그가 발생할 위험을 최소화하기 위해 서비스를 꺼놓으셔야 합니다.

시스템 서비스로의 접근을 관리하기 위하여 여러 다양한 방법을 사용할 수 있습니다. 여러분이 알고 계시는 Linux 전문 지식 수준, 시스템 설정과 서비스에 기반하여 사용하실 방법의 종류를 결정하셔야 합니다.

서비스로의 접근을 거부하는 가장 쉬운 방법은 단순히 서비스를 끄는 것입니다. (다음에 나온 부분에서 더욱 자세하게 설명될) xinetd가 관리하는 서비스와 /etc/rc.d에 속한 서비스는 다음과 같은 3가지 응용 프로그램을 사용하여 시작하거나 멈출 수 있도록 설정 가능합니다:

위에서 언급된 도구를 사용하는 것이 다른 방법들 — 수동으로 /etc/rc.d 아래 디렉토리에 위치한 다수의 심볼릭 링크를 편집하거나 /etc/xinetd.d에서 xinetd 설정 파일 편집하는 것보다 쉽다고 느끼실 겁니다.

시스템으로의 접근을 관리하기 위한 또 다른 방법에는 iptables을 사용하여 IP 방화벽을 설정하는 방법도 있습니다. 초보 리눅스 사용자라면 iptables를 사용하는 것이 최선책이 아닐 수도 있습니다. iptables를 설정은 복잡한 작업이며 숙련된 리눅스 시스템 관리자만이 제대로 수행할 수 있습니다.

다른 한편으로 iptables를 사용하시면 설정에 융통성이 생긴다는 장점이 있습니다. 예로 들면, iptables을 사용하여 특정 서비스에 특정 호스트가 접근할 수 있도록 사용자 정의하실 수 있습니다. iptables와 관련된 보다 많은 정보를 원하시면 Red Hat Linux 참조 가이드와 Red Hat Linux 보안 가이드를 참조하시기 바랍니다.

만일 집에서 사용하는 컴퓨터에 일반적인 접근 규칙을 설정할 유틸리티를 찾고 계신다면, 다른 방법으로서 GNOME Lokkit 유틸리티를 사용해 보십시오. GNOME Lokkit은 GUI 유틸리티로서 사용자가 원하는 컴퓨터 사용 방식에 대하여 질문합니다. 그 후 사용자의 대답에 기초하여 간단한 방화벽을 설정할 것입니다. 보안 수준 설정 도구 (redhat-config-securitylevel)를 사용하셔도 됩니다. 이 도구를 사용하여 Red Hat Linux 설치 프로그램의 방화벽 설정 화면에서 선택하신 것처럼 시스템 보안 수준을 선택하실 수 있습니다. 이 도구에 대한 보다 많은 정보를 원하신다면, 13 장을 참조하시기 바랍니다.

14.1. 런레벨 (runlevels)

서비스로의 접근을 설정하기 이전에 먼저 Linux 런레벨을 이해하셔야 합니다. 런레벨이란 /etc/rc.d/rc<x>.d (여기서 <x>는 런레벨의 수) 디렉토리에 나열된 서비스에 의해 정의된 상태, 또는 모드(mode)를 의미합니다.

Red Hat Linux에서는 다음과 같은 런레벨이 사용됩니다:

텍스트 로그인 화면을 사용하신 경우 런레벨 3으로 작동합니다. 만일 그래픽 로그인 화면을 선택하신 경우에는 런레벨 5에서 작동합니다.

/etc/inittab 파일을 수정하여 기본 런레벨을 변경할 수 있습니다. /etc/inittab 파일을 보시면 처음 부분에 다음과 같은 줄이 포함되어 있습니다:

id:5:initdefault:

해당 줄에 나타난 숫자를 원하는 런레벨로 변경하십시오. 시스템을 재부팅하시면 변경 사항이 적용됩니다.

런레벨을 즉시 변경하기 위해서는 telinit 명령과 런레벨 숫자를 함께 사용합니다. 반드시 루트로 이 명령을 사용하셔야 합니다.