
Azure Functions의 개발 환경
- Azure 개발자 CLI(azd)
- Azure Portal
- 명령줄
- VS Code
실습: Azure Portal에서 Functions 생성
- Azure Portal, 로컬에서 VS CODE 를 사용해서 Azure Function 개발 가능
- Portal의 경우 기능 제약이 있기에 로컬에서 개발도구를 사용해서 개발하는 것을 추천
위협 요소가 있는 파일
일반적으로 위험한 확장자
1. 실행 파일
- .exe, .bat, .cmd, .com, .msi,, .vbs, ps1
2. 스크립트 파일
- .js, .jse, .vb, .vbe, .py, .sh
3. 매크로 관련 파일
4. 아카이브 파일
- .zip, .rar, .7z, .tar, .gz(비밀번호가 설정된 경우 위험 증가)
5. 기타
위장된 확장자
- 이중 확장자를 가진 파일
- 보이지 않도록 숨겨진 확장자 (파일 이름 조작)
알려진 악성코드와 연관된 확장자
- .link(바로가기 파일)
- .reg(레지스트리 변경 스크립트)
위협 파일의 감지 방법
1. 파일 확장자 기반 필터링
- 특정 확장자를 탐지하여 경고 또는 차단
- 화이트리스트(허용 확장자) 및 블랙리스트(차단 확장자) 설정
- 파일명 패턴 및 이중 확장자 감지
2. 파일 메타 데이터 분석
- 파일 헤더 및 서명을 확인하여 실제 파일 형식 식별
- 위장된 확장자(예: .jpg 로 위장된 .exe) 탐지
위협 요소가 있는 파일의 거부 시나리오

요약
- Azure Functions를 사용하면 Storage에 파일이 업로드되는 이벤트를 트리거로 활용할 수 있음
- Azure Functions를 사용하면 최소한의 코드로 함수를 만들고 연결할 수 있기 떄문에 코드의 생산성이 높고 명확해짐
- Azure Functions를 잘 사용하여 API들을 잘 만들경우 백엔드의 역할도 수행 가능
local.settings.json에 있는 "AzureWebJobsStorage"는 Azure Function이 사용하는 거고, "target_storage"는 우리가 감시할 Storage를 의미함