모든 글
-
Node.js Brotli 취약점, 내 서비스도 업데이트해야 할까
Node.js 보안 업데이트 소식을 접하면 먼저 두 가지가 궁금해집니다. “내 서비스도 영향을 받을까?”, “지금 바로 업데이트해야 할까?” 이번 취약점은 압축 데이터를 처리하는 과정에서 발생하는 만큼, 사용 중인 버전과 함께 외부 데이터를 어떻게 받아 처리하는지 살펴봐야 합니다.2026년 10월 21일 공개된 Node.js 보안 릴리스에는 Brotli 디코더 취약점 CVE-2026-111497의 수정 사항이 포함돼 있습니다. 어떤 문제가 발견됐고, 운영 중인 서비스에서는 무엇을 확인해야 하는지 순서대로 정리해 보겠습니다. Node.js 공식 보안 권고Brotli에서 어떤 문제가 발견됐나Brotli는 데이터의 크기를 줄이는 압축 방식입니다. 웹에서 전송량을 줄이거나 파일을 압축할 때 사용하며, Node...
2026.10.23
-
PHP 긴급 보안 업데이트, 무엇을 바꾸고 어디까지 확인해야 할까?
2026년 10월 21일, PHP 프로젝트가 두 가지 치명적 취약점을 수정한 긴급 보안 업데이트를 공개했습니다. 조건이 맞으면 외부의 공격자가 인증 없이 서버에서 코드를 실행할 수 있는 문제입니다. 10월 20일 예고했던 수정판이 실제로 나온 것으로, 지난 9월의 보안 업데이트와는 구분해야 합니다. [1]PHP로 웹사이트를 운영하거나 호스팅을 관리한다면 이번 소식을 확인할 필요가 있습니다. 워드프레스나 플러그인만 업데이트해서는 해결되지 않기 때문입니다. 이번에 고쳐야 하는 대상은 웹사이트의 기능 코드가 아니라, 그 코드를 실행하는 PHP 자체입니다.그렇다면 어느 버전으로 바꿔야 하고, 업데이트가 제대로 적용됐는지는 어떻게 알 수 있을까요? 이 글에서는 두 취약점의 차이를 쉽게 살펴본 뒤, 운영 환경에서 ..
2026.10.22
-
크롬의 안전하지 않은 연결 경고, 사이트가 해킹됐다는 뜻일까?
크롬에서 웹사이트를 열었는데 연결이 안전하지 않다는 경고가 뜹니다. 평소 이용하던 곳이라면 “사이트가 해킹된 건가?”라는 생각부터 들 수 있습니다.하지만 이 경고만으로 해킹 여부를 판단할 수는 없습니다. 암호화된 연결을 지원하지 않는 경우, 인증서를 확인할 수 없는 경우, 피싱이나 악성코드 위험이 탐지된 경우는 서로 구분해야 합니다.중요한 것은 경고를 없애는 방법보다 무엇 때문에 멈췄는지 확인하는 일입니다. 비밀번호나 결제 정보를 입력하기 전에, 화면에 적힌 문구부터 살펴보겠습니다.비슷해 보이는 경고 세 가지그림 1. 크롬 경고를 이해하는 세 가지 질문. 실제 경고 화면을 재현한 이미지가 아닌 설명용 도식입니다.주소 표시줄의 짧은 안내와 페이지 전체를 가리는 경고는 표시 방식부터 다를 수 있습니다. 문구..
2026.10.20
-
Docker로 띄운 로컬 서버가 외부에서도 열리는 이유와 확인 방법
Docker로 개발 서버나 관리 화면을 띄운 뒤 브라우저에서 localhost로 접속하면, 내 컴퓨터에서만 열리는 서비스처럼 느껴집니다. 하지만 내가 접속한 주소만으로 다른 기기의 접근까지 막혔다고 판단할 수는 없습니다.특히 -p 8080:80처럼 호스트 주소를 생략하면, 기본 설정에서는 모든 호스트 주소에 포트가 공개됩니다. 같은 네트워크의 다른 기기에서도 접근할 수 있으므로, 혼자 쓸 서비스라면 공개 주소를 먼저 확인하는 편이 좋습니다. [1]이 글은 Linux Docker Engine의 일반적인 bridge 네트워크와 Docker Desktop의 Linux 컨테이너를 기준으로 정리했습니다. 아래 명령과 출력은 설명용 예시이며, 실제 환경에서 실행해 얻은 결과는 아닙니다.localhost로 접속했다는..
2026.10.19
-
.gitignore에 넣었는데 비밀키가 왜 남아 있을까?
.env에 API 키를 넣고 개발하다가 뒤늦게 .gitignore를 추가했습니다. 이제 안전할 것 같은데, GitHub에는 파일이 그대로 보입니다. 파일을 지우고 다시 커밋했더니 이번에는 예전 커밋에서 키가 나옵니다.이 상황에서는 세 가지를 나눠 봐야 합니다. 지금 파일을 추적하고 있는지, 과거 커밋에 값이 들어 있는지, 실제로 사용할 수 있는 키가 노출됐는지입니다. 각각 필요한 조치가 다릅니다.짧게 재현해 보기아래 실험은 실제 서비스에 연결되지 않는 가짜 문자열만 사용했습니다. 원격 저장소가 없는 새 임시 저장소에서 Git 2.52.0으로 실행했습니다.Bash 환경에서 다음 순서로 재현할 수 있습니다. 기존 프로젝트 대신 별도 임시 폴더를 사용하세요.DEMO_DIR=$(mktemp -d)cd "$DEM..
2026.10.17