Sun 엔터프라이즈 인증 메커니즘 안내서

보안 강화

다음 절차는 SEAM 응용 프로그램 서버 및 KDC 서버의 보안을 강화하기 위한 단계입니다.

Kerberos 암호화를 지원하는 응용 프로그램만 사용하는 방법

다음 절차는 네트워크 상에서 telnet, ftp, rcp, rsh, rlogin을 사용해 서버에 액세스하는 트랜잭션을 Kerberos 암호화 인증을 받은 트랜잭션으로 제한합니다.

  1. /etc/inetd.conftelnet 항목을 편집합니다.

    -a user 옵션을 telnet 항목에 추가해서 유효한 인증 정보를 제공하는 사용자만 액세스할 수 있도록 합니다.


    telnet stream  tcp     nowait  root    /usr/krb5/lib/telnetd  telnetd -a user
    
  2. /etc/inetd.confftp 항목을 편집합니다.

    -a 옵션을 ftp 항목에 추가해서 Kerberos 인증을 받은 연결만 허용합니다.


    ftp stream  tcp     nowait  root    /usr/krb5/lib/ftpd    ftpd-a
    
  3. /etc/inetd.conf에서 기타 서비스에 대한 Solaris 항목을 비활성화합니다.

    shelllogin 항목을 비활성화하거나 삭제합니다.


    # shell   stream  tcp     nowait  root    /usr/sbin/in.rshd       in.rshd
    # login   stream  tcp     nowait  root    /usr/sbin/in.rlogind    in.rlogind

KDC 서버 액세스 제한 방법

마스터와 슬레이브 KDC 서버에는 KDC 데이터베이스의 복사본이 로컬로 저장되어 있습니다. 이러한 서버로의 액세스를 제한해서 데이터베이스의 보안을 유지하는 것이 SEAM의 전체 보안에서 매우 중요합니다.

  1. /etc/inetd.conf에서 원격 서비스를 비활성화합니다.

    KDC 서버의 보안을 유지하기 위해 /etc/inetd.conf 파일에서 중요하지 않은 네트워크 서비스 항목을 주석 행으로 변경합니다. 대부분의 경우 실행해야 할 서비스는 timekrdb5_kprop뿐이며 tli 루프백(ticlts, ticotsord, ticots)을 사용하는 서비스도 활성 상태로 둡니다. 편집이 끝난 파일은 다음과 같습니다. (간단한 예를 제공하기 위해 대부분의 주석을 삭제했습니다.)


    kdc1 # cat /etc/inetd.conf
    #
    #ident  "@(#)inetd.conf 1.33    98/06/02 SMI"   /* SVr4.0 1.5   */
      .
      .
    #name     dgram   udp     wait    root    /usr/sbin/in.tnamed     in.tnamed
    #
    #shell    stream  tcp     nowait  root    /usr/sbin/in.rshd       in.rshd
    #login    stream  tcp     nowait  root    /usr/sbin/in.rlogind    in.rlogind
    #exec     stream  tcp     nowait  root    /usr/sbin/in.rexecd     in.rexecd
    #comsat   dgram   udp     wait    root    /usr/sbin/in.comsat     in.comsat
    #talk     dgram   udp     wait    root    /usr/sbin/in.talkd      in.talkd
    #
    #uucp     stream  tcp     nowait  root    /usr/sbin/in.uucpd      in.uucpd
    #
    #finger   stream  tcp     nowait  nobody  /usr/sbin/in.fingerd    in.fingerd
    #
    # 시간 서비스를 사용해 클록을 동기화합니다.
    #
    time      stream  tcp     nowait  root    internal
    time      dgram   udp     wait    root    internal
    # 
      .
      .
    # 
    100234/1  tli rpc/ticotsord wait  root    /usr/lib/gss/gssd     gssd 
    #dtspc    stream  tcp     nowait  root    /usr/dt/bin/dtspcd      /usr/dt/bin/dtspcd
    #100068/2-5 dgram rpc/udp wait    root    /usr/dt/bin/rpc.cmsd    rpc.cmsd
    #100134/1 tli rpc/ticotsord wait   root    /usr/krb5/lib/ktkt_warnd kwarnd
    #klogin   stream  tcp     nowait  root    /usr/krb5/lib/rlogind   rlogind -k
    #eklogin  stream  tcp     nowait  root    /usr/krb5/lib/rlogind   rlogind -k -e
    #telnet   stream  tcp     nowait  root    /usr/krb5/lib/telnetd   telnetd
    #ftp      stream  tcp     nowait  root    /usr/krb5/lib/ftpd      ftpd
    #kshell   stream  tcp     nowait  root    /usr/krb5/lib/rshd      rshd -k -c -A
    krb5_prop stream  tcp     nowait  root    /usr/krb5/lib/kpropd  kpropd

    변경이 끝나면 서버를 재부팅합니다.

  2. KDC를 지원하는 하드웨어의 액세스를 제한합니다.

    물리적 액세스를 제한하기 위해 서버와 모니터가 안전한 장비에 설치되었는지 확인합니다. 일반 사용자는 어떠한 경우에도 이 서버에 액세스할 수 없습니다.

  3. KDC 데이터베이스 백업을 로컬 디스크나 슬레이브에 저장합니다.

    테이프 백업 장치를 사용해 백업하는 경우에는 테이프가 안전하게 보관되는 경우에만 KDC 백업에 사용해야 합니다. 키 테이블 파일의 복사본도 마찬가지입니다. 이러한 파일은 다른 시스템과 공유되지 않는 로컬 파일 시스템에 저장하는 것이 가장 좋으며, 마스터 KDC 서버나 모든 슬레이브를 파일 저장 시스템으로 사용할 수 있습니다.