Lexmark 인쇄 관리 인증

LPM 서버에는 다음과 같은 보안 정책을 적용하는 것이 좋습니다.

참고: 일부 제한 사항이 LPM과 충돌할 수 있습니다. 예를 들어 특정 디렉터리에 대해 바이러스 검사를 수행할 경우 파일 경합 문제가 발생할 수 있습니다. 새로운 정책이 LPM과 충돌하지 않도록 하려면 적용하기 전에 각 정책을 검토하십시오.

바이러스 백신 정책 요구 사항, 권장 사항

필수 바이러스 백신 정책

권장 바이러스 백신 정책

사용량이 적은 시간에 모든 Lexmark 서버에서 다음을 실행합니다.

httpd.conf 파일을 사용하여 Apache 구성

  1. 컴퓨터에서 <install-Dir>\Solutions\Apache2\conf 폴더로 이동합니다. 여기서 <install-Dir> 는 Apache의 설치 폴더입니다.

  2. 텍스트 편집기를 사용하여 다음 중 일부를 구성합니다.

    참고:

    • 일부 지시문은 기본적으로 표시되지 않거나 비활성화되어 있습니다.
    • 자세한 내용은 Apache 웹 사이트를 참조하십시오.

    취약점

    지시문

    HTTP 응답에 대한 웹 서버 응답 헤더에는 다음이 포함될 수 있습니다.

    • 웹 서버 유형, 버전

    • 운영 체제와 버전

    • 연결된 포트

    • 컴파일에 포함된 모듈

    ServerTokens 지시문을 Prod 로 설정하고 ServerSignature 지시문을 Off로 설정합니다.

    설명서, 샘플 코드, 응용 프로그램, 자습서와 같은 다른 파일은 방해가 될 수 있습니다.

    참고: 샘플 파일 목록은 소프트웨어 버전에 따라 달라질 수 있습니다.

    다음 샘플 코드 및 설명서 항목을 제거합니다.

    • <install-Dir>/apache2/manual/*.*

    • <install-Dir>/apache2/conf/extra/*.*

    • <install-Dir>/apache2/cgi-bin/printenv

    • <install-Dir>/apache2/cgi-bin/test-cgi

    여기서 <install-Dir> 는 Apache의 설치 폴더입니다.

    서비스 거부 공격을 완화하려면 시간 초과를 지정합니다.

    참고: 필요한 경우 각 서버에 대해 이러한 설정을 조정합니다.

    다음을 수행합니다.

    • Timeout 지시문을 300 이하로 설정합니다.

    • KeepAlive 지시문을 On으로 설정합니다.

    • KeepAliveTimeout15 이하로 설정합니다.

    CGI 스크립트는 웹 서버에서 가장 많이 악용되는 취약점 중 하나입니다.

    다음 방법을 사용하여 Apache에서 CGI 스크립트를 실행합니다.

    • ScriptAlias(스크립트 별칭)-디렉토리의 모든 내용을 CGI 스크립트로 읽도록 서버를 구성합니다.

    • OptionsAddHandler 또는 SetHandler 지시문의 조합-옵션Handler 지시문을 조합하여 사용하면 스크립트를 중앙에서 관리하는 능력이 사라지고 웹 서버에서 취약성이 발생합니다. ScriptAlias 지시문을 사용하여 스크립트를 관리하는 것이 좋습니다.

    주석 처리되지 않은 다음 지시어를 검색합니다.

    • SetHandler

    • AddHandler

    • 옵션

    SetHandlerAddHandler 지시문의 모든 인스턴스에 대해 해당 지시문이 CGI 스크립트를 허용하는지 판단하려면 웹 관리자에게 문의합니다.

    CGI 스크립트가 SetHandler 또는 AddHandler 지시문에 사용되면 CGI 스크립트가 허용되는 것입니다.

    +ExecCGI 또는 ExecCGI를 사용하는 Options의 모든 인스턴스의 경우 CGI 스크립트가 허용됩니다.

    Options 지시문이 -ExecCGI 와 함께 있으면 CGI 스크립트가 허용되지 않는 것입니다.

    이 값이 없고 Options 구문이 None 으로 설정되어 있지 않으면 CGI 스크립트가 허용되는 것입니다.

    ScriptAlias 디렉토리에서 스크립트를 검색한 후 적절한 기호를 추가하여 ExecCGI를 비활성화하거나 Options 지시문을 None으로 설정합니다.

    Options 지시문은 특정 디렉토리에서 사용할 수 있는 웹 서버 기능을 구성합니다.

    FollowSymLinks 기능은 기호 이름을 사용하여 파일이나 디렉토리를 참조할 수 있으므로, 기호가 중요한 데이터에 연결되어 있을 때 잠재적인 위험이 발생할 수 있습니다.

    includesNoOEXEC 기능은 서버측 includes를 활성화하지만 exec 명령을 비활성화하여 악성 코드의 실행을 방지합니다.

    Multiviews 기능은 탐색용으로 사용되지 않는 디렉토리에서 사용 가능한 모든 파일에 응답할 수 있습니다.

    URL이 DirectoryIndex(index.html) 없이 하나의 디렉토리에 매핑되면 탐색용으로 사용되지 않는 디렉토리 목록이 반환될 수 있습니다.

    모든 Options 지시문을 다음과 같이 따로 설정합니다.

    • -FollowSymLinks

    • -includes, -includesNOEXEC, 또는 +includesNOEXEC

    • -MultiViews

    • -indexes

    참고: Options 지시문을 None으로 설정하면 모든 추가 기능이 비활성화됩니다.

    다음 지시문은 허용되는 데이터의 양을 제한하여 버퍼 오버플로우와 서비스 거부 공격을 완화합니다.

    • LimitRequestBody 지시문을 사용하면 HTTP 요청 메시지 본문의 허용 크기를 제한 설정할 수 있습니다.

    • LimitRequestFields 지시문을 사용하면 요청 헤더 필드 수를 제한할 수 있습니다.

    • LimitRequestFieldSize 지시문을 사용하면 HTTP 요청 헤더 필드의 허용 크기를 제한을 설정할 수 있습니다.

    • LimitRequestLine 지시문을 사용하면 클라이언트의 HTTP 요청 라인에 허용되는 크기를 제한 설정할 수 있습니다.

    참고: 오류가 발생하면 각 서버에 대해 이러한 값을 조정합니다.

    다음을 수행합니다.

    • LimitRequestBody 지시문을 0보다 큰 아무 수로 지정합니다.

    • LimitRequestFields 지시문은 0보다 큰 아무 수로 지정합니다.

    • LimitRequestFieldSize 지시문을 8190로 지정합니다.

    • LimitRequestLine 지시문을 8190으로 지정합니다.

    참고: 이러한 값들 중 일부는 기본 값이지만 반드시 명시적으로 설정되어야 합니다.

    웹 서버는 모듈을 사용하여 기능을 활용합니다. 활성화된 모듈을 필수 모듈로 최소화하면 취약성을 줄일 수 있습니다.

    Apache 프록시 모듈은 서버가 HTTP와 기타 프로토콜의 정방향 또는 역방향 프록시로 작동하도록 합니다.

    로딩된 모듈의 목록을 표시하려면 다음을 수행합니다.

    1. 컴퓨터에서 명령 프롬프트를 엽니다.

    2. 다음 위치로 이동합니다. <install-Dir>/apache2/bin/ 폴더로 이동합니다. 여기서 <install-Dir> 는 Apache의 설치 폴더입니다.

    3. httpd -M 명령을 실행합니다.

    다음 모듈은 필수 핵심 Apache 모듈입니다.

    • core_module

    • win32_module

    • mpm_winnt_module

    • http_module

    • so_module

    프록시 요청을 보내는 웹 서버를 스캔하는 것은 일반적인 공격입니다. 프록시 서버는 다른 서버에 대한 공격을 익명화하거나 보호된 네트워크로 프록시 요청을 보낼 수 있습니다.

    다음 모듈은 Apache 프록시 모듈이며 LPM에 필요하지 않습니다.

    • proxy_module

    • proxy_ajp_module

    • proxy_balancer_module

    • proxy_ftp_module

    • proxy_http_module

    • proxy_connect_module

    UserDir 지시문을 비활성화하여 사용자 홈 디렉토리에 액세스하지 못하게 합니다.

    userdir_module

    웹 서버에 고유한 콘텐츠를 사용하여 웹 서버의 유형과 버전을 식별할 수 있습니다.

    다양한 콘텐츠에 대한 액세스를 비활성화하여 공격을 완화할 수 있습니다.

    autoindex_module

    LPM에 필요하지 않은 모듈을 비활성화하려면 httpd.conf 파일에서 #을 해당 모듈 앞에 추가합니다.

    웹 서버의 루트에 대한 액세스를 보호해야 합니다.

    • Apache의 Directory 지시문을 사용하면 디렉토리별 구성이 가능합니다. 운영 체제의 루트 디렉토리에 대한 액세스를 허용하지 않는 기본적인 거부 정책을 만듭니다.

    • Apache의 Options 지시문을 사용하여 권한이 활성화될 수 있는 루트 디렉토리에 대해 기본적인 최소 옵션 정책을 만듭니다.

    • Apache의 OverRide 지시문을 사용하여 .htaccess 파일이 변경 가능한 이전 구성 지시문을 지정하도록 합니다.

    참고: authz_core_module은 모두 거부 지시문을 사용합니다.

    루트의 Directory 지시문(<Directory />)을 각각 다음과 같이 설정합니다.

    • Order deny,allow

    • Deny from all

    • Options None

    • AllowOverride None

    이러한 루트 디렉토리 항목이 없으면 추가하십시오.

    TRACE 방법은 필요하지 않으며 비활성화해야 합니다.

    TraceEnable 지시문을 Off로 설정합니다.

    이 지시문이 없으면 추가합니다.

    Apache의 Listen 지시문은 Apache 웹 서버가 요청을 수신하는 IP 주소와 포트 번호를 지정합니다. 서버가 예상되는 주소와 포트 번호만 수신하도록 구성합니다.

    Listen 지시문에 대해 IP 주소와 포트 번호를 지정합니다.

    ScriptAlias 지시문은 Apache 서버가 어떤 디렉토리에 스크립트가 있는 것으로 인식하는지 명시합니다. 이 지시문이 실제 파일 시스템 경로와 다른 URL 경로 이름을 사용하는 경우 스크립트 소스 코드가 노출될 수 있습니다.

    URL-pathScriptAlias 지시문의 file-path/directy-path가 일치하는지 확인합니다.

    올바른 경로의 예

    ScriptAlias/cgi-bin/<install-Dir>/cgi-bin/ 여기서 <install-Dir> 는 Apache의 설치 폴더입니다.

    잘못된 경로의 예

    ScriptAlias/script-cgi-bin/<install-Dir>/cgi-bin/ 여기서 <install-Dir> 는 Apache의 설치 폴더입니다.

    PUT, DELETE와 같은 HTTP 요청 메서드는 리소스를 수정하지만 LPM이 작동하는 데는 필요하지 않습니다. 따라서 이러한 메서드를 비활성화합니다.

    root를 제외한 각 Directory 지시문에 대해 다음을 설정합니다.

    Order allow,deny

    <LimitExcept GET POST OPTIONS> Deny from all </LimitExcept>


  3. 파일을 저장합니다.

  4. Apache 서비스를 다시 시작합니다.

참고: WebDAV, Apache의 mod_info, mod_status modules과 같은 일반적인 일부 보안 관련 구성은 LPM 또는 LDD와 충돌할 수 있습니다.

지원되는 포트 번호와 프로토콜

방화벽이 다음 포트 번호와 프로토콜을 허용하는지 확인합니다.

구성 요소

포트 번호

프로토콜

구성

기능

데이터베이스(Firebird)

3050

TCP

응용 프로그램 서버-데이터베이스

데이터베이스 통신

8001

TCP

응용 프로그램 서버 및 부하 분산 장치-데이터베이스 서버

에이전트 백업, 복구

부하 분산 장치

443

TCP

열기

부하 분산 장치 HTTPS TLS 통신(Lexmark Management Console 포함)

9700

TCP

열기

  • e-Task 프린터에 프로필 제출

  • 웹 어댑터(JMX)

9705

TCP

응용 프로그램 서버-부하 분산 장치

Apache 에이전트

9780

TCP

열기

Lexmark Management Console을 포함한 부하 분산 장치 통신

9783

TCP

열기

부하 분산 장치 HTTPS TLS 통신(Lexmark Management Console 포함)

서버

4111

TCP

응용 프로그램 서버-응용 프로그램 서버

JMX

5111

TCP

응용 프로그램 서버-응용 프로그램 서버

RMI

8009

TCP

부하 분산 장치-Tomcat

AJP와 Tomcat 커넥터(부하 분산 장치 작업자)

9743

TCP

열기

프린터 또는 클라이언트 소프트웨어에서 서버로 HTTPS TLS 프로필 작업 전송(Lexmark Management Console 포함)

9788

TCP

열기

프린터 또는 클라이언트 소프트웨어에서 서버로 프로필 작업 제출(Lexmark Management Console 포함)

프린터

79

TCP

Finger

161

UDP

  • SNMP

  • 프린터 검색

5000

TCP

  • 정책 업데이트

  • ObjectStore 일반 텍스트 통신

5353

UDP

멀티캐스트 DNS

6000

UDP

  • 프린터 검색

  • XML 프로토콜을 이용한 ObjectStore 통신

6100

UDP

  • 프린터 검색

  • 정책 업데이트

  • Lexmark 보안 전송(LST) 암호화 데이터

6110

TCP

  • 프린터 검색

  • 정책 업데이트

  • LST 인증, 협상

9100

TCP

  • 인쇄

  • 정책 업데이트

9300

UDP

  • 프린터 검색

  • NPA 프로토콜 UDP 통신

9500

TCP

NPA 프로토콜 TCP 통신

LPM

631

TCP

열기

IPP

5672

TCP

응용 프로그램 서버-응용 프로그램 서버

ActiveMQ

9780

TCP

열기

MFPAuth1

61614

TCP

응용 프로그램 서버-응용 프로그램 서버

ActiveMQ

61616

TCP

응용 프로그램 서버-응용 프로그램 서버


LDAP와 LDAPS를 위한 표준 포트 번호

포트 번호

기능

389

LDAP 통신

636

LDAPS 통신


LPM REST API를 사용한 인증

참고: 다음 지침은 Print Management Console, 모바일 인증, Chrome 확장 인증에 적용됩니다.

토큰을 사용하여 인증

LPM REST API 토큰은 리소스를 보호하기 위해 JSON 웹 토큰을 사용하여 액세스 클레임을 확인합니다. 인증 중에 제공된 자격 증명에 따라 REST 서비스는 관리자 또는 사용자 토큰을 발행할 수 있습니다.

참고: 사용자 토큰은 제한적으로 리소스에 액세스할 수 있습니다.

기본적으로 토큰 유효성은 30분입니다. 만료 시간을 업데이트하려면 다음을 수행합니다.

  1. 컴퓨터에서 <install-Dir>\Lexmark\Solutions\apps\idm\WEB-INF\classes 폴더로 이동합니다. 여기서 <install-Dir> 는 LDD의 설치 폴더입니다.

  2. 텍스트 편집기를 사용하여 idm-production-config.properties 파일을 엽니다.

  3. idm.token.expirationInMinutes에 대한 값을 지정합니다.

  4. 파일을 저장합니다.

hashid로 인증

보안 없이 개체에 대한 직접 참조의 취약점을 해결하기 위해 LPM REST API 서비스는 hashid가 있는 모든 리소스 ID를 마스킹합니다. 이 메서드는 인터페이스가 외부 개체에 dbid 참조가 노출되지 않도록 합니다.

hashid 알고리즘은 키 구문 또는 솔트를 사용하여 해시 ID 값을 계산하고 생성합니다. 솔트 값을 변경하면 다른 해시 ID가 계산됩니다.

기본 솔트 값을 변경하려면 다음을 수행합니다.

  1. 컴퓨터에서 <install-Dir>\Lexmark\Solutions\apps\lpm\WEB-INF\classes 폴더로 이동합니다. 여기서 <install-Dir> 는 LDD의 설치 폴더입니다.

  2. 텍스트 편집기를 사용하여 app-production-config.properties 파일을 엽니다.

  3. hashids.salt에 대한 값을 지정합니다.

  4. 파일을 저장합니다.

참고: 엔터프라이즈 설정을 사용하는 경우 모든 응용 프로그램 서버의 솔트 값이 동일한지 확인하십시오.