4.5. 사용 가능한 네트워크 서비스

기업체 시스템을 담당하는 관리자에게는 사용자의 관리 허가 액세스를 조정하는 것이 중요하지만 어느 네트워크 서비스가 활성화되었는지 확인하는 것도 리눅스 시스템을 설치하여 사용하는 사용자에게는 매우 중요합니다.

Red Hat Enterprise Linux에서 많은 서비스는 네트워크 서버로 작동합니다. 만일 네트워크 서비스가 시스템에서 실행 중이라면, 데몬이라고 부르는 서버 응용 프로그램은 한 개 이상의 네트워크 포트를 청취합니다. 이러한 서버는 잠재적으로 침입을 당할 수 있는 약점이 됩니다.

4.5.1. 서비스로 인한 보안 위험

네트워크 서비스는 리눅스 시스템에 많은 위험을 주며, 주요 문제점은 다음과 같습니다:

네트워크 상 공격을 방지하기 위해서는 사용되지 않은 서비스를 모두 정지시켜야 합니다.

4.5.2. 서비스 식별과 설정

보안을 강화하기 위해서 Red Hat Enterprise Linux에 설치된 대부분의 네트워크 서비스는 꺼져있도록 기본 설정되었습니다. 그러나 주목할 만한 예외가 있습니다:

이 서비스들을 계속 실행되도록 둘것인지를 결정하실 때는 당연한 상식을 가지고 생각하시는 것이 좋습니다. 예를 들어 만일 프린터를 사용하지 않으신다면 cupsd가 계속 실행되도록 둘 필요가 없습니다. portmap의 경우도 마찬가지입니다. NFS 볼륨을 마운트하거나 NIS (ypbind 서비스)를 사용하지 않는 경우에는 portmap을 비활성화하셔야 합니다.

Red Hat Enterprise Linux에는 서비스를 켜고 끌 수 있는 3가지 프로그램:서비스 설정 도구 (redhat-config-services), ntsysv, chkconfig이 포함되어 있습니다. 이 도구 사용법에 대한 정보를 원하신다면 Red Hat Enterprise Linux 시스템 관리 가이드에서 서비스로의 접근 통제 장을 참조하시기 바랍니다.

그림 4-3. 서비스 설정 도구

만일 특정 서비스의 용도를 잘 모르시겠다면 그림 4-3에서 보여지듯이 서비스 설정 도구에서 서비스에 대한 설명을 찾으실 수 있습니다. 조금이나마 도움이 될 것입니다.

부팅시 시작되는 네트워크 서비스를 확인하는 것만으로는 충분하지 않습니다. 훌륭한 시스템 관리자라면 열려진 포트와 청취 중인 포트도 확인하셔야 합니다. 5.8 절에서 이 주제에 대한 보다 자세한 정보를 찾으실 수 있습니다.

4.5.3. 비보안 서비스

모든 네트워크 서비스는 잠재적으로 안전하지 않습니다. 따라서 사용되지 않는 서비스를 끄는 것이 매우 중요합니다. 서비스를 사용한 보안 침입이 계속적으로 발견되고 패치되고 있어 네트워크 서비스와 관련된 패키지를 업데이트하는 작업에 매우 어렵습니다. 이 주제에 대한 자세한 정보는 3 장을 참조하시기 바랍니다.

일부 네트워크 프로토콜은 다른 프로토콜에 비해 더욱 비안전적입니다. 다음과 같은 특성을 지닌 서비스가 그러합니다:

다음은 원래부터 안전하지 않은 서비스의 예입니다:

모든 원격 로그인과 쉘 프로그램 (rlogin, rsh, telnet) 대신 SSH를 사용하시는 것이 좋습니다. (sshd에 대한 자세한 정보는 4.7 절을 참조하시기 바랍니다).

FTP는 원격 쉘 만큼 시스템 보안에 위험하지는 않습니다. 그러나 문제가 발생하지 않도록 신중하게 FTP 서버를 설정하고 감시하셔야 합니다. FTP 서버를 보안 강화하는 방법은 5.6 절을 참조하시기 바랍니다.

다음과 같은 서비스는 신중하게 방화벽과 함께 구현되어야 합니다:

네트워크 서비스를 보안 설정하는 방법에 대한 보다 자세한 정보는 5 장에서 찾으실 수 있습니다.

다음 부분에서는 간단한 방화벽을 설정하는데 사용되는 도구에 대하여 설명해 보겠습니다.