1. software update
1.0 현재버전 logging
1.1 최근 OS 업데이트 - 보안 업데이트(+os logging)
1.2 자동업데이트 설정 유무
1.3 Audit default Java runtime version
2. 보안설정
2.0 gatekeeper 사용
2.1 FileVault 를 이용한 data 암호화
2.2. password 조합 강화
2.3 시간/날짜 자동 설정 여부
2.4 화면보호기 설정 여부(15분, 암호요구)
2.5 화면보호기 단축기(핫코너 등) 설정 여부
2.6 화면 공유 설정 여부
2.7 Remote Login 설정 여부
2.8 Enable FileVault
2.9 Enable Gatekeeper
2.10 Require password to wake from sleep or screensaver
2.11 Disable automatic run of safe files in Safari
3. network 보안
3.0 블루투스
3.0.1 Discoverable mode?
3.0.2 블루투스 핫스팟 사용 내역 확인
3.0.3 블루투스 공유 설정 여부
3.1 인터넷 공유 설정 여부
3.2 파일 공유 사용 여부
3.3 Enable Firewall
3.4 Enable Firewall Stealth Mode
4. 권한 관리
4.1 홈 권한 관리(must be drwx------ or drwx--x--x)
4.2 Audit System-wide Application permissions(drwxr-xr-x)
4.3 Check System directory permissions
4.4 Configure account lockout threshold (5 or lower)
4.5 루트계정 사용 여부
4.6 Disable automatic login
4.7 Require administrator password to access System Preferences - 5.10
4.8 Disable guest account login
5. 불필요한 소프트웨어/서비스 작동 여부
- 시스템 로그 관리
4.1 system.log -> 90일 이상 보관 여부
pwpolicy -getaccountpolicies? : OS 버전마다 설정 값이 다름
remote apple events? : 다른 컴퓨터에서 실행되는 응용프로그램에서 apple 이벤트를 수신할 수 있다. (모든 사용자 or 사용자지정) - 네트워크 공격, CIS(internet security for center) 벤치마킹의 요구사항 해결하려면 비활성화가 좋음.
Step 1: Configure the follow group policy setting and set to Disabled: Computer Configuration > Policies > Centrify Settings > Mac OS X Settings > Services > Enable remote Apple events
Disable remote management? 원격은 막는게 맞는거 같음.
Disable wake for network access? 이건 필요할 수 있는 기능이라 굳이 차단까지는 고려 필요
Bonjour? ip 프로토콜을 사용하여 로컬네트워크에서 장치 및 서비스를 자동검색할 수 있게 해줌. 좋은기능인거 같음 (파이썬 및 기타 언어에서 엑세스 할 수 있는 정교하고 사용하기 쉬운 프로그래밍 인터페이스)
keychain? 암호,계좌, 중요정보를 저장하고 보호함.
Enable OCSP and CRL Certificate checks? 키체인 접근에서의 설정. 인증서를 비교하고 허가하겠다는 것인데 필요할 듯
System-Integrity-Protection?
시스템파일과 시스템 디렉터리를 특정한 자격 없이 수정할 수 없게 보호한다.
슈퍼유저나 sudo 명령어 받아도 불가하다. (일명 루트리스)
[ 기능 ]
- 시스템 파일과 디렉터리의 컨텐츠 보호와 더불어 파일 시스템 권한 보호
- 코드 인젝션으로부터 프로세스 보호, 실시간 결합(디버깅 같이) 및 DTrace
- 서명되지 않은 커널 모듈(*.kext)로부터의 보호
-5. icloud keychain store 사용하는것이 좋은가?
-6. sandboxing 사용해서 악성코드 block
adobe Flash Player, Silverlight, QuickTime 및 Oracle Java와 같은 내장 PDF 뷰어 및 플러그인을 샌드 박싱하여 Safari에서 샌드 박스 보호 기능을 제공합니다.
메일, 메시지, FaceTime, 캘린더, 연락처, 사진, 메모, 미리 알림, 포토 부스, 훑어보기 미리보기, 게임 센터, 사전, 폰트 북 및 Mac App Store와 같은 응용 프로그램을 샌드 박싱합니다.
OS X는 다르다. 앱이 마치 OS와 동떨어진 폴더처럼 동작한다. 바꿔 말하면, OS X용 앱은 사용자의 맥 컴퓨터 속을 마음껏 바꿀 수 없다는 얘기다. 앱이 동작하도록 하기 위해 별도의 폴더를 만드는 것도 세심한 권한 지정을 해야 하며, 사용자 조작 없이 앱이 스스로 특정 폴더에 접근하는 기능도 쓸 수 없다. 그 덕분에 앱을 설치하거나 지울 때 사용자의 맥 컴퓨터에 아무런 흔적도 남기지 않도록 할 수 있다.
OS X의 장단점은 윈도우와 정반대다. OS X는 앱이 사용자의 시스템 속을 들여다볼 수 없으니 앱을 설치하고 지우는 과정에서 찌꺼기를 남기지 않는다. OS X를 오래 쓰더라도 특별히 성능이 느려졌다고 느끼지 않는 것도 이 때문이다. 보안도 탁월하다. 간혹 악성코드가 포함된 앱이 있어라도 사용자 개인 폴더를 뒤질 권한이 없으니 개인정보가 빠져나가는 사고도 일어나지 않는다.
단점을 느끼는 이들은 맥 개발자들이다. 개발자들은 맥용 앱을 만들 때 많은 부분에서 제약을 받는다. 사용자의 맥 컴퓨터 속을 들여다보는 기능은 만들 수 없다. 이 같은 기능을 포함하려면 맥 앱 정식유통채널인 맥 앱스토어 말고 인터넷을 통해 배포해야 한다. 앱을 공식적으로 판매할 수 있는 방법이 없으니 수익성을 포기해야 하는 것은 물론이다.
checklist guide:hxxps://www.macworld.co.uk/feature/mac/mac-security-settings-tips-3643100/
script:hxxps://github.com/data-pup/cis-benchmark-osx
SecurityBestPriactice:hxxps://www.cisecurity.org/cybersecurity-best-practices/