"아이플래닛"의 두 판 사이의 차이
(→등장배경) |
|||
(사용자 2명의 중간 판 14개는 보이지 않습니다) | |||
2번째 줄: | 2번째 줄: | ||
[[파일:아이플래닛 글자.png|썸네일|300픽셀|'''아이플래닛'''(iPlanet)]] | [[파일:아이플래닛 글자.png|썸네일|300픽셀|'''아이플래닛'''(iPlanet)]] | ||
− | '''아이플래닛'''(iPlanet)은 미국 [[오라클 (회사)|오라클]] 회사가 제공하는 [[웹서버]] 제품이다. 미국 [[썬 마이크로시스템즈]]가 개발했고, '''썬원'''(SUN one)으로 불리기도 했다. 2010년 오라클에 인수되었다. | + | '''아이플래닛'''(iPlanet)은 미국 [[오라클 (회사)|오라클]] 회사가 제공하는 [[웹서버]](Web server) 제품이다. 미국 [[썬 마이크로시스템즈]]가 개발했고, '''썬원'''(SUN one)으로 불리기도 했다. 2010년 오라클에 인수되었다. |
==개요== | ==개요== | ||
− | 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 가장 널리 사용되고 대규모 사이트에서 이미 입증된 상용의 가장 빠른 성능의 웹 서버이다. Oracle iPlanet Web Server는 GUI 기반의 관리 | + | [[오라클]] 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 가장 널리 사용되고 대규모 사이트에서 이미 입증된 상용의 가장 빠른 성능의 웹 서버이다. Oracle iPlanet Web Server는 지유아이(GUI) 기반의 관리 도구(tool)를 통해 다수의 인스턴스 관리 및 구성을 편리하게 수행하도록 하며, 클러스터링(Clustering) 기능을 통한 확장성 및 [[페일 오버]]를 제공함으로써 대규모 웹 시스템에 최적화된 환경을 제공한다. 또한 고성능의 풍부한 확장성을 제공하는 웹서버 [[소프트웨어]]로 대규모 웹 사이트 관리 및 전사적 웹 응용 프로그램의 개발 및 운용을 위한 이상적인 플랫폼을 제공한다. 인트라넷, 익스트라넷, 인터넷에서의 비즈니스 그리고 중대한 정보 및 응용 프로그램의 전초적인 게이트웨이 역할을 하는 오라클 아이플래닛 웹 서버는 대규모 사용자의 방문을 [[호스팅]] 하는 웹 사이트 구축에 필요한 성능 및 확장성을 제공하며, 또한 전사적 관리성과 보안을 위해 사이트 생성과 관리 서비스를 통합하며, 강력한 응용 프로그램 서버 통합 기능을 제공한다.<ref> 두준두준, 〈[https://m.blog.naver.com/PostView.nhn?blogId=kpop4472&logNo=220965347468&categoryNo=11&proxyReferer=https:%2F%2Fwww.google.com%2F Iplanet Web Server]〉, 《네이버 블로그》, 2017-03-23</ref> |
− | == | + | ==로드맵== |
− | + | *1994년 03월 05일 : 넷 사이트(Net site) 출시 | |
− | + | *1996년 03월 05일 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 2.0 출시 | |
− | + | *1996 년 11월 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 2.0.1 출시 | |
− | + | *1997 년 06월 :넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.0 , 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.0.1 출시 | |
− | + | *1998 년 02월 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.5 , 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.5.1 출시 | |
− | + | *1999 년 01월 11일 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.6 ~ 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.6 SP3 출시 | |
− | + | *1999년 09월 : 아이플래닛 웹 서버(iPlanet Web Server) 4.0 ~ 아이플래닛 웹 서버(iPlanet Web Server) 4.1 SP9 출시 | |
− | + | *2001년 11월 19일 : 아이플래닛 웹 서버(iPlanet Web Server) 6.0 ~ 아이플래닛 웹 서버(iPlanet Web Server) 6.0 SP2 출시 | |
− | + | *2004년 : 썬 원 웹 서버(Sun ONE Web Server) 6.0 SP3 ~ 썬 자바 시스템 웹 서버(Sun Java System Web Server) 6.1 SP13 출시 | |
− | + | *2006냔 12월 : 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 6.1 SP14 ~ 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 6.1 SP21 출시 | |
− | + | *2011 07월 07일 : 썬 자바 시스템 웹 서버(Sun Java System Web Server) 7.0 ~ 썬 자바 시스템 웹 서버(Sun Java System Web Server) 7.0 업데이트 8 출시 | |
− | + | *2018년 03월 : 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 7.0.9 ~ 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 7.0.27 출시 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==특징== | ==특징== | ||
− | + | *'''오라클 아이플래닛 프락시 서버'''(Oracle iPlanet Proxy Server, Java System Web Proxy Server) | |
− | + | :캐싱 및 필터링을 위한 고성능 서버 소프트웨어이다. 전자 상거래 솔루션, 기업 고객 또는 인터넷 서비스 제공 업체를 위한 웹 콘텐츠이기도 하다. 자주 액세스하는 문서를 지능적으로 캐싱하여 주문형 캐싱을 제공한다. 이 복제 모델은 네트워크 대역폭과 클라이언트 응답 시간을 줄인다. 오라클 아이플래닛 프락시 서버도 네트워크 관리자가 네트워크 자원 사용에 대한 세밀한 제어를 유지할 수 있다. 사용자 또는 문서별로 특정 사이트에 대한 액세스를 차단한다. 네트워크 정체 및 응답 시간이 느리고 [[네트워크]](Network) 자원을 제어 할 수 있다. 최종 사용자 나 네트워크 관리자에게 부담을 주진 않는다.<ref> 오라클 아이플래넷 프락시 서버 4.0에 대한 FAQ 백서 - https://www.oracle.com/technetwork/middleware/webtier/faq-131572.pdf </ref> | |
+ | ===관련 용어=== | ||
+ | *'''[[오라클]]'''(ORACLE) : 오라클(Oracle Corporation)은 미국 캘리포니아주에 본사를 둔 매출 규모 세계 2위의 소프트웨어 회사이다. 이 회사의 대표적인 제품인 데이터베이스 제품, 오라클 데이터베이스 관리 시스템(DBMS)은 세계 최고의 점유율을 차지하고 있다. 2014년 오라클은 마이크로소프트에 이어 소득 기준으로 2번째로 큰 소프트웨어 제조사였다. 2009년 4월 20일, 오라클은 자사가 세계 4대 컴퓨터 서버 업체인 미국 썬마이크로시스템즈를 74억 달러(약 10조 원)에 인수했다는 것을 발표했다.<ref> 오라클(기업) 위키백과 - https://ko.wikipedia.org/wiki/%EC%98%A4%EB%9D%BC%ED%81%B4_(%EA%B8%B0%EC%97%85)</ref> | ||
+ | |||
+ | *'''[[웹티어]]'''(Web Tier) : 시스템 아키텍처를 구성하는 서버들 간의 층을 말한다. 2티어(2-tier) 시스템은 웹 서버와 데이터베이스(DB) 서버의 두 개 층으로 구성하고, 3티어(3-tier) 시스템은 웹 서버, 더블유에이에스(WAS) 서버, DB 서버의 세 개 층으로 구성한다. N티어(N-tier)로 확장될 수 있다.<ref name='가'> chuckcom, 〈[https://m.blog.naver.com/PostView.nhn?blogId=chuck2013&logNo=220835462994&proxyReferer=https:%2F%2Fwww.google.com%2F it용어 #시스템소프트웨어관련 아이티공부]〉, 《네이버 블로그》, 2016-10-13</ref> | ||
+ | |||
+ | *'''[[아파치]]'''(Apache) : 리눅스 기반의 무료 오픈 소스 웹 서버 프로그램이다. 아파치 재단에서 관리하고 있다. 아파치는. 미국 인디언 부족인 아파치족을 존경하는 의미를 담아서 만든 말이다. 로고는 아파치족이 머리에 꽂는 깃털이다.<ref name="가"></ref> | ||
+ | |||
+ | *'''[[웹 서버]]'''(Web server) : 웹 페이지가 들어 있는 파일을 사용자에게 제공하는 프로그램이다. 시스템 소프트웨어의 일종이다. 세계 최초의 웹 서버는 1990년 팀 버너스 리(Tim Berners-Lee)가 만들었다.<ref name="가"></ref> | ||
+ | |||
+ | *'''[[인터베이스]]'''(Interbase) : 미국 엠바카데로 테크놀로지스(Embarcadero Technologies)가 관리하는 관계형 데이터베이스 관리 시스템(RDBMS)이다. 용량이 40 메가바이트(MB)로 매우 작고 관리자가 거의 필요 없는 편리한 RDBMS이다. 리눅스, 윈도우, 안드로이드, 아이오에스 등 다양한 환경에서 작동한다. 인터베이스를 기반으로 오픈소스 무료 RDBMS인 파이어버드(Firebird) 가 만들어졌다.<ref name="가"></ref> | ||
+ | |||
+ | ===프로세스=== | ||
+ | ;단일 프로세스 | ||
+ | 서버는 웹 클라이언트에서 단일 프로세스(Process)로 요청을 받는다. 단일 서버 프로세스 내에서 새 요청이 도착하기 기다리는 승인자 스레드(thread)가 실행 중이다. 요청이 도착하면 승인자 스레드가 연결을 수락하고 요청을 연결 큐에 넣는다. 요청 처리 스레드는 연결 큐에서 요청을 선택하고 요청을 처리한다. 서버는 다중 스레드이므로 서버에 기록된 모든 엔에스에이피아이(NSAPI) 확장은 스레드로부터 안전해야 한다. 이는 NSAPI 확장이 파일 또는 전역 변수에 대한 공유 참조와 같은 전역 자원을 사용하는 경우 한 번에 스레드 안전 및 스레드 인식 기능을 갖추고 있어 뛰어난 확장성과 동시성을 제공한다. 그러나 레거시 응용 프로그램은 단일 스레드일 수 있다. 서버가 응용 프로그램을 실행하면 한 번에 하나만 실행할 수 있다.<ref name='나'> 오라클 공식 홈페이지 - https://docs.oracle.com/cd/E19146-01/821-1834/abyaw/index.html</ref> | ||
+ | |||
+ | ;다중 프로세스 | ||
+ | 여러 프로세스가 있는 여러 프로세스(Process)를 사용하여 요청을 처리하도록 각 프로세스의 스레드 서버를 구성 할 수 있다. 이 유연성은 스레드를 사용하는 사이트에 최고의 성능을 제공하며 스레드 환경에서 실행할 준비가 되지 않은 레거시 응용 프로그램을 실행하는 사이트와의 호환성을 제공한다. 위도우(Windows)의 응용 프로그램은 일반적으로 이미 다중 스레드 고려사항을 이용하므로 이 기능은 유닉스(Unix) 및 리눅스(Linux) 플랫폼에 적용된다. 다중 프로세스의 장점은 스레드를 인식하거나 스레드로부터 안전하지 않은 레거시 응용 프로그램을 웹 서버(Web server)에서 보다 효과적으로 실행할 수 있다는 것이다. 그러나 모든 웹 서버 확장은 단일 프로세스 스레드 환경을 지원하도록 구축되었으므로 다중 프로세스 모드에서 실행되지 않을 수 있다. 서버가 다중 프로세스 모드 인 경우 시작 시 검색 플러그인이 실패하고 세션 복제가 사용 가능한 경우 서버가 다중 프로세스 모드에서 시작되지 않는다. 다중 프로세스 모드에서 서버는 시작 시 여러 서버 프로세스를 생성한다. 구성에 따라간 프로세스에는 수신 요청을 수신하는 하나 이상의 스레드가 포함된다. 각 프로세스는 완전히 독립적이므로 각 글로벌 변수, 캐시 및 기타 자원 사본이 있다. 여러 프로세스를 사용하려면 시스템에서 더 많은 자원이 필요하다. 또한 공유 상태가 필요한 응용 프로그램을 설치할려면 여러 프로세스에서 해당 상태를 동기화해야 한다.<ref name="나"></ref> | ||
+ | |||
+ | ;구조 | ||
+ | [[파일:프로세스 구조.png|썸네일|400픽셀|프로세스 구조]] | ||
+ | [[파일:요청처리 절차.png|썸네일|400픽셀|요청처리 절차]] | ||
+ | [[파일:오라클 아이플래닛 웹 서버 특징.png|썸네일|400픽셀|오라클 아이플래닛 웹 서버 특징]] | ||
+ | |||
+ | 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 개방형 표준을 기반으로 구축된 복수 프로세스, 복수 스레드(thread) 보안 웹 서버로서 모든 규모의 기업을 위하여 높은 성능, 신뢰도, 확장성 및 관리 용이성을 제공한다. 또한 멀티 프로세스 모드와 자동 페일 오버 기능을 통해 프로세스가 다운되어도 서버에 대한 요청이 처리될 수 있도록 해주며 관리자의 개입 없이도 실패한 프로세스를 자동으로 재시작시켜줌으로써 최대한의 가동 시간을 유지할 수 있도록 한다.<ref name='다'> WLS/Admin, 〈[https://boeok.tistory.com/entry/2-Web-Tier 2. Web Tier]〉, 《티스토리》, 2013-08-20</ref> | ||
+ | |||
+ | *'''멀티 스레드, 멀티 프로세스 아키텍쳐''' | ||
+ | :오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 멀티 프로세스, 멀티 스레드 아키텍처 지원 및 유엑스더블유디오지(Uxwdog)데몬을 통한 프로세스 모니터와 같은 기능을 통해 뛰어난 성능과 동시에 높은 기용 성을 보증한다.<ref name="다"></ref> | ||
+ | |||
+ | *'''Uxwdog데몬''' | ||
+ | :페일 오버(Fail over) 기능은 응용 프로그램이 실패한 경우에도 프로세스가 가동상태로 유지되도록 하며 관리자의 개입 없이도 다운된 프로세스가 자동으로 재시작할 수 있도록 한다.<ref name="다"></ref> | ||
+ | |||
+ | *'''웹 기반의 관리 서버''' | ||
+ | :관리자는 웹 기반의 관리 서버를 통해 원격지에서도 웹서버 구성 전반에 대해 관리 및 모니터링을 수행할 수 있으며, 엘디에이피(LDAP)서버와의 연동을 통해 사용자 및 그룹 정보를 중앙에서 관리, 제어할 수 있다.<ref name="다"></ref> | ||
+ | |||
+ | ;절차 | ||
+ | #서버가 요청을 처리하기 전 에이치티티피 리스너(HTTP Listener)에서 해당 요청을 수락한다. | ||
+ | #각 HTTP Listener는 다수의 수락자(Acceptor) 스레드를 가지는데 이는 서버의 다수의 프로세스에 대응한다. 이 Acceptor 스레드가 HTTP Listener로부터 요청을 받아서 처리를 위해 큐(Queue)에 넣는다. | ||
+ | #요청이 도달하면 Acceptor 스레드가 해당 요청을 연결 큐(Connection Queue)에 추가한다. | ||
+ | #큐잉된 요청은 일하는(Worker) 스레드에 의해 추출되어 요청 처리가 수행되고 서버(Sever).xml에 정의된 정보를 기반으로 가상 서버(Virtual server)가 선택된다. | ||
+ | #실제 요청을 처리하기 위해 오비제이.콘푸(obj.conf) 파일이 사용되고, 응답이 클라이언트(client)에 보내진다. | ||
+ | |||
+ | ===장점 및 단점=== | ||
+ | ;장점 | ||
+ | 아이플래닛은 가상 서버 제어, 작업에 대한 빠른 [[액세스]] 및 [[브라우저]] 또는 명령한 줄에서 통합 [[클러스터]] 관리와 명령 줄 [[인터페이스]] 는 포괄적이고, 안전하고 스크립트 가능하면서 원격을 운영한다. 재시작을 하기 위해서는 프로세스 없이 대부분의 관리 작업을 적용 할 수 있다. 패턴을 기반으로 다양한 요청 처리를 제공도 하고, 수많은 환경 변수, 복잡한 응용 프로그램의 마스킹 [[유알아이]](URI) 및 간단한 대량[[호스팅]]도 제공한다. 고성능 [[프로세스]] 내 자바(Java) EE 5도 제공하고 자바 서브릿(Java Servlets) 2.5, JSP 2.1등 호환도 구현한다. Java 컨테이너는 간단한 세션 복제 및 장애 조치를 클러스터 내 메모리 내 보안 지속성을 통해 제공한다. 관리자가 대역폭을 절약하고 웹 사이트를 개선할 수 있는 특징도 있다. 또한 단일 자바 시스템 웹(Java system web)에서 수천 개의 도메인을 제공 할 수 있다. 각 가상 서버는 고유한 IP(ip address)주소, 포트, 문서 루트, 로그 파일 등 광범위한 가상화로 많은 사람을 효율적으로 대량 호스팅할 수 있고 각 도메인을 광범위하게 사용자 정의한 도메인으로 가상 서버를 지원도 한다. 내장된 에스이디(sed) 필터를 통해 개발자와 관리자가 요청 및 응답을 수정하는 익숙한 구문 사용, 크로스 사이트를 포함한 일반적인 공격으로부터 보호하는 특징도 있다. 마지막으로 데이터를 암호화하여 고급 엑세스 제어 목록으로 자원을 보호할 수 있다. | ||
+ | |||
+ | 유연한 스키마를 지원하는 내장 엘디에이피(LDAP), 에스에스엘(SSL) v2 & v3, 티엘에스(TLS) 1.0 및 타원 곡선을 암호화하여 안전하고, 최대 4k의 SSL 키 크기를 사용할 수 있으며 자체 서명된 인증서가 쉽게 생성되고, 솔라리스 10 암호체계(Solaris 10 Cryptographic Framework)와의 통합으로 나이아가라 암호 체계(Niagara Cryptographic Framework)와 같은 기능을 하여 씨알엘(CRL)의 동적 업데이트를 통해 피케이아이(PKI) 관리를 결합 할 수 있다. 웹 서버(Web Server)가 모든 사용자 사이의 에이치티티피(HTTP) 끝점으로 작동 할 수 있고, 외부에서 타사 기술을 사용하는 효율적인 방법을 제공한다. 성능이 크게 저하되거나 서버가 희생되는 경우 안정을 위해 패스트씨지아이(FastCGI)는 일반적으로 타사 코드를 실행하지 않고 사용한다. 그리고 내장된 검색 엔진을 사용하면 로컬로 저장된 공통 문서 유형을 쉽게 색인을 생성하고 검색 할 수 있다. 웹서버(Web server)가 64비트(bit) Java 컨테이너를 포함한 최신 서버 환경에서 모든 알에이엠(RAM)을 활용할 수 있는 프로세스 내 파일 캐시 사용 가능 및 에스에스엘(SSL) 최적화하면, 사용 가능한 리소스를 최대한 활용할 수 있게 한다.<ref> 특징과 장점 백서 - https://www.oracle.com/technetwork/middleware/webtier/featuresandbenefits-1-134420.pdf </ref> | ||
+ | ;단점 | ||
+ | CVE-2020-9315 및 CVE-2020-9314로 추적된 해당 취약점을 공격자가 악용할 경우 민감 데이터 노출 및 제한된 인젝션 공격을 수행할 수 있다. 해당 취약점들은 2020년 1월 19일에 나이트워치 사이버보안(Nightwatch Cybersecurity) 연구원들에 의해 기업용 서버 관리 시스템의 웹 관리 콘솔에서 발견되었다. 첫 번째 취약점(CVE-2020-9315)을 악용하면 인증 없이 타깃 페이지의 관리 GUI URL을 변경하는 것만으로도 콘솔 내 모든 페이지에 대한 읽기 작업을 수행할 수 있다. 연구원들은 해당 결함을 악용할 경우 구성 정보, 암호화 키 등을 포함한 중요 정보를 유출시킬 수 있습니다고 설명했다. 두 번째 취약점(CVE-2020-9314)은 콘솔의 "productNameSrc" 파라미터에서 발견되었으며, XSS 유효성 검사 문제를 포함하는 보안 취약점 CVE-2012-0516에 대한 불완전 패치를 통해 해당 파라미터를 악용할 수 있다. 이때 피싱과 소셜 엔지니어링 목적으로 도메인에 이미지를 삽입하기 위해 "productName높이(Height)" 및 "productName넓이(Width)" 파라미터를 함께 사용한다. 오라클 아이플래닛(Oracle iPlanet) 웹 서버 7.0.x 버전은 해당 결함에 취약하지만, 이전 버전의 애플리케이션들이 영향을 받는지는 아직 확인되지 않았다. 연구원들의 설명에 따르면, 오라클 글래스피쉬(Oracle Glassfish) 및 이클립스 글래스피쉬(Eclipse Glassfish) 최신 버전은 아이플래닛(iPlanet)과 코드가 동일하긴 하나 취약한 것으로 보이지는 않다. Oracle iPlanet 웹 서버 7.0.x는 레거시 제품이며 더 이상 오라클(Oracle)에서 지원되지 않는다. 그러므로 해당 취약점들에 대한 패치 계획도 없다.<ref> 알약(Alyac), 〈[https://blog.alyac.co.kr/2970 Oracle iPlanet 웹 서버의 정보 유출 및 피싱 취약점]〉, 《알약 블로그》, 2020-05-12</ref> | ||
+ | |||
{{각주}} | {{각주}} | ||
==참고자료== | ==참고자료== | ||
* 두준두준, 〈[https://m.blog.naver.com/PostView.nhn?blogId=kpop4472&logNo=220965347468&categoryNo=11&proxyReferer=https:%2F%2Fwww.google.com%2F Iplanet Web Server]〉, 《네이버 블로그》, 2017-03-23 | * 두준두준, 〈[https://m.blog.naver.com/PostView.nhn?blogId=kpop4472&logNo=220965347468&categoryNo=11&proxyReferer=https:%2F%2Fwww.google.com%2F Iplanet Web Server]〉, 《네이버 블로그》, 2017-03-23 | ||
− | * 알약(Alyac), 〈[https://blog.alyac.co.kr/2970 Oracle iPlanet 웹 서버의 정보 유출 및 피싱 취약점]〉, | + | * 오라클 아이플래넷 프락시 서버 4.0에 대한 FAQ 백서 - https://www.oracle.com/technetwork/middleware/webtier/faq-131572.pdf |
+ | * 오라클(기업) 위키백과 - https://ko.wikipedia.org/wiki/%EC%98%A4%EB%9D%BC%ED%81%B4_(%EA%B8%B0%EC%97%85) | ||
+ | * chuckcom, 〈[https://m.blog.naver.com/PostView.nhn?blogId=chuck2013&logNo=220835462994&proxyReferer=https:%2F%2Fwww.google.com%2F it용어 #시스템소프트웨어관련 아이티공부]〉, 《네이버 블로그》, 2016-10-13 | ||
+ | * 오라클 공식 홈페이지 - https://docs.oracle.com/cd/E19146-01/821-1834/abyaw/index.html | ||
+ | * WLS/Admin, 〈[https://boeok.tistory.com/entry/2-Web-Tier 2. Web Tier]〉, 《티스토리》, 2013-08-20 | ||
+ | * 특징과 장점 백서 - https://www.oracle.com/technetwork/middleware/webtier/featuresandbenefits-1-134420.pdf | ||
+ | * 알약(Alyac), 〈[https://blog.alyac.co.kr/2970 Oracle iPlanet 웹 서버의 정보 유출 및 피싱 취약점]〉, 《알약 블로그》, 2020-05-12 | ||
== 같이 보기 == | == 같이 보기 == | ||
* [[오라클 (회사)]] | * [[오라클 (회사)]] | ||
* [[썬 마이크로시스템즈]] | * [[썬 마이크로시스템즈]] | ||
+ | * [[웹 서버]] | ||
− | {{웹서버| | + | {{웹서버|검토 필요}} |
2020년 8월 11일 (화) 09:37 기준 최신판
아이플래닛(iPlanet)은 미국 오라클 회사가 제공하는 웹서버(Web server) 제품이다. 미국 썬 마이크로시스템즈가 개발했고, 썬원(SUN one)으로 불리기도 했다. 2010년 오라클에 인수되었다.
개요[편집]
오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 가장 널리 사용되고 대규모 사이트에서 이미 입증된 상용의 가장 빠른 성능의 웹 서버이다. Oracle iPlanet Web Server는 지유아이(GUI) 기반의 관리 도구(tool)를 통해 다수의 인스턴스 관리 및 구성을 편리하게 수행하도록 하며, 클러스터링(Clustering) 기능을 통한 확장성 및 페일 오버를 제공함으로써 대규모 웹 시스템에 최적화된 환경을 제공한다. 또한 고성능의 풍부한 확장성을 제공하는 웹서버 소프트웨어로 대규모 웹 사이트 관리 및 전사적 웹 응용 프로그램의 개발 및 운용을 위한 이상적인 플랫폼을 제공한다. 인트라넷, 익스트라넷, 인터넷에서의 비즈니스 그리고 중대한 정보 및 응용 프로그램의 전초적인 게이트웨이 역할을 하는 오라클 아이플래닛 웹 서버는 대규모 사용자의 방문을 호스팅 하는 웹 사이트 구축에 필요한 성능 및 확장성을 제공하며, 또한 전사적 관리성과 보안을 위해 사이트 생성과 관리 서비스를 통합하며, 강력한 응용 프로그램 서버 통합 기능을 제공한다.[1]
로드맵[편집]
- 1994년 03월 05일 : 넷 사이트(Net site) 출시
- 1996년 03월 05일 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 2.0 출시
- 1996 년 11월 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 2.0.1 출시
- 1997 년 06월 :넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.0 , 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.0.1 출시
- 1998 년 02월 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.5 , 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.5.1 출시
- 1999 년 01월 11일 : 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.6 ~ 넷스케이프 앤터프라이즈 서버(Netscape Enterprise Server) 3.6 SP3 출시
- 1999년 09월 : 아이플래닛 웹 서버(iPlanet Web Server) 4.0 ~ 아이플래닛 웹 서버(iPlanet Web Server) 4.1 SP9 출시
- 2001년 11월 19일 : 아이플래닛 웹 서버(iPlanet Web Server) 6.0 ~ 아이플래닛 웹 서버(iPlanet Web Server) 6.0 SP2 출시
- 2004년 : 썬 원 웹 서버(Sun ONE Web Server) 6.0 SP3 ~ 썬 자바 시스템 웹 서버(Sun Java System Web Server) 6.1 SP13 출시
- 2006냔 12월 : 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 6.1 SP14 ~ 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 6.1 SP21 출시
- 2011 07월 07일 : 썬 자바 시스템 웹 서버(Sun Java System Web Server) 7.0 ~ 썬 자바 시스템 웹 서버(Sun Java System Web Server) 7.0 업데이트 8 출시
- 2018년 03월 : 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 7.0.9 ~ 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server) 7.0.27 출시
특징[편집]
- 오라클 아이플래닛 프락시 서버(Oracle iPlanet Proxy Server, Java System Web Proxy Server)
- 캐싱 및 필터링을 위한 고성능 서버 소프트웨어이다. 전자 상거래 솔루션, 기업 고객 또는 인터넷 서비스 제공 업체를 위한 웹 콘텐츠이기도 하다. 자주 액세스하는 문서를 지능적으로 캐싱하여 주문형 캐싱을 제공한다. 이 복제 모델은 네트워크 대역폭과 클라이언트 응답 시간을 줄인다. 오라클 아이플래닛 프락시 서버도 네트워크 관리자가 네트워크 자원 사용에 대한 세밀한 제어를 유지할 수 있다. 사용자 또는 문서별로 특정 사이트에 대한 액세스를 차단한다. 네트워크 정체 및 응답 시간이 느리고 네트워크(Network) 자원을 제어 할 수 있다. 최종 사용자 나 네트워크 관리자에게 부담을 주진 않는다.[2]
관련 용어[편집]
- 오라클(ORACLE) : 오라클(Oracle Corporation)은 미국 캘리포니아주에 본사를 둔 매출 규모 세계 2위의 소프트웨어 회사이다. 이 회사의 대표적인 제품인 데이터베이스 제품, 오라클 데이터베이스 관리 시스템(DBMS)은 세계 최고의 점유율을 차지하고 있다. 2014년 오라클은 마이크로소프트에 이어 소득 기준으로 2번째로 큰 소프트웨어 제조사였다. 2009년 4월 20일, 오라클은 자사가 세계 4대 컴퓨터 서버 업체인 미국 썬마이크로시스템즈를 74억 달러(약 10조 원)에 인수했다는 것을 발표했다.[3]
- 웹티어(Web Tier) : 시스템 아키텍처를 구성하는 서버들 간의 층을 말한다. 2티어(2-tier) 시스템은 웹 서버와 데이터베이스(DB) 서버의 두 개 층으로 구성하고, 3티어(3-tier) 시스템은 웹 서버, 더블유에이에스(WAS) 서버, DB 서버의 세 개 층으로 구성한다. N티어(N-tier)로 확장될 수 있다.[4]
- 아파치(Apache) : 리눅스 기반의 무료 오픈 소스 웹 서버 프로그램이다. 아파치 재단에서 관리하고 있다. 아파치는. 미국 인디언 부족인 아파치족을 존경하는 의미를 담아서 만든 말이다. 로고는 아파치족이 머리에 꽂는 깃털이다.[4]
- 웹 서버(Web server) : 웹 페이지가 들어 있는 파일을 사용자에게 제공하는 프로그램이다. 시스템 소프트웨어의 일종이다. 세계 최초의 웹 서버는 1990년 팀 버너스 리(Tim Berners-Lee)가 만들었다.[4]
- 인터베이스(Interbase) : 미국 엠바카데로 테크놀로지스(Embarcadero Technologies)가 관리하는 관계형 데이터베이스 관리 시스템(RDBMS)이다. 용량이 40 메가바이트(MB)로 매우 작고 관리자가 거의 필요 없는 편리한 RDBMS이다. 리눅스, 윈도우, 안드로이드, 아이오에스 등 다양한 환경에서 작동한다. 인터베이스를 기반으로 오픈소스 무료 RDBMS인 파이어버드(Firebird) 가 만들어졌다.[4]
프로세스[편집]
- 단일 프로세스
서버는 웹 클라이언트에서 단일 프로세스(Process)로 요청을 받는다. 단일 서버 프로세스 내에서 새 요청이 도착하기 기다리는 승인자 스레드(thread)가 실행 중이다. 요청이 도착하면 승인자 스레드가 연결을 수락하고 요청을 연결 큐에 넣는다. 요청 처리 스레드는 연결 큐에서 요청을 선택하고 요청을 처리한다. 서버는 다중 스레드이므로 서버에 기록된 모든 엔에스에이피아이(NSAPI) 확장은 스레드로부터 안전해야 한다. 이는 NSAPI 확장이 파일 또는 전역 변수에 대한 공유 참조와 같은 전역 자원을 사용하는 경우 한 번에 스레드 안전 및 스레드 인식 기능을 갖추고 있어 뛰어난 확장성과 동시성을 제공한다. 그러나 레거시 응용 프로그램은 단일 스레드일 수 있다. 서버가 응용 프로그램을 실행하면 한 번에 하나만 실행할 수 있다.[5]
- 다중 프로세스
여러 프로세스가 있는 여러 프로세스(Process)를 사용하여 요청을 처리하도록 각 프로세스의 스레드 서버를 구성 할 수 있다. 이 유연성은 스레드를 사용하는 사이트에 최고의 성능을 제공하며 스레드 환경에서 실행할 준비가 되지 않은 레거시 응용 프로그램을 실행하는 사이트와의 호환성을 제공한다. 위도우(Windows)의 응용 프로그램은 일반적으로 이미 다중 스레드 고려사항을 이용하므로 이 기능은 유닉스(Unix) 및 리눅스(Linux) 플랫폼에 적용된다. 다중 프로세스의 장점은 스레드를 인식하거나 스레드로부터 안전하지 않은 레거시 응용 프로그램을 웹 서버(Web server)에서 보다 효과적으로 실행할 수 있다는 것이다. 그러나 모든 웹 서버 확장은 단일 프로세스 스레드 환경을 지원하도록 구축되었으므로 다중 프로세스 모드에서 실행되지 않을 수 있다. 서버가 다중 프로세스 모드 인 경우 시작 시 검색 플러그인이 실패하고 세션 복제가 사용 가능한 경우 서버가 다중 프로세스 모드에서 시작되지 않는다. 다중 프로세스 모드에서 서버는 시작 시 여러 서버 프로세스를 생성한다. 구성에 따라간 프로세스에는 수신 요청을 수신하는 하나 이상의 스레드가 포함된다. 각 프로세스는 완전히 독립적이므로 각 글로벌 변수, 캐시 및 기타 자원 사본이 있다. 여러 프로세스를 사용하려면 시스템에서 더 많은 자원이 필요하다. 또한 공유 상태가 필요한 응용 프로그램을 설치할려면 여러 프로세스에서 해당 상태를 동기화해야 한다.[5]
- 구조
오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 개방형 표준을 기반으로 구축된 복수 프로세스, 복수 스레드(thread) 보안 웹 서버로서 모든 규모의 기업을 위하여 높은 성능, 신뢰도, 확장성 및 관리 용이성을 제공한다. 또한 멀티 프로세스 모드와 자동 페일 오버 기능을 통해 프로세스가 다운되어도 서버에 대한 요청이 처리될 수 있도록 해주며 관리자의 개입 없이도 실패한 프로세스를 자동으로 재시작시켜줌으로써 최대한의 가동 시간을 유지할 수 있도록 한다.[6]
- 멀티 스레드, 멀티 프로세스 아키텍쳐
- 오라클 아이플래닛 웹 서버(Oracle iPlanet Web Server)는 멀티 프로세스, 멀티 스레드 아키텍처 지원 및 유엑스더블유디오지(Uxwdog)데몬을 통한 프로세스 모니터와 같은 기능을 통해 뛰어난 성능과 동시에 높은 기용 성을 보증한다.[6]
- Uxwdog데몬
- 페일 오버(Fail over) 기능은 응용 프로그램이 실패한 경우에도 프로세스가 가동상태로 유지되도록 하며 관리자의 개입 없이도 다운된 프로세스가 자동으로 재시작할 수 있도록 한다.[6]
- 웹 기반의 관리 서버
- 관리자는 웹 기반의 관리 서버를 통해 원격지에서도 웹서버 구성 전반에 대해 관리 및 모니터링을 수행할 수 있으며, 엘디에이피(LDAP)서버와의 연동을 통해 사용자 및 그룹 정보를 중앙에서 관리, 제어할 수 있다.[6]
- 절차
- 서버가 요청을 처리하기 전 에이치티티피 리스너(HTTP Listener)에서 해당 요청을 수락한다.
- 각 HTTP Listener는 다수의 수락자(Acceptor) 스레드를 가지는데 이는 서버의 다수의 프로세스에 대응한다. 이 Acceptor 스레드가 HTTP Listener로부터 요청을 받아서 처리를 위해 큐(Queue)에 넣는다.
- 요청이 도달하면 Acceptor 스레드가 해당 요청을 연결 큐(Connection Queue)에 추가한다.
- 큐잉된 요청은 일하는(Worker) 스레드에 의해 추출되어 요청 처리가 수행되고 서버(Sever).xml에 정의된 정보를 기반으로 가상 서버(Virtual server)가 선택된다.
- 실제 요청을 처리하기 위해 오비제이.콘푸(obj.conf) 파일이 사용되고, 응답이 클라이언트(client)에 보내진다.
장점 및 단점[편집]
- 장점
아이플래닛은 가상 서버 제어, 작업에 대한 빠른 액세스 및 브라우저 또는 명령한 줄에서 통합 클러스터 관리와 명령 줄 인터페이스 는 포괄적이고, 안전하고 스크립트 가능하면서 원격을 운영한다. 재시작을 하기 위해서는 프로세스 없이 대부분의 관리 작업을 적용 할 수 있다. 패턴을 기반으로 다양한 요청 처리를 제공도 하고, 수많은 환경 변수, 복잡한 응용 프로그램의 마스킹 유알아이(URI) 및 간단한 대량호스팅도 제공한다. 고성능 프로세스 내 자바(Java) EE 5도 제공하고 자바 서브릿(Java Servlets) 2.5, JSP 2.1등 호환도 구현한다. Java 컨테이너는 간단한 세션 복제 및 장애 조치를 클러스터 내 메모리 내 보안 지속성을 통해 제공한다. 관리자가 대역폭을 절약하고 웹 사이트를 개선할 수 있는 특징도 있다. 또한 단일 자바 시스템 웹(Java system web)에서 수천 개의 도메인을 제공 할 수 있다. 각 가상 서버는 고유한 IP(ip address)주소, 포트, 문서 루트, 로그 파일 등 광범위한 가상화로 많은 사람을 효율적으로 대량 호스팅할 수 있고 각 도메인을 광범위하게 사용자 정의한 도메인으로 가상 서버를 지원도 한다. 내장된 에스이디(sed) 필터를 통해 개발자와 관리자가 요청 및 응답을 수정하는 익숙한 구문 사용, 크로스 사이트를 포함한 일반적인 공격으로부터 보호하는 특징도 있다. 마지막으로 데이터를 암호화하여 고급 엑세스 제어 목록으로 자원을 보호할 수 있다.
유연한 스키마를 지원하는 내장 엘디에이피(LDAP), 에스에스엘(SSL) v2 & v3, 티엘에스(TLS) 1.0 및 타원 곡선을 암호화하여 안전하고, 최대 4k의 SSL 키 크기를 사용할 수 있으며 자체 서명된 인증서가 쉽게 생성되고, 솔라리스 10 암호체계(Solaris 10 Cryptographic Framework)와의 통합으로 나이아가라 암호 체계(Niagara Cryptographic Framework)와 같은 기능을 하여 씨알엘(CRL)의 동적 업데이트를 통해 피케이아이(PKI) 관리를 결합 할 수 있다. 웹 서버(Web Server)가 모든 사용자 사이의 에이치티티피(HTTP) 끝점으로 작동 할 수 있고, 외부에서 타사 기술을 사용하는 효율적인 방법을 제공한다. 성능이 크게 저하되거나 서버가 희생되는 경우 안정을 위해 패스트씨지아이(FastCGI)는 일반적으로 타사 코드를 실행하지 않고 사용한다. 그리고 내장된 검색 엔진을 사용하면 로컬로 저장된 공통 문서 유형을 쉽게 색인을 생성하고 검색 할 수 있다. 웹서버(Web server)가 64비트(bit) Java 컨테이너를 포함한 최신 서버 환경에서 모든 알에이엠(RAM)을 활용할 수 있는 프로세스 내 파일 캐시 사용 가능 및 에스에스엘(SSL) 최적화하면, 사용 가능한 리소스를 최대한 활용할 수 있게 한다.[7]
- 단점
CVE-2020-9315 및 CVE-2020-9314로 추적된 해당 취약점을 공격자가 악용할 경우 민감 데이터 노출 및 제한된 인젝션 공격을 수행할 수 있다. 해당 취약점들은 2020년 1월 19일에 나이트워치 사이버보안(Nightwatch Cybersecurity) 연구원들에 의해 기업용 서버 관리 시스템의 웹 관리 콘솔에서 발견되었다. 첫 번째 취약점(CVE-2020-9315)을 악용하면 인증 없이 타깃 페이지의 관리 GUI URL을 변경하는 것만으로도 콘솔 내 모든 페이지에 대한 읽기 작업을 수행할 수 있다. 연구원들은 해당 결함을 악용할 경우 구성 정보, 암호화 키 등을 포함한 중요 정보를 유출시킬 수 있습니다고 설명했다. 두 번째 취약점(CVE-2020-9314)은 콘솔의 "productNameSrc" 파라미터에서 발견되었으며, XSS 유효성 검사 문제를 포함하는 보안 취약점 CVE-2012-0516에 대한 불완전 패치를 통해 해당 파라미터를 악용할 수 있다. 이때 피싱과 소셜 엔지니어링 목적으로 도메인에 이미지를 삽입하기 위해 "productName높이(Height)" 및 "productName넓이(Width)" 파라미터를 함께 사용한다. 오라클 아이플래닛(Oracle iPlanet) 웹 서버 7.0.x 버전은 해당 결함에 취약하지만, 이전 버전의 애플리케이션들이 영향을 받는지는 아직 확인되지 않았다. 연구원들의 설명에 따르면, 오라클 글래스피쉬(Oracle Glassfish) 및 이클립스 글래스피쉬(Eclipse Glassfish) 최신 버전은 아이플래닛(iPlanet)과 코드가 동일하긴 하나 취약한 것으로 보이지는 않다. Oracle iPlanet 웹 서버 7.0.x는 레거시 제품이며 더 이상 오라클(Oracle)에서 지원되지 않는다. 그러므로 해당 취약점들에 대한 패치 계획도 없다.[8]
각주[편집]
- ↑ 두준두준, 〈Iplanet Web Server〉, 《네이버 블로그》, 2017-03-23
- ↑ 오라클 아이플래넷 프락시 서버 4.0에 대한 FAQ 백서 - https://www.oracle.com/technetwork/middleware/webtier/faq-131572.pdf
- ↑ 오라클(기업) 위키백과 - https://ko.wikipedia.org/wiki/%EC%98%A4%EB%9D%BC%ED%81%B4_(%EA%B8%B0%EC%97%85)
- ↑ 4.0 4.1 4.2 4.3 chuckcom, 〈it용어 #시스템소프트웨어관련 아이티공부〉, 《네이버 블로그》, 2016-10-13
- ↑ 5.0 5.1 오라클 공식 홈페이지 - https://docs.oracle.com/cd/E19146-01/821-1834/abyaw/index.html
- ↑ 6.0 6.1 6.2 6.3 WLS/Admin, 〈2. Web Tier〉, 《티스토리》, 2013-08-20
- ↑ 특징과 장점 백서 - https://www.oracle.com/technetwork/middleware/webtier/featuresandbenefits-1-134420.pdf
- ↑ 알약(Alyac), 〈Oracle iPlanet 웹 서버의 정보 유출 및 피싱 취약점〉, 《알약 블로그》, 2020-05-12
참고자료[편집]
- 두준두준, 〈Iplanet Web Server〉, 《네이버 블로그》, 2017-03-23
- 오라클 아이플래넷 프락시 서버 4.0에 대한 FAQ 백서 - https://www.oracle.com/technetwork/middleware/webtier/faq-131572.pdf
- 오라클(기업) 위키백과 - https://ko.wikipedia.org/wiki/%EC%98%A4%EB%9D%BC%ED%81%B4_(%EA%B8%B0%EC%97%85)
- chuckcom, 〈it용어 #시스템소프트웨어관련 아이티공부〉, 《네이버 블로그》, 2016-10-13
- 오라클 공식 홈페이지 - https://docs.oracle.com/cd/E19146-01/821-1834/abyaw/index.html
- WLS/Admin, 〈2. Web Tier〉, 《티스토리》, 2013-08-20
- 특징과 장점 백서 - https://www.oracle.com/technetwork/middleware/webtier/featuresandbenefits-1-134420.pdf
- 알약(Alyac), 〈Oracle iPlanet 웹 서버의 정보 유출 및 피싱 취약점〉, 《알약 블로그》, 2020-05-12
같이 보기[편집]