탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: 보안 서비스 Oracle Solaris 11 Information Library (한국어) |
작업 공간에서 서버에 연결된 모든 컴퓨터는 하나의 큰 다중 시스템으로 생각할 수 있습니다. 관리자는 이 대형 시스템의 보안을 책임집니다. 액세스 권한을 얻으려는 외부인으로부터 네트워크를 보호해야 합니다. 또한 네트워크 내의 컴퓨터에 있는 데이터의 무결성을 유지해야 합니다.
파일 레벨에서 Oracle Solaris는 파일, 디렉토리 및 장치를 보호하는 데 사용할 수 있는 표준 보안 기능을 제공합니다. 시스템 및 네트워크 레벨에서 보안 문제는 거의 동일합니다. 보안 방어의 최우선 업무는 시스템에 대한 액세스를 제어하는 것입니다.
다음을 사용하여 시스템 액세스를 제어하고 모니터할 수 있습니다.
시스템에 대한 액세스를 제어하려면 컴퓨터 환경의 물리적 보안을 유지 관리해야 합니다. 예를 들어, 로그인되어 있는 상태에서 아무도 없는 시스템은 허용되지 않은 액세스 위험에 노출됩니다. 침입자는 운영 체제 및 네트워크에 대한 액세스 권한을 얻을 수 있습니다. 컴퓨터의 주변 및 컴퓨터 하드웨어를 허용되지 않은 액세스로부터 물리적으로 보호해야 합니다.
SPARC 시스템은 하드웨어 설정에 대한 허용되지 않은 액세스로부터 보호할 수 있습니다. eeprom 명령을 사용하여 PROM에 액세스하기 위한 암호를 요구합니다. 자세한 내용은 하드웨어 액세스에 대한 암호 요구 방법을 참조하십시오. x86 하드웨어를 보호하려면 해당 공급업체 설명서를 참조하십시오.
또한 시스템이나 네트워크에 대한 허용되지 않은 액세스를 막아야 하는데 암호 지정 및 로그인 제어를 통해 가능합니다. 시스템의 모든 계정에는 암호가 있어야 합니다. 암호는 단순한 인증 방식입니다. 암호가 없는 계정이 있으면 사용자 이름을 추측할 수 있는 침입자가 전체 네트워크에 액세스할 수 있습니다. 강력한 암호 알고리즘은 무단 공격으로부터 보호합니다.
사용자가 시스템에 로그인하면 login 명령이 이름 스위치 서비스 svc:/system/name-service/switch의 정보에 따라 알맞은 이름 지정 서비스 또는 디렉토리 서비스 데이터베이스를 확인합니다. 다음 데이터베이스는 로그인에 영향을 줄 수 있습니다.
files – 로컬 시스템의 /etc 파일을 지정합니다.
ldap – LDAP 서버의 LDAP 디렉토리 서비스를 지정합니다.
nis – NIS 마스터 서버의 NIS 데이터베이스를 지정합니다.
dns – 네트워크의 도메인 이름 서비스를 지정합니다.
이름 지정 서비스에 대한 설명은 nscd(1M) 매뉴얼 페이지를 참조하십시오. 이름 지정 서비스 및 디렉토리 서버에 대한 자세한 내용은 Oracle Solaris Administration: Naming and Directory Services 를 참조하십시오.
login 명령은 사용자가 제공한 사용자 이름과 암호를 확인합니다. 사용자 이름이 암호 데이터베이스에 없을 경우 login 명령은 시스템에 대한 액세스를 거부합니다. 지정된 사용자 이름에 대한 암호가 올바르지 않을 경우 login 명령은 시스템에 대한 액세스를 거부합니다. 사용자가 유효한 사용자 이름과 해당하는 암호를 제공할 경우 시스템은 사용자에게 시스템에 대한 액세스 권한을 부여합니다.
시스템 로그인을 성공한 후 PAM 모듈은 로그인을 응용 프로그램에 전달할 수 있습니다. 자세한 내용은 15 장PAM 사용을 참조하십시오.
Oracle Solaris 시스템에서는 정교한 인증 및 권한 부여 방식을 사용할 수 있습니다. 네트워크 레벨의 인증 및 권한 부여 방식에 대한 자세한 내용은 원격 액세스에 대한 인증 및 권한 부여를 참조하십시오.
사용자가 시스템에 로그인할 때 사용자 이름과 암호를 모두 제공해야 합니다. 로그인은 공개적으로 알려져 있더라도 암호는 비밀로 유지해야 합니다. 암호는 각 사용자만 알고 있어야 합니다. 사용자는 자신의 암호를 신중하게 선택하고 자주 변경해야 합니다.
암호는 사용자 계정을 설정할 때 처음 만들어집니다. 사용자 계정에 대한 보안 유지를 위해 사용자가 자신의 암호를 정기적으로 변경하도록 암호 유효 기간을 설정할 수 있습니다. 또한 암호를 잠가 사용자 계정을 사용 안함으로 설정할 수도 있습니다. 암호 관리에 대한 자세한 내용은 Oracle Solaris 관리: 일반 작업의 2 장, 사용자 계정 및 그룹 관리(개요) 및 passwd(1) 매뉴얼 페이지를 참조하십시오.
네트워크에서 로컬 파일을 사용하여 사용자를 인증하는 경우 암호 정보는 시스템의 /etc/passwd 및 /etc/shadow 파일에 보관됩니다. 사용자 이름 및 기타 정보는 /etc/passwd 파일에 보관됩니다. 암호화된 암호 자체는 별도의 섀도우 파일인 /etc/shadow에 보관됩니다. 이 보안 방식은 사용자가 암호화된 암호에 액세스하지 못하도록 막습니다. /etc/passwd 파일은 시스템 로그인 권한이 있는 모든 사용자가 사용할 수 있지만 /etc/shadow 파일은 수퍼유저만 읽을 수 있습니다. passwd 명령을 사용하여 로컬 시스템에서 사용자의 암호를 변경할 수 있습니다.
네트워크에서 NIS를 사용하여 사용자를 인증하는 경우 암호 정보는 NIS 암호 맵에 보관됩니다. NIS는 암호 유효 기간을 지원하지 않습니다. passwd -r nis 명령을 사용하여 NIS 암호 맵에 저장된 사용자의 암호를 변경할 수 있습니다.
Oracle Solaris LDAP 이름 지정 서비스는 암호 정보 및 섀도우 정보를 LDAP 디렉토리 트리의 ou=people 컨테이너에 저장합니다. Oracle Solaris LDAP 이름 지정 서비스 클라이언트에서 passwd -r ldap 명령을 사용하여 사용자의 암호를 변경할 수 있습니다. LDAP 이름 지정 서비스는 암호를 LDAP 저장소에 저장합니다.
암호 정책은 Oracle Directory Server Enterprise Edition에서 적용됩니다. 특히 클라이언트의 pam_ldap 모듈은 Oracle Directory Server Enterprise Edition에서 적용되는 암호 정책 제어를 따릅니다. 자세한 내용은 Oracle Solaris Administration: Naming and Directory Services의 LDAP Naming Services Security Model을 참조하십시오.
강력한 암호 암호화는 공격에 대한 1차 방어선을 제공합니다. Oracle Solaris 소프트웨어는 6가지 암호 암호화 알고리즘을 제공합니다. Blowfish, MD5 및 SHA 알고리즘은 UNIX 알고리즘보다 강력한 암호 암호화를 제공합니다.
사이트에 대한 알고리즘 구성은 /etc/security/policy.conf 파일에 지정합니다. policy.conf 파일에서 알고리즘은 다음 표에 나온 대로 식별자로 이름이 지정됩니다. 식별자-알고리즘 매핑은 /etc/security/crypt.conf 파일을 참조하십시오.
표 2-1 암호 암호화 알고리즘
|
다음은 policy.conf 파일의 기본 알고리즘 구성을 보여줍니다.
# … # crypt(3c) Algorithms Configuration # # CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to # be used for new passwords. This is enforced only in crypt_gensalt(3c). # CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 # To deprecate use of the traditional unix algorithm, uncomment below # and change CRYPT_DEFAULT= to another algorithm. For example, # CRYPT_DEFAULT=1 for BSD/Linux MD5. # #CRYPT_ALGORITHMS_DEPRECATE=__unix__ # The Oracle Solaris default is a SHA256 based algorithm. To revert to # the policy present in Solaris releases set CRYPT_DEFAULT=__unix__, # which is not listed in crypt.conf(4) since it is internal to libc. # CRYPT_DEFAULT=5 …
CRYPT_DEFAULT에 대한 값을 변경할 경우 새 사용자의 암호가 새 값과 연결된 알고리즘으로 암호화됩니다.
기존 사용자가 자신의 암호를 변경할 경우 이전 암호의 암호화 방식은 새 암호를 암호화하는 데 사용되는 알고리즘에 영향을 줍니다. 예를 들어, CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 및 CRYPT_DEFAULT=1을 생각할 수 있습니다. 다음 표는 암호화된 암호를 생성하는 데 사용되는 알고리즘을 보여줍니다.
|
알고리즘 선택 구성에 대한 자세한 내용은 policy.conf(4) 매뉴얼 페이지를 참조하십시오. 암호 암호화 알고리즘을 지정하려면 기본 암호 보안 처리 알고리즘 변경(작업)을 참조하십시오.
root 계정은 여러 특수 시스템 계정 중 하나입니다. 이러한 계정 중에서 root 계정만 암호가 지정되고 로그인할 수 있습니다. nuucp 계정은 파일 전송을 위해 로그인할 수 있습니다. 기타 시스템 계정은 root의 전체 권한을 사용하지 않고 파일을 보호하거나 관리 프로세스를 실행합니다.
주의 - 시스템 계정의 암호 설정은 변경하지 마십시오. Oracle Solaris의 시스템 계정은 안전한 보안 상태로 전달됩니다. |
다음 표는 몇 가지 시스템 계정 및 사용을 나열합니다. 시스템 계정은 특수한 기능을 수행합니다. 각 계정은 100보다 작은 UID를 가집니다.
표 2-2 시스템 계정 및 사용
|
원격 로그인은 침입자를 위한 공격 경로가 될 수 있습니다. Oracle Solaris는 원격 로그인을 모니터, 제한 및 사용 안함으로 설정할 수 있는 여러 가지 명령을 제공합니다. 절차는 로그인 및 암호 보안(작업 맵)을 참조하십시오.
기본적으로 원격 로그인은 시스템 마우스, 키보드, 프레임 버퍼, 오디오 장치 등과 같은 특정 시스템 장치에 대한 제어 권한을 얻거나 읽을 수 없습니다. 자세한 내용은 logindevperm(4) 매뉴얼 페이지를 참조하십시오.