macOS 보안 기본 — FileVault · Firewall · Gatekeeper · XProtect
Mac을 사기 직후 켜야 할 보안 기능 4종. 디스크 암호화·방화벽·앱 검증·악성코드 검역의 동작과 셋업.
macOS는 기본값이 합리적인 편이지만, 개발자 머신에는 추가로 켜둬야 할 보안 기능이 있다. FileVault (디스크 암호화), Firewall (방화벽), Gatekeeper (앱 서명 검증), XProtect (악성코드 검역) 네 가지가 핵심.
이 가이드는 Mac 초기 셋업 완료 후 보안 기본기를 30분 안에 끝내는 셋업. 회사 머신·노트북·소스코드 보관 머신은 모두 필수.
TL;DR
- FileVault ON — 디스크 분실/도난 시 데이터 보호 (가장 중요)
- Firewall ON — 인바운드 연결 차단 + 스텔스 모드
- Gatekeeper 기본 유지 — App Store + 식별된 개발자만 허용
- XProtect 자동 동작 — 별도 셋업 없음, 자동 업데이트만 확인
- 회사 노트북은 (1)+(2) 필수, (3) 변경 금지
사전 조건
- macOS 14+ (Sonoma 이상)
- Admin 계정
- Apple ID 로그인 (FileVault 복구 키 백업용)
1. FileVault — 디스크 암호화 (필수)
1.1 왜 필수인가
- 분실/도난 시 데이터 노출 차단 — 키 없으면 디스크 내용 무의미
- macOS는 기본 OFF — Apple Silicon은 하드웨어 암호화하지만 FileVault 키가 없으면 풀림
- 회사 보안 정책 99% 요구사항
1.2 활성화
System Settings → Privacy & Security → FileVault → Turn On
복구 옵션 두 가지 중 선택:
- iCloud로 복구 허용 (편함, Apple ID 분실 시 데이터 영구 손실)
- 복구 키 생성 (28자 — 안전한 곳에 저장, 1Password 등)
권장: 복구 키 생성 + 1Password 같은 password manager에 저장. iCloud 의존성 제거.
활성화 직후 디스크 암호화 진행. 사용은 계속 가능하지만 첫 1-2시간은 약간 느림. 진행률은 같은 설정 페이지에서 확인.
1.3 검증
fdesetup status
# FileVault is On.또는:
diskutil apfs list | grep -i encrypted
# Encrypted: Yes (Unlocked)1.4 주의사항
- 복구 키 분실 + Apple ID 분실 = 데이터 영구 손실. 두 곳 이상에 백업
- 회사 머신: 회사가 escrow (복구 키 보관) 정책 가질 수 있음 — IT 정책 확인
- 외장 SSD도 별도 FileVault 적용 가능 (
diskutil apfs encryptVolume)
2. Firewall — 방화벽 (필수)
2.1 활성화
System Settings → Network → Firewall → Turn On
옵션:
- Block all incoming connections — 거의 모든 인바운드 차단 (서비스/공유 불필요한 경우)
- Automatically allow signed software — 서명된 앱은 자동 허용 (기본 권장)
- Enable stealth mode — ping/probe 무응답 (공개 Wi-Fi 추천)
2.2 추천 설정
| 환경 | 권장 |
|---|---|
| 집·신뢰 네트워크 | Firewall ON + 서명 앱 자동 허용 |
| 회사 사무실 | Firewall ON + 서명 앱 자동 허용 |
| 카페·공항·호텔 Wi-Fi | + Stealth mode ON + 가능하면 Block all incoming ON |
2.3 앱별 인바운드 허용
특정 앱이 인바운드 필요 (예: 개발 서버, 게임 호스트):
Firewall → Options → + → 앱 추가 → "Allow incoming connections"
또는 첫 실행 시 macOS가 자동 prompt — 그때 허용.
2.4 검증
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
# Firewall is enabled. (State = 1)
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
# Stealth mode enabled3. Gatekeeper — 앱 검증
3.1 동작
macOS가 앱을 처음 실행할 때:
- 코드 서명 확인 (Apple Developer ID 또는 App Store)
- notarization 확인 (Apple이 악성코드 스캔 통과시킨 흔적)
- 위 둘 다 통과해야 실행
3.2 기본 설정 유지
System Settings → Privacy & Security → Security:
- App Store — 가장 제한적
- App Store and identified developers — 기본값 (권장)
- "Anywhere" 옵션은 macOS 14에서 제거됨 (전용 명령으로만 우회 가능)
3.3 미서명 앱 일회성 허용 (개발 빌드 등)
예외적으로 미서명 앱 실행:
# 방법 A: 우클릭 + Open
# Finder에서 앱 우클릭 → Open → 경고에서 Open 클릭 → 이후 정상 실행
# 방법 B: 격리 속성 제거 (위험 — 신뢰 가능 앱만)
xattr -d com.apple.quarantine /path/to/MyApp.app3.4 Gatekeeper 비활성화 (절대 금지)
# ❌ 절대 실행하지 말 것
sudo spctl --master-disable이 명령은 모든 앱 서명 검증을 끄며 시스템을 위험에 노출. 개발자라도 비활성화 금지 — 미서명 빌드는 위 §3.3의 일회성 방식으로.
3.5 검증
spctl --status
# assessments enabled ← 정상
# 특정 앱 검증 상태
spctl --assess --verbose /Applications/SomeApp.app4. XProtect — 악성코드 검역
4.1 동작
macOS에 내장된 백그라운드 악성코드 스캐너. 별도 셋업 불필요.
- 알려진 악성코드 시그니처 자동 검사
- 다운로드 파일·실행 직전 앱 스캔
- Apple이 정의를 자동 업데이트 (시스템 업데이트와 별개로 silent)
4.2 자동 업데이트 확인
System Settings → General → Software Update → Automatic Updates:
- ✅ Install Security Responses and system files — XProtect 정의 포함, 반드시 ON
4.3 검증
# 마지막 XProtect 업데이트 시각
defaults read /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Info CFBundleShortVersionString
# 또는
sudo /usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" /Library/Apple/System/Library/CoreServices/XProtect.bundle/Contents/Info.plist2026-xx-xx 형태의 최근 날짜면 정상.
4.4 보조 안티바이러스
XProtect는 알려진 악성코드만 차단. 0-day나 정교한 공격은 별도. 권장:
- Malwarebytes — Mac 전용 free tier
- CrowdStrike / SentinelOne — 기업용 EDR
개인 개발자는 XProtect + Malwarebytes 정도면 충분. Antivirus 과다 설치는 성능 저하.
5. SIP (System Integrity Protection)
5.1 동작
루트 권한으로도 system 폴더 수정 불가. macOS 자체 보호 메커니즘.
/System,/usr보호- 커널 확장 차단
- 시스템 프로세스 디버깅 차단
5.2 상태 확인
csrutil status
# System Integrity Protection status: enabled.enabled 정상. 절대 비활성화 금지 — 매우 위험.
비활성화는 macOS Recovery에서만 가능 → 일반 사용자에게 절대 불필요.
6. 추가 권장 — 잠금·자동 잠금
6.1 화면 잠금 단축키
System Settings → Lock Screen → Turn display off when inactive: 5 minutes
빠른 잠금 단축키:
Ctrl + Cmd + Q— 즉시 잠금
6.2 자동 로그인 OFF
System Settings → Users & Groups → Login Options:
- Automatic login: Off
6.3 메시지·알림 잠금 화면 숨기기
System Settings → Notifications → Show previews → "When unlocked"
잠금 화면에서 메시지 내용 노출 금지. 회사 메시지·SMS 인증 코드 노출 차단.
7. SSH 키 보안
macOS의 SSH 키는 평문으로 디스크에 저장. 보강:
7.1 passphrase 사용
# 키 생성 시 passphrase 입력
ssh-keygen -t ed25519 -C "you@example.com"빈 passphrase는 편하지만 키 유출 시 즉시 사용 가능 — 권장 X.
7.2 macOS Keychain 활용
~/.ssh/config:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
passphrase를 macOS Keychain에 저장 → 입력 1회 후 자동.
7.3 1Password SSH agent (선택)
가장 안전. SSH 키 자체를 1Password vault에 저장 + Touch ID로 매번 인증.
자세히: /multi-os/password-manager.
8. 검증 — 한 번에 점검
echo "=== FileVault ==="
fdesetup status
echo "=== Firewall ==="
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
echo "=== Gatekeeper ==="
spctl --status
echo "=== SIP ==="
csrutil status
echo "=== Auto Login ==="
defaults read /Library/Preferences/com.apple.loginwindow autoLoginUser 2>/dev/null && echo "AUTO LOGIN ON — disable it" || echo "auto login OFF"기대 출력:
FileVault is On.
Firewall is enabled. (State = 1)
Stealth mode enabled
assessments enabled
System Integrity Protection status: enabled.
auto login OFF
5개 모두 통과해야 안전한 baseline.
9. 트러블슈팅
FileVault 켜고 부팅 후 비밀번호 두 번 입력
- 정상 동작 — 부팅 시 EFI 단계 1회 + 로그인 1회
- 단일 입력 원하면
System Settings → Users & Groups → Login Options → Show fast user switching menu끄기
특정 앱이 Firewall 때문에 동작 안 함
- 인바운드 필요 앱일 가능성 (개발 서버, 게임 host)
Firewall → Options → +로 명시적 허용- 또는 첫 실행 시 prompt에서 Allow
Gatekeeper가 신뢰하는 개발자의 앱을 차단
- 종종 발생 — Apple notarization 일시 지연
- 잠시 후 (5-30분) 재시도. 또는 앱 우클릭 → Open
XProtect 정의가 오래됨
Software Update에서 자동 업데이트 ON- 수동 트리거: 재부팅
M1/M2/M3에서 미서명 kext (커널 확장) 필요
- Reduced Security 모드 전환 필요 (macOS Recovery → Startup Security Utility)
- 가능하면 회피 — 대체 software 찾기 우선
"이 앱은 손상되었습니다" (앱 못 엶)
- Apple Silicon에서 ARM 미지원 앱
- 또는
quarantine속성 누락된 사용자 빌드 —xattr -cr /path/to/App.app후 다시 시도 (신뢰 가능한 출처만)
10. 다음 단계
- Mac 초기 셋업 — /mac/initial-setup
- SSH 다중 계정 — /mac/ssh-multi-account
- password manager (1Password·Bitwarden) — /multi-os/password-manager
- 백업 (Time Machine) — (예정)
/mac/backup-time-machine
참고
변경 이력
- 2026-05-16: 첫 작성. FileVault + Firewall + Gatekeeper + XProtect + SIP + SSH 보안 + 일괄 검증 스크립트 + 트러블슈팅 6종.