시간을 벌기 위해 오래된 AngularJS 앱을 조금 덜 오래된 버전으로 업그레이드했다가 터미널에서 빨간색 보안 경고 벽에 부딪힌 적이 있나요? 시간을 벌고 있다고 생각했지만, 공통 취약점 및 노출(CVE)은 납부하지 않은 주차 위반 딱지처럼 계속 쌓여만 갑니다.
그렇다면 최신 프레임워크로 마이그레이션하는 것이 현실적으로 불가능하지만 안전하지 않고 지원되지 않는 코드를 실행할 여유가 없는 경우 어떻게 해야 할까요?
바로 이 점이 TuxCare의 ELS(엔드투엔드 라이프사이클 지원)가 필요한 이유입니다.
올드 스쿨을 즐겨보세요!
이 글을 읽고 계신 분들 중 현재 AngularJS 레거시 시스템에서 작업하고 계신다면, 혼자가 아닙니다. 에 따르면 npm 웹사이트에 따르면 여전히 매주 400,000건 다운로드되고 있습니다! 그러나 오래된 레거시 코드를 사용하면 데이터 유출로 이어질 수 있는 보안 취약점과 같은 다양한 문제가 발생합니다.
이러한 앱 중 상당수는 규모가 크고 긴밀하게 통합되어 있으며 비즈니스에 매우 중요합니다. 이러한 앱을 재구축하거나 마이그레이션하려면 시간과 예산, 팀 간의 조율이 필요하며 보안 마감일에 항상 맞출 수 있는 것은 아닙니다.
한편, 현재 2022년 1월, AngularJS 지원이 종료되었습니다.. 즉, 새로운 공식 패치나 수정 사항이 제공되지 않으므로 프로젝트가 매일 새롭게 진화하는 취약점에 노출될 수 있습니다.
그렇긴 하지만 이러한 위험을 감수하지 않고도 이 버전의 AngularJS를 계속 사용할 수 있는 옵션이 있습니다.
지금 당장 모든 것을 다시 작성하지 않고도 보안을 유지하는 방법은 다음과 같습니다.
현실을 직시하세요. AngularJS나 레거시 프레임워크 또는 라이브러리에서 마이그레이션하는 것이 항상 버튼 몇 개 클릭하거나 스크립트를 실행하는 것만큼 간단한 것은 아닙니다. 부트스트랩 3가 나왔을 때를 기억하시나요?
많은 경우 AngularJS EOL에서 실행되는 앱은 중요하고 복잡하며 일상적인 시스템 작동 방식과 깊이 연관되어 있습니다. 이 단종된 프레임워크에서 벗어나고 싶지만 한꺼번에 또는 아직까지 이를 수행할 리소스가 없을 수도 있습니다. 또한 이러한 업그레이드 중에 발생할 수 있는 성능 문제, 변경 사항 중단 또는 호환성 문제가 걱정될 수도 있습니다. 그렇다고 해서 이러한 위험에 그대로 노출되어서는 안 됩니다.
이것이 바로 TuxCare의 끝없는 수명 주기 지원(ELS) 가 필요한 이유입니다. 공식 지원이 종료되더라도 구형 AngularJS 앱을 패치하고 보안 위협으로부터 보호할 수 있는 방법을 제공하는 무제한 연장 지원 옵션입니다. 이 상황에서 "배를 태울" 필요는 없습니다.
AngularJS용 ELS를 통해 얻을 수 있는 혜택은 다음과 같습니다:
✅ 지속적인 보안 패치 공식 서비스 종료 후에도 지속적인 보안 패치 제공.
✅ 새로운 CVE 및 제로데이로부터 보호 로부터 보호.
✅ 규정 준수 안심 - 감사자에게 알려진 위험을 무시하고 있지 않다는 것을 보여줄 수 있습니다.
✅ 마이그레이션을 계획할 수 있는 여유 공급업체의 타임라인이 아닌 사용자의 일정에 맞춰 마이그레이션을 계획할 수 있습니다.
AngularJS ELS 설정
다음은 장기적으로 지속적인 보안 수정으로 앱을 안전하게 보호하는 TuxCare의 AngularJS용 Endless Lifecycle Support를 설정하는 방법에 대한 분석입니다.
섹션으로 이동합니다. AngularJS용 ELS 섹션 으로 이동합니다. 링크된 페이지가 v1.5에서 v1.8(v1.x의 마지막 릴리스)에 이르는 AngularJS 버전 전용임을 알 수 있습니다. 이 예에서는 AngularJS v1.8을 사용하고 있습니다.
- 먼저 토큰으로 레지스트리 줄을 수정하려면 사용자 아이디, 비밀번호, TuxCare의 토큰이 필요합니다. 이러한 자격 증명이 있으면 2단계로 진행합니다. 연락처 [email protected] 에 연락하여 토큰을 요청합니다.
- AngularJS 디렉터리의 루트로 이동하여 .npmrc 파일을 만듭니다. 이 파일 안에 TuxCare에서 제공한 레지스트리 정보를 추가할 수 있습니다.
- 이 줄을 복사하여 붙여넣고 이 줄을 .npmrc 파일을 열고 저장합니다. 반드시 ${TOKEN} 로 변경할 수 있습니다.
registry=https://registry.npmjs.org/ @els-js:registry=https://nexus.repo.tuxcare.com/repository/els_js/ //nexus.repo.tuxcare.com/repository/els-js/:_auth=${TOKEN} - 열기 package.json 파일에서 종속성 블록으로 TuxCare 종속성 를 클릭하고 저장합니다.
{ "dependencies": { "angular": "npm:@els-js/[email protected]" } } - 반드시
node_modules그리고package-lock.json파일을 삭제하고 캐시를 지웁니다.
rm -rf node_modules package-lock.json && npm cache clean --force
6. 다음 명령을 실행하여 AngularJS용 ELS 종속성을 설치합니다.
npm install
이제 ELS 1.8에 대한 TuxCare 종속성 설정이 모두 완료되었습니다! 출력은 아래 예시와 같아야 합니다.
changed 1 package, and audited 2 packages in 950ms
found 0 vulnerabilities
계속 앞으로 나아가기 - 안전하게
레거시 소프트웨어는 하루아침에 사라지지 않으며, 이것이 반드시 나쁜 것만은 아닙니다.
현재도 AngularJS에서 실행 중인 많은 앱은 실제 비즈니스의 중추로, 사람들이 매일 사용하는 고객 포털, 내부 도구 및 서비스를 지원합니다.
문제는 커뮤니티와 기존 유지 관리자가 이직할 때 '레거시'가 보안상의 문제가 되는 경우가 많다는 것입니다. 하지만 하룻밤 사이에 스위치를 켜고 마이그레이션할 수는 없습니다. 이러한 프로젝트를 안전하게 현대화하려면 시간과 예산, 신중한 계획이 필요합니다.
"현재 상태"와 "다음에 가고자 하는 곳" 사이의 간극을 메우는 무한 확장 지원을 제공하는 것이 바로 TuxCare의 AngularJS용 Endless Lifecycle Support(ELS)가 존재하는 이유입니다. ELS를 사용하면 실용성을 위해 보안을 희생하거나 부담스러운 상황에서 위험한 마이그레이션을 서두를 필요가 없습니다.
대신 새로 발견된 CVE에 대한 보안 패치를 배포하고, 업계 표준을 지속적으로 준수하며, 비즈니스에 실제로 적합한 시기에 애플리케이션을 리팩터링, 재구축 또는 리플랫폼하는 데 필요한 여유를 제공하는 안정적인 AngularJS 수명 종료 지원을 받을 수 있습니다.
따라서 오래된 프로젝트를 계속 유지하려는 개발자이든, 팀이 규정 준수 감사를 충족하도록 하는 보안 관리자이든, 경쟁적인 우선순위를 조정하는 IT 리더이든, 더 이상 "그저 안전하게 유지되기를 바란다"는 안일한 생각에 안주할 필요가 없습니다.
TuxCare의 AngularJS용 ELS 는 레거시 앱을 보호할 수 있는 간편한 장기 지원을 제공하므로 팀은 각자의 속도에 맞춰 다음 단계의 앱을 구축하는 등 정말 중요한 일에 집중할 수 있습니다.

