-
IT·보안
KISA Apache Tomcat 취약점 보안 업데이트 권고
2020년 5월 20일 Apache Tomcat에서 세션 지속성을 통한 원격 코드 실행 취약점(CVE-2020-9484)에 대한 업데이트 버전(Apache Tomcat 10.0.0-M5)을 릴리즈 하였으며, 업데이트 권고는 10.0.0-M1 ~ 10.0.0-M4, 9.0.0.M1 ~ 9.0.34, 8.5.0 ~ 8.5.54 및 7.0.0 ~ 7.0.103 버전 입니다.Apache Tomcat에서는 아래의 4가지 조건이 모두 성립 되어야 취약점에 영향을 받는다고 발표 하였습니다.1. 톰캣 서버의 PersistenceManager가 Filestore를 사용하도록 설정된 경우2. PersistenceManager의 sessionAttributeValueClassNameFilter 항목이 “null”로 설정되거나 공격자가 제공한 객체의 검증이 미흡한 경우3. 공격자가 톰캣 서버의 컨텐츠와 파일의 이름을 설정할 수 있는 경우4. 공격자가 FileStore에서 사용되는 저장 위치와 제어할 수 있는 파일의 상대 경로를 알고 있는 경우따라서 2020년 5월 26일 KISA(한국인터넷진흥원)에서는 취약점 버전을 사용중인 서버의 담당자는 제조사 홈페이지를 참고하여 최신 버전으로 업데이트 할 것을 권고 하였습니다.출처 및 참고자료Tomcat(원문사이트)KISA Apache Tomcat 취약점 보안 업데이트 권고
-
- 20.08.31
-
IT·보안
DELL iDRAC9 보안 업데이트 권고
2020년 7월 Positive Technologies의 Georgy Kiguradze 및 Mark Ermolov는 DELL사에서 제공하는 자사 서버 제품군을 종합적으로 관리하기 위한 통합 관리 플랫폼인 iDRAC9에서 경로 값에 대한 검증이 미흡하여 경로 탐색으로 발생하는 정보노출 취약점을 발견 하였습니다.해당 취약점은 NIST(미국 국립표준기술연구소)의 NVD(National Vulnerability Database)에 게시되었으며, 식별번호 CVE-2020-5366이 할당되었습니다.해당 취약점에 대하여 DELL사는 심각도를 높음으로 분류하고, iDRAC9에 대한 펌웨어 업데이트를 배포하였으며 빠른 업데이트를 권장하였고 KISA에서는 2020년 7월 29일 해당 취약점에 대한 보안 업데이트를 권고하였으며, 영향을 받는 구체적인 버전은 iDRAC9의 펌웨어 버전 4.20.20.20미만의 전 버전이며 해결된 펌웨어 버전은 4.20.20.20이라고 공지 하였습니다.현재 DELL사에서 판매되는 대부분의 서버 제품 군의 경우 iDRAC9을 사용하고 있으므로, 서버 관리 담당자는 현재 DELL 서버가 iDRAC9을 사용 중인지, 사용 중이라면 펌웨어 버전을 확인하여 영향을 받는 버전일 경우 제조사 홈페이지를 통하여 최신 버전의 펌웨어로 업데이트할 것을 권장 합니다.출처KISA 보안 업데이트 권고DELL 취약점 정보DELL 릴리즈 노트
-
- 20.08.31
-
IT·보안
2019 개인정보 보호 상담 사례집 발간
2020년 7월 31일 행정안전부와 한국인터넷진흥원(이하 KISA)은 국민의 개인정보 보호 인식 제고를 위해 개인정보침해 신고센터에 접수된 개인정보 침해 상담·신고 주요 사례를 소개하는 ‘2019년 개인정보 보호 상담 사례집’을 발간하였습니다.KISA는 2019년도 개인정보침해 신고센터에 접수된 개인정보 침해 신고 및 상담 접수 건수는 159,255건으로 전년도 164,497건에 비해 3.2%로 감소 하였고, 2019년 개인정보 침해 신고·상담 접수 유형을 살펴보면 주민등록번호 등 타인 정보의 훼손·침해·도용이 134,000여건(약 84%)이고, 신용정보 관련 문의 등 정보통신망법 적용 대상 외 관련건이 8,700여건(약 5.5%)으로 두 유형이 전체 89.5%를 차지하며 2018년과 마찬가지로 가장 큰 비중을 차지하였다고 밝혔습니다.KISA 2019 개인정보 보호 상담 사례집 개인정보 침해 신고 및 상담 세부 내용중 주민등록번호 처리 및 관리와 관련한 신고·상담이 꾸준하게 제기되고 있으며 개인정보보호법은 법률 또는 대통령령에서 구체적으로 처리를 요구하거나 허용하는 경우에 주민등록번호를 처리할 수 있고, 주민등록번호가 분실·도난·유출·위조·변조 또는 훼손 되지 아니하도록 암호화 조치를 통하여 안전하게 보관하여야 한다고 규정하고 있으나 홈페이지 주민등록번호 노출, 홈페이지 고충 처리 시 주민등록번호 수집 등으로 향후 개인정보처리자가 주민등록번호 처리 시 처리 근거 여부나 암호화 조치에 대한 인식 제고가 더욱 필요한 것으로 보인다라고 밝혔습니다.DB암호화, DB접근제어 등 데이터베이스 보안 관련된 사례로는 임시 개인정보취급자의 사용자 계정 관리(3-6) 항목으로 신시웨이 고객사에게도 다수 발생하는 사례중 하나 입니다.개인정보처리시스템에 접근하는 사용자는 1인 1계정을 사용하여 계정이 공유 되지 않도록 각별히 주의 하여야 하며 인사 이동, 퇴직, 휴직등으로 사용자가 더 이상 개인정보를 처리 하지 아니하면 DB 접근제어 페트라를 통해 해당 해당 계정이 더 이상 개인정보처리 시스템에 접근 하지 못하도록 하여야 하고, 개인정보취급자에게는 페트라를 통하여 최소의 권한만 부여 하여야 합니다.출처행정안전부·한국인터넷진흥원 「2019년 개인정보 보호 상담 사례집」
-
- 20.08.31
-
신시스토리
신시웨이 상반기 매출 지난해 같은 기간보다 52% 성장
“신시웨이 최근 카카오페이(증권), 나이스평가정보, SK증권 등 금융권 레퍼런스 확장”“현대카드, 현대캐피탈, 현대커머셜 사이트 라이선스 계약 체결”신시웨이의 모회사 엑셈은 8월 14일 연결재무제표(지배기업과 종속기업의 자산과 부채, 자본, 이익 등을 합쳐 하나로 작성한 재무제표) 기준 상반기 매출액이 전년 동기 대비 12% 성장한 150억 원을 기록 했다고 공시 하였습니다.엑셈의 주요종속회사인 신시웨이는 지속적으로 증가하는 DB보안 이슈 및 수요 증가에 따라 지난해 카카오(kakao) DB 접근제어 구축을 시작으로 올해 상반기 카카오페이(증권), 카카오모빌리티 구축을 완료 하였고, 최근 나이스홀딩스(DB접근제어), 나이스평가정보(DB접근제어, 소명결재), SK 증권(DB접근제어, 소명결재) 등을 구축 완료하는 등 금융 업계의 레퍼런스를 확장해 나가고 있습니다.특히 올해 상반기 매출액이 지난해 같은 기간보다 52% 성장하는 등 유의미한 성과를 달성 하고 있으며 현대카드, 현대캐피탈, 현대커머셜과 사이트 라이선스 계약을 체결 하여 지속적인 실적 개선이 기대되는 상황 입니다.출처 : 엑셈 보도자료
-
- 20.08.31
-
신시스토리
2020’ 8’ 신시웨이 생일파티에 초대 합니다
2020년 08월 03일 16시 신시웨이 본사 라운지에서는 8월 생일자들을 축하하는 자리를 마련 하였습니다.8월 생일자는 R&D 이남균 전무 / 영업 1팀 조동길 차장 / 기술지원 1팀 강아현 사원 / 기술지원 2팀 배윤 사원 입니다.생일자분들 모두 축하드리며 경영지원팀에서 소정의 상품권을 지급해드릴 예정입니다.
-
- 20.08.31
-
신시스토리
Pre-Sales Seminar(First Session. ISMS-P)
신시웨이 프리세일즈팀은 6월 30일과 7월 14일 각각 2회에 걸쳐 ISMS-P 정보보호 및 개인정보보호 관리체계인증, 클라우드 보안 시장 동향이라는 주제로 내부 세미나를 개최하였습니다. 이번 세미나의 주된 목표는 ISMS-P 인증심사의 전반적인 내용을 소개하고, 더 나아가 페트라(DB 접근제어)에서 보완해야 할 부분을 토의하고 개선 및 발전시키기 위한 자리였습니다. 클라우드 보안 시장 또한 우리가 앞으로 나아가야 할 길이며, 세계 시장의 흐름에 맞추어 어떻게 대응해야 하는지에 대한 토의가 있었습니다.세미나의 첫 번째 세션을 맡은 프리세일즈팀 김지현 과장은 발표에 앞서 “DB 보안의 전문가로서 ISMS-P 인증 심사 준비 시 고객에게 DB보안(접근제어, 암호화) 분야를 올바르게 컨설팅을 하기 위해서는 기술적 관리적 보호조치와 안전성 확보 조치에 관한 내용을 먼저 이해하여야 하고, 기본적으로 정보보호 대책(관리적, 기술적 통제)에 대해서도 알고 있어야 한다.”라는 것을 강조하고 발표를 시작하였습니다.ISMS 인증 제도정보보호 관리체계(Information Security Management System) 인증기업이 주요 정보자산을 보호하기 위해 수립·관리·운영하는 정보보호 관리체계가 인증기준에 적합한지 심사하여 인증을 부여하는 제도2013년 2월 18일부터 의무화ISMS 인증 제도가 생기기 전에는 정보보호경영시스템(ISO 27001) 국제표준이 있었지만, 필수적으로 받아야 할 인증 제도가 아니었기 때문에 일부 기업들은 선택적으로 인증을 받아왔습니다. 이에 2001년 7월 KISA에서 국내 실정을 반영한 ISMS 인증제도를 도입하였습니다. 그 후 2002년 5월 인증기준 고시를 제정하고 2012년 2월에는 정보통신망법을 개정하였으며, 2013년도 2월부터는 정보보호 관리체계 인증을 의무적으로 받아야할 대상을 지정하여 인증을 취득하고 관리하게 되었습니다.이렇게 ISO 27001을 기반으로 만들어진 ISMS는 국제 표준을 모두 포함하고 있고, 국내 상황에 맞게 암호화, 전자 거래 등의 보안 요건을 강화한 인증 제도입니다. 통상적으로 글로벌 비즈니스 활동을 하는 기업들은 ISO 27001 인증을 받고 있으며, 국내에서만 활동하는 기업은 ISMS 인증을 받고 있습니다.PIMS 인증 제도개인정보보호 관리체계(PIMS, Personal Information Management System) 인증한국인터넷진흥원(KISA)에서 심사하는 제도로서, 기업이 개인정보보호 활동을 수행하는데 필요한 보호조치 체계를 구축하였는지 점검하여 일정 수준 이상의 기업에 인증을 부여하는 제도PIMS 인증대상은 업무를 목적으로 개인정보를 처리(취급)하는 공공기관, 민간기업, 법인, 단체 및 개인 등 모든 공공기관 및 및간 개인정보처리(취급)자이다.총 3개 분야 86개의 심사 항목 (개인정보보호 관리과정, 생명주기 및 권리보장, 개인정보 보호조치)필수는 아닌 자율 인증제도이며, 대외 신뢰도를 위한 마케팅 측면 및 과징금 감면 혜택PIMS 인증은 개인정보보호에 대한 기술적, 물리적, 관리적 조치가 잘 이루어져 있는지를 점검하는 인증 제도로, 필수는 아니지만 개인정보보호 중요성이 강조 되고 있다 보니 인증을 취득하면 대외적 인지도 및 마케팅 측면에서 활용되기도 합니다. 또한 PIMS 인증을 받을 시에는 개인정보 유출 사고가 발생하더라도 일정 부분의 노력을 인정하여 과징금을 감면해주는 혜택을 부여하고 있습니다. 하지만 ISMS 인증제도와 중복되는 항목이 많고, 취득에 소요되는 비용 등 기업과 기관의 부담이 크다는 문제점이 있었습니다.ISMS-P 인증 제도정보보호 및 개인정보보호 관리체계(Personal information & Information Security Management System) 인증2018년도 말, 정보와 개인정보를 단일제도에서 체계적으로 관리할 수 있도록 ISMS + PIMS 인증제도 통합중복 운영에 따른 기업·기관의 부담 해소 및 행정비용을 절감하고 고도화·융합화되는 사이버 공격에 효과적으로 대응할 수 있는 환경을 마련하자는 취지에서 ISMS-P 인증 제도 출범최근에 조직의 정보보호 수준을 판단하는 기본적인 척도로서 인증의 보유 여부가 중요한 판단기준으로 자리 잡고 있음관련 법률의 가장 기본은 정보통신망법과 개인정보보호법을 기반으로 하고있으며 가장 핵심은 ‘정보보호 및 개인정보보호 관리체계 인증 등에 관한 고시'이다.현대 사회에서 정보보안과 개인정보보호의 관계는 떼려야 뗄 수 없는 관계 입니다. 이렇듯 ISMS와 PIMS 인증 간에는 중복되는 내용이 적지 않게 있었으며, 개인정보주기관리 항목을 담은 PIMS 인증은 앞서 말했듯이 의무 규정은 아니지만, 개인정보보호 관련 법령 위반으로 인한 과징금 부과시 경감 혜택을 받을 수 있기 때문에 대부분 기업들은 인증을 유지 할 수밖에 없었습니다. 또한 ISMS 인증 준비 및 관리에 소요되는 큰 비용과 직원들의 업무 부담은 결국 기업들의 부담으로 이어졌고, 이러한 문제점들이 끊임없이 제가되고 있었습니다.결국, 이러한 문제점들이 국정감사에까지 오르면서 2018년 개선된 인증 제도가 ISMS-P 입니다. ISMS-P 인증제도는 ISMS와 PIMS 인증을 통합하여 리소스를 절감 하고, 법령 개정에 따른 요구사항을 신설하고 최신 기술 및 이슈에 관한 기준을 강화하였습니다. 현재는 ISMS-P 인증의 보유 여부가 조직의 정보보호 수준을 판단하는 중요한 기준으로 자리 잡고 있습니다.인증별 주관 부서(과학기술정보통신부, 행정안전부, 방송통신위원회)가 다르다 보니 법, 제도 개선 및 정책을 결정하고 인증 및 심사 기관을 지정하는 정책협의회를 신설하고 ISMS-P 인증을 주관하게 되었으며, 실질적인 일은 KISA(한국인터넷진흥원)가 인증기관 및 심사기관으로 있습니다. 또한 2019년 7월부터는 금융보안원이 인증기관으로 지정되면서 인증심사 절차가 좀 더 수월해졌습니다.ISMS-P 인증 심사에서 DB보안에 관련된 인증 항목은(로그 서버, 게이트웨이 서버, 키 서버등 DB 보안에서 사용되는 서버 관련 항목 일부 포함) 102개 인증 기준 중 [2.5 인증 및 권한 관리], [2.6 접근 통제], [2.7 암호화 적용], [2.9 시스템 및 서비스 운영 관리], [2.10 시스템 및 서비스 보안 관리], [3. 개인정보 보유 및 이용 시 보호조치] 영역의 15개 항목이 직접, 간접적으로 심사 기준에 해당하며, 각 항목의 단위를 세분화시 110개 기능 항목에 해당 됩니다.세미나에 참석한 신시웨이 직원들의 64.7%는 ISMS-P에 대한 전반적인 설명을 들을 수 있어서 좋았다는 의견을 보였습니다. 현재에도 DB접근제어 솔루션 “페트라”와 DB 암호화 솔루션 “페트라 사이퍼”는 PIMS, ISMS, ISMS-P에 대한 인증 항목을 모두 만족 하고 있지만 이번 세미나를 시작으로 하여 세미나의 범위와 질을 높이고, 고객들이 컴플라이언스을 좀 더 쉽게 대응 할 수 있는 효과적인 방안이 마련 되었으면 좋겠다는 의견이 많이 있었습니다.신시웨이는 DB보안 시장을 선도하는 ‘데이터베이스 보안 전문 기업으로 방송통신위원회, 금융감독원, 행정안전부등 다수의 감사 대응 능력과 인증 심사 지원 경험이 풍부한 엔지니어들이 업무를 하고 있으며’ 지속적인 세미나를 통하여 컴플라이언스(compliance) 대응에 대한 업무 능력을 향상 시키기 위해 노력 하고 있습니다. 2020년 출시 예정인 페트라5는 보다 쉬운 컴플라이언스 관리를 제공할 계획 입니다.
-
- 20.08.31
-
신시스토리
신시웨이 임직원 대상 NPS 조사 실시
서비스 품질 향상 및 신시웨이 조직 문화를 점검, 개선 및 발전 시킬 수 있도록 신시웨이 임직원을 대상으로 하는 NPS 조사를 실시하였습니다. 이번 NPS 조사는 “주변 지인과 친구들에게 ‘신시웨이’를 추천할 의향이 얼마나 있습니까?”라는 한가지 질문으로 진행하여 NPS -5 신뢰 수준은 90%, 표본 오차는 +-6.72% 라는 결과가 나왔습니다.NPS의 점수는 100 부터 -100점까지 형성되어 있기 때문에 -5점이라는 수치만 보면 좋지도 나쁘지도 않은 수치로 보이지만 2018년 KNPS 조사결과 조사대상 63개의 국내 기업중 74.6%는 NPS가 0% 이하라는 조사 결과를 보면 신시웨이는 보통 이상이라고 평가할 수 있지만 이는 어디까지나 고객을 대상으로 조사한 결과이기 때문에 이번 임직원을 대상으로한 조사와는 다소 차이가 있습니다.NPS(Net Promoter Score)란?NPS는 Net Promoter Score의 약자로 한국말로 정의하면 순수 고객 추천 지수라고 말하며, 기업과 고객 관계에 있어 서비스 만족도를 측정하는 도구 입니다. NPS는 2003년 고객 및 직원 충성도 연구의 전문가인 Bain’s Loyalty practice 창립자 Fred Reichheld와 경영 컨설팅을 전문으로 하는 Bain & Company 그리고 설문조사 플랫폼을 제공하는 Satmetrix에 의해 개발되었으며, Harvard Business Review에 소개 되면서 NPS를 대중적으로 사용하게 되었고, 현재는 NPS를 KPI로 적용하는 기업들이 증가하기 시작 하였습니다.신시웨이가 임직원을 대상으로 NPS를 조사한 이유NPS는 “당신의 친구 또는 지인에게 회사 / 제품 / 서비스를 추천할 의향이 얼마나 있습니까?” 라는 간단한 질문을 통해 계산됩니다.그렇다면 신시웨이는 왜? 고객이 아닌 임직원들에게 이러한 조사를 했을까? 앞서 말했듯이 이유는 간단합니다. 조직 프로세스가 튼튼해야 품질 좋은 소프트웨어를 만들 수 있다는 소프트웨어 품질 성숙도 모델(CMMI) 처럼 신시웨이 제품(DB접근제어, DB암호화, 소명결재)의 성숙도를 높이기 위해서는 우리 조직을 먼저 점검 해야 한다고 생각했기 때문입니다.즉, 신시웨이 경영 이념이기도 한 세상을 이롭게 하는 소프트웨어를 만들기 위해선 우리 조직을 스스로 되돌아보고 부족한 부분을 찾아 개선하고 발전시키고자 하는 취지로 NPS 조사를 진행하게 되었습니다.신시웨이 NPS 조사 결과이번 자체 조사를 통하여 신시웨이의 NPS는 -5로 신뢰수준 90%, 표본 오차 +- 6.72%, 핵심성과지표(KPI) 달성률 68.1% 라는 결과가 나왔습니다. 코멘트를 분석해 보면 긍정 11건, 중립 4건, 부정 1건, 기타 1건으로 다른 의견에 비해 긍정적인 의견이 압도적으로 많았으며 사내 복지와, 수평적인 조직 문화에 대해 긍정적으로 평가하였습니다.임직원들이 말하는것 처럼 신시웨이는 워라밸 강소기업 선정, 행복한 중소기업경영대상 최우수상 수상, 일과 생활 균형 캠페인 참여 기업, 근로자 휴가 지원 사업 참여 등으로 이미 워라밸(Work-Life-Balance) 문화가 잘 조성되어 있는 DB보안 전문 기업으로 기업 홍보성 워라밸이 아니다라는 것을 증명하듯 2020년 서울시 일과 생활 균형 수준 진단에서는 제도 활용 영역 4.02, 조직문화 4.34, 성평등 조직문화 4.05 등 전체 평균 4.09으로 중소기업 평균 보다 높은것으로 조사 되었습니다.신시웨이는 일과 생활의 조화로운 균형을 더욱더 발전시켜 임직원의 긍정 에너지가 제품으로 하여금 고객에게 전달되는 것을 추구하고 있습니다.
-
- 20.08.31
-
신시스토리
이제는 워라밸 시대! ‘워라밸 강소기업’ 신시웨이
DB보안의 선구자 신시웨이가 아시아경제·서울시가 공동기획 한 “워라밸2.0 시대로”에 선정 되었습니다.신시웨이는 직원 복지 향상을 위하여 고정 금리 1%의 주택자금대출, 사내 동호회비 지원, 통신비 지원, 교육 수강 지원, 도서 구입비 지원, 법인 콘도 지원, 제주도 사택 지원 등 다양한 복지 정책을 지원하고 있습니다.특히 주 52시간의 근무 시간을 적용 받지 않는 사업장임에도 불구하고 집중 근무시간을 제외 하고 별도의 출퇴근 시간이 정해져 있지 않는 것이 특징이다. 이는 “근무 시간과 업무 성과는 비례하지 않으며 자율에는 책임이 따른다”는 정재훈 대표의 경영 방침이기도 하다.신시웨이는 현재 문정동 본사와 대전기술지원센터, 제주 연구개발(R&D)센터가 있으며, 제주 R&D센터 옆에는 직원들을 위한 사택과 법인 차량(그랜저 IG)이 마련되어 있어 업무 목적이 아닌 여행을 가는 직원들도 얼마든지 이용이 가능 하다. 또한 제주 사택을 이용하는 직원이 늘어남에 따라 올 가을 제주 사택을 추가로 확보 할 예정 입니다.신시웨이에는 풋살, 헬스케어, 낚시, 문화, 골프 동아리등 다양한 동아리가 있으며, 동아리 인원수에 따라 매달 동아리 비용을 지원 하고 있으며, 정책적으로만 있는 동아리가 아니라 실제 동아리 활동이 매우 활발한 편이다.또한 카페를 모티브로 꾸며 놓은 라운지는 커피 머신기와 음료가 항상 구비 되어 있으며, 공기청정기, 에어컨, 온돌이 설치되어 있는 남/여 휴게실은 업무시간에도 직원들이 언제든지 쉴 수 있도록 하고 있다.출처 : 아시아경제(동호회 모임하러, 자기계발 하러 회사에 갑니다)
-
- 20.08.31
-
신시스토리
행복한 중기경영대상 산업통상자원부장관상 수상
IT전문 보안기업 신시웨이가 서울경제신문과 중소기업중앙회가 공동개최한 ‘2019년 행복한 중소기업경영대상’ 시상식에서 경영혁신부문 최우수상인 산업통상자원부 장관상을 수상하였습니다.신시웨이는 지속적인 기업발전을 위하여 품질관리, 공정개선, 사내복지제도 및 임직원 교육훈련과 신규교용창출 및 직원 급여체계 개선 등 경영혁신의 공로를 인정받아 산업통상자원부 장관상을 수상하였습니다.수상에 참가한 김재현 부사장은 “존중받고 일하고 싶은 중소기업으로 발돋움하기 위하여 모두가 노력한 성과”라며 “앞으로도 지속적인 기업발전을 위한 다양한 복지 제도와 업무 환경 개선을 통해 최고의 DB보안 제품이 나올 수 있도록 노력하겠다” 말씀 주셨습니다.이번 수상은 신시웨이 시작과 성장을 함께 해온 모든 임직원들의 노력이 더해져 이뤄 낸 갚진 성과입니다.이를 밑거름으로 앞으로도 여러분의 소중한 주요 정보를 지킬 수 있는 완벽한 DB보안 플랫폼을 제공하도록 하겠습니다.기사 보기 : 서울경제("연봉·근로·환경 열악하다는 편견 깼더니 인재 몰렸죠")
-
- 20.08.31
-
IT·보안
CORS (Cross-Origin Resource Sharing) 이슈
CORS(Cross-origin resource sharing) 이슈는 웹 개발 초기에 누구나 한 번쯤 겪을 수 있는 상황입니다. 필자의 경우 기존 개발 환경에서 vue.js를 도입 하였을 때 아래와 같은 경고 문구를 보며 당황했던 기억이 있습니다. 이번 기회에 경고 문구를 뜯어보며 CORS에 대해 한 발짝 다가가 볼까 합니다.Access to XMLHttpRequest at ‘http://192.168.xxx.xxx:8080/api/sign/login’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 흔하게 발생할 수 있는 전체 경고 문구는 위와 같습니다. 하나씩 구분해서 살펴 보면Access to XMLHttpRequest at ‘http://192.168.xxx.xxx:8080/api/sign/login’ 현재 웹 페이지에서 XMLHttpRequest를 사용해 ‘http://192.168.xxx.xxx:8080/api/sign/login’에 정보를 요청하고자 접근(access) 했습니다.from origin ‘http://localhost:8080’ has been blocked by CORS policyXMLHttpRequest를 작성한 파일의 출처(origin)는 ‘http://localhost:8080’이고, XMLHttpRequest의 사용은 CORS 정책에 의해 막혔습니다.Response to preflight request doesn’t pass access control check 사전 요청(preflight request)이 접근 제어 확인을 통과하지 못했고,No ‘Access-Control-Allow-Origin’ header is present on the requested resourceAccess-Control-Allow-Origin’이란 헤더가 요청하고 있는 자원(resource)에 없기 때문입니다. 1. 자원(resource)자원은 HTTP 요청 대상을 말하며 문서, 사진등 어떠한 형태든 될 수 있습니다. 자세한 내용은 잘 정리된 곳이 있으니 참고 하시기 바랍니다. (참조 : MDN – 웹 리소스 식별 ) 2. 출처(origin)출처는 CORS 정책의 적용 기준이 됩니다. A서버 자원이 B서버 자원을 요청하는 상황에서 A, B서버가 서로 다른 서버이면 자원의 출처가 다르다고 판단하여 CORS 정책을 적용합니다. 웹은 프로토콜, 호스트, 포트가 같아야 동일한 출처로 간주하는데 이를 SOP(Same-Origin Policy) – 동일 출처 정책 – 이라 하며, CORS 정책의 근간이 됩니다. CORS 정책은 SOP에 예외를 두는 셈입니다. http://blog.sinsiway.com/trend/post.html과 출처(origin) 비교http://blog.sinsiway.com/trend/ittrend/post.html요청 성공경로http://blog.sinsiway.com/inside/post.html요청 성공경로https://blog.sinsiway.com/trend/post.html요청 실패protocolhttp://blog.sinsiway.com:81/trend/post.html요청 실패porthttp://rnd.sinsiway.com/trend/post.html요청 실패host 3. 사전 요청(Preflight request)사전 요청은 CORS 정책의 확인 시점입니다. 사전 요청은 먼저 Simple Request 에 해당하지 않는 요청을 말합니다. Simple Request의 조건은 이렇습니다. 1) HTTP Method – GET / HEAD / POST2) 사용자 정의 헤더(자동 설정 헤더 제외) – Accept / Accept-Language / Content-Language / Content-Type3) 헤더 Content-Type의 값 – application/x-www-form-urlencoded, multipart/form-data, text/plain 사전 요청은 CORS 확인을 위해 실제 요청 전에 자동 수행하는 요청으로 OPTIONS 메소드를 사용합니다. ‘Access-Control-Request-Method’, ‘Access-Control-Request-Headers’ 등의 헤더에 CORS 조건에서 사용할 메소드 등을 서버에 알려주고 어떻게 응답하는지 먼저 확인하는 것입니다. 서버의 응답에 따라 실제 요청의 차단 여부가 결정됩니다. Simple Request에 해당하더라도 CORS와 무관한 것은 아닙니다. 단지 사전 요청(Preflight request)이 발생하지 않을 뿐입니다. 예를 들어 HTTP Method – POST에 Content-Type – ‘application/json’로 요청하였다면, Simple request에 해당하지 않기 때문에 사전 요청이 발생합니다.요청 받은 서버에 CORS 조치가 없다면, 실제 요청(POST)까지 가지 않고 끝납니다.4. ‘Access-Control-Allow-Origin’ 헤더CORS 정책에 허용할 출처를 명시하는 헤더입니다. 3번에서 언급한 “서버의 응답”에 해당합니다. 서버는 응답 헤더에 ‘Access-Control-Allow-Origin’와 허용할 출처(origin) 정보를 입력하여 CORS 정책을 허용합니다.출처는 ‘Access-Control-Allow-Credentials: true’가 아니라면 와일드 카드(*)도 가능 합니다.끝으로 조치 방안입니다. 경고 문구 기반 원리 이해가 목적이었기 때문에 해결책은 간단하게 요약 하고자 합니다. 우선 해결책의 기본 방안은 서버 측에서 CORS 작업을 하는 것입니다. 익스프레스, 스프링 등 프레임워크 차원에서 기능이 제공되고 있습니다.express – https://expressjs.com/en/resources/middleware/cors.htmlSpring framework – https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/cors.html당장 개발에 영향을 받는 프론트엔드에서 조치할 방안으로는 크롬 브라우저에 옵션을 달아서 실행하거나, 개발 환경 Local Proxy (https://webpack.js.org/configuration/dev-server/) 를 세우는 방법 등이 있습니다.“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –disable-web-security –user-data-dir=”C:\chrome”참고 자료 : 모질로 공식 홈페이지(교차 출처 리소스 공유)
-
- 20.08.31