480 likes | 762 Views
운영체제의 설정과 취약점. 20092224 윤영종 20072248 조태현. 목 차. 운영체제의 계정 확인 운영체제의 취약점 윈도우 시스템 보안 설정 유닉스 시스템 보안 설정 Q & A. 운영체제의 계정확인. 윈도우 관리자 권한을 가진 계정을 administrator 라고 칭하는데 이는 시스템에 가장 기본으로 설치되는 계정 유닉스 기본 관리자 계정으로 root 존재. 유닉스 계정 목록 / 그룹 확인 /etc/passwd 파일 /etc/group. 운영체제의 취약점. 윈도우 계열.
E N D
운영체제의 설정과 취약점 20092224 윤영종 20072248 조태현
목 차 • 운영체제의 계정 확인 • 운영체제의 취약점 • 윈도우 시스템 보안 설정 • 유닉스 시스템 보안 설정 • Q & A
운영체제의 계정확인 • 윈도우 관리자 권한을 가진 계정을 administrator라고 칭하는데 이는 시스템에 가장 기본으로 설치되는 계정 • 유닉스 기본 관리자 계정으로 root 존재
유닉스 계정 목록 / 그룹 확인 • /etc/passwd 파일 • /etc/group
운영체제의 취약점 • 윈도우 계열
윈도우 시스템 보안 설정 • 계정에 대한 보안 설정 • 로컬 보안 설정 • 데몬 관리 • 접근 제어 • 파일 및 디렉토리 관리
계정에 대한 보안 설정 • 패스워드 관리 : 주기적으로 관리하는 시스템의 패스워드를 크래킹 하여 취약한 패스워드를 가진 계정을 체크 • 불필요한 계정삭제 • 관리자 계정 바꾸기 : 윈도우의 기본 계정은 삭제가 불가능 하므로 Administrator 계정 을 다른 이름으로 바꿔서 사용 • Guest 계정의 사용안함
Administrator & Guest 계정의 사용 시작 → 설정 → 제어판 → 관리도구 → 로컬 보안 설정 → 보안 옵션
로컬 보안 설정 • 네트워크에서 이 컴퓨터 엑세스 / 거부 : 윈도우의 대부분의 설정은 ‘거부’가 우선권을 갖는다. 네트워 크에서 이컴퓨터 엑세스 거부를 설정할 경우에는 원격에서 접속이 불가능하다.
로컬 로그인 / 거부 ‘로컬 로그인 거부’ 사용할 경우에는 원격에서는 접속이 가능 하지만 시스템 앞에서는 로그인할 수 없다. • 시스템 종료 / 원격에서 강제로 시스템 종료 시스템 종료는 기본적으로 Administrators, Backup Operators, Power Users 그룹만이 로컬에서 시스템을 종료시킬 수 있다. 원격에서 강제로 시스템 종료는 Administrators 그룹만이 가능 • 로그인 스크린에 마지막 사용자 이름 표시 안함 로그인 스크린에 마지막 사용자 이름 표시안함 → 사용
로그인 하지 않고 시스템 종료 허용 로그인 시 ‘옵션’을 누르면 ‘시스템 종료’ 버튼이 활성화 된다 기본적으로 금지 하는것이 좋다. • 보안 감사를 로그 할 수 없는 경우 즉시 시스템 종료 감사 로그가 꽉 차거나, 로깅을 정상적으로 시행할 수 없을 때 시스템을 재부팅하게 하는 설정 • Administrator 계정 이름 바꾸기 공격자가 윈도우의 기본 관리자 계정을 추측하여 패스워드 크 래킹 공격을 시도할 수 있으므로 기본 관리자 계정의 이름을 바꾼다.
데몬 관리 • 데몬이란 ? 시스템의 사용자 인터페이스에는 나타나지 않지만 서비스가 요청되었을 때, 이에 반응할 수 있도록 항상 실행되어 있는 프로그램 데몬의 종류에는 FTP, SMTP, HTTP, HTTPS 등이 있고, 데몬 보안을 설정 함으로서 시스템 보안을 향상시킬 수 있다
데몬 관리 (FTP) • FTP의 취약점 중 가장 일반적인 취약점을 익명계정의 로그인 허용이다. 윈도우 시스템에서는 익명 계정이 기본적으로 허용 되어 있는데, 이런 익명 계정에 의한 FTP로그인을 금지한다. • 동시 접속자 수 FTP에 접속할 필요가 있는 세션 수 이상의 접속이 이루어 지 지 않도록 설정한다.
데몬 관리(SMTP) • SMTP 접근제어 설정 접근제어 설정은 FTP서비스와 마찬가지로 특정 IP와 네트워크에 대한 설정 가능 • SMTP 릴레이 설정 자신에게 전달되는 메일을 다른 메일 서버로 전달해주는 기능
데몬 관리(HTTP) • 기본 가상 디렉토리 변경 : 기본 웹 가상 디렉토리인 c:\inetpub\wwwroot 를 다른 임의의 디렉토리로 변경 필요 • 디렉토리 보안 : 익명 엑세스와 인증 제어, IP주소 및 도메인 이름 제한, 보안 통신에 대한 설정
데몬 관리(HTTPS) • HTTPS는 443번 포트를 사용해서 운영되며, 암호화된 웹 접속 할 수 있게 한다. Step 1. 인증 서버의 설치 Step 2. 웹 서버에서 인증 서버로 인증서 발급 요청 Step 3. 인증 서버에서 웹 서버의 인증서 요청 승인 Step 4. 인증 서버에서 승인받은 인증서를 웹 서버에 설치 Step 5. 클라이언트 웹 브라우저 인증서 발급 요청 Step 6. 인증 서버에서 클라이언트 웹 브라우저 인증서 승인 Step 7. 클라이언트에 승인받은 인증서 설치 Step 8. 클라이언트로부터 웹 서버로 HTTPS를 이용한 접속
데몬 관리(SNMP) • SNMP는 시스템의 여러 정보를 원격에서 수집할 수 있도록 한다
데몬 관리 (패치) • Microsoft 사이트에서 해당 패치를 검색하여 업데이트 한다
접근 제어 • 접근 제어 (Sygate) • Sygate를 이용해 현재 동작중인 응용 프로그램 확인
파일 및 디렉토리 관리 • 모든 권한 : 디렉토리에 대한 접근 권한과 소유권을 변경 • 할 수 있으며, 서브 폴더와 파일을 삭제할 수 있다. • 수정 : 폴더를 삭제할 수 있으며, 수정의 권한이 있으면, • ‘읽기 및 실행’ 그리고 ‘쓰기’ 권한이 주어진 것과 같다. • 읽기 및 실행 : 읽기를 수행할 수 있으며, 디렉토리나 파일을 • 이동할 수 있다. • 폴더 내용 보기 : 디렉토리 내의 파일이나 서브 디렉토리의 • 이름을 볼 수 있다. • 읽기 : 디렉토리 안의 내용의 읽기만 가능하다. • 쓰기 : 해당 디렉토리의 서브 디렉토리와 파일을 생성할 수 • 있으며, 소유권이나 접근 권한의 설정 내용을 확인할 • 수 있다.
유닉스 시스템 보안 설정 • 계정 관리 • 서비스 관리 • 패치 관리 • 접근 제어 • 파일 및 디렉토리 관리
계정관리 • 취약한 패스워드의 점검 • 사용하지 않는 계정의 제거 • 중복된 root 계정의 존재 여부 grep ‘:0:’ /etc/passwd
서비스관리 – Inetd 데몬 • /etc/services
서비스 관리 – FTP (포트 21) • 주요 보안 이슈는 원격 버퍼 오버플로우 공격과 포맷 스트링 공격, 그리고 anonymous 로그인과 root 계정의 로그인 허용이 있다. • FTP의 경우 해당 시스템에 계정이 있으면 누구나 로그인이 가능하므로 /etc/ftpusers 파일을 통해서 계정을 제한해주어야 함
서비스관리 – SSH(포트 22) secure CRT 프로그램 • SSH는 암호화된 Telnet 서비스 SSH1은 접속과 인증을 위해서 RSA(Rivest-Shamir-Adleman)를 이용하며, 통신의 암호화를 위해서는 Blowfish, DES, 3DES, RC4 및 IDEA등을 사용함
서비스 관리 – Telnet (포트 23) • 평문 전송으로 암호화 하지 않은 통신으로 보안에 매우 취약하므로 가능하면 사용하지 않는 것이 제일 좋지만 굳이 사용하려고 한다면 최소한의 보안 설정으로 관리자에 대한 로그인 제한을 두는 것이 좋다. • 관리자 원격 로그인 제한 /etc/default/login • 로그인시 경고문 출력 /etc/issue
서비스 관리 – SMTP (포트 25) • Sendmail 에 대한 가장 일반적인 보안 이슈는 원격 버퍼오버플로우나 포맷스트링 그리고, EXPN과 VRFY 명령의 실행여부다. • telnet 192.168.68.5.25 Expn root Vrfy wishfree
서비스관리 • SMTP – Expn, Vrfy 명령 금지 설정 • Vi /etc/mail/sendmail.cf
서비스설정 – TFTP (포트 69) • FTP를 이용해서 접속하고자 할 때, Anonymous 계정이 존재하는 경우를 제외하면 계정과 패스워드를 입력해야만 접속할 수 있다. 그러나 TFTP의 경우에는 이러한 인증 과정이 전혀 없다. TFTP를 이용하는데 계정과 패스워드는 필요 없다. 따라서 TFTP 데몬은 운영하지 않는 것이 최상이며, 운영하고자 할 경우에는 –s(secure) 옵션을 주어 실행한다.
서비스 관리 – SNMP(포트 121) • SNMP의 중지 • SNMP는 다른 서비스와는 달리 inetd 데몬에 의해서 운영되는 데몬이 아니다. Standalone 데몬이라는 뜻이다. 따라서 이 SNMP를 중지시켜주기 위해서는 기본 부팅 설정인 /etc/rc3.d에서 이를 제거해주어야 한다. 제거할 때는 나중에 다시 동작시킬 수 있도록 backup과 같은 디렉토리로 옮겨주자. • Mv /etc/rc3.d/S76snmpx /etc/rc4.d/backup/S76snmpdx
서비스 관리 – Lockd(포트 4045) • 하나의 클라이언트가 시스템 자원에 대해 자원을 공유할 때 파일을 여는 동안 다른 클라이언트가 중복 변경을 행하지 않도록 파일을 잠그는 데몬이다. 이 데몬은 standalone 데몬으로서 SNMP를 정지 시켜주었을 때와 마찬가지 방법을 사용한다.
서비스 관리 – X11 : XDMCP (포트 6000) • XDMCP는 원격에서 GUI 환경으로 시스템을 관리하기 위한 프로토콜이다. 윈도우의 터미널 서비스와 비슷하다고 생각하면 될 것 이다. XDMCP를 이용하기 위해서는 윈도우에서 Xmanager라는 툴이 필요하다.
서비스 관리 – X11 : XDMCP • Xmanager 를 이용한 원격 시스템 접근 후 로그인
패치 관리 - 래드햇 • 보안패치 사이트 정보 - http://www.redhat.com/apps/support/errata
패치관리 – 솔라리스 • Sun 사이트에서 적절한 패치 정보 및 패치 획득
TCPWrapper가 설치되면, inetd 데몬은 연결을 TCPWrapper의 데몬인 tcpd 데몬에 넘겨준다. tcpd 데몬은 접속을 요구한 클라이언트가 적절한 접근 권한이 있는 지를 확인하고, 해당 데몬에 연결을 넘겨준다. 이때 연결에 대한 로깅도 실시한다. • 접근 제어 – TCPWrapper • TCPWrapper 동작 원리 TCPWrapper는 모든 프로토콜에 대한 접근 제어를 할 수 있는 것은 아니다. inetd 데몬이 관리하지 않는 standalone 데몬과 같은 경우는 inetd 데몬이 통제할 수 없으며, TCP 프로토콜 외에 일부 프로토콜에 대해서만 통제가 가능하다.
접근 제어 (TCPWrapper) 적용 • 설정을 변경한 후에는 이를 적용하기 위해서 inetd 데몬을 재시작 해야 한다. /usr/sfw/sbin/tcpd
접근 제어 (TCPWrapper) 접근 제어 • 접근 제어의 설정 - /etc/host.deny • 접근 제어의 설정 - /etc/hosts.allow
/usr/local/bin/tcpdchk • 접근제어 (TCPWrapper) 규칙검사 /usr/sfw/sbin/tcpdmatchin.telnetd 192.168.68.3
접근 제어의 규칙 설정 방법 • ALL : 192.168.68.3, 192.168.68.4 EXCEPT 192.168.68.5 모든 데몬에 대해, 192.168.68.3과 192.168.68.4에 대한 접 근을 허락해주고, 192.168.68.5는 금지한다. • in.ftpd : 192.168.68.0/255.255.255.0 192.168.68.*** 네트워크에 해당하는 시스템이 FTP에 접속하는 것을 허락한다. • in.telentd : .co.kr 도메인 이름이 co.kr로 끝나는 시스템으로부터의 telnet 접근을 허락한다.
파일및 디렉토리 권한 • 각 디렉토리 및 파일 별 적절한 권한 설정 /etc 접근 권한 751 (d rwx r-x --x) /bin 접근 권한 771 (d rwx rwx --x) /usr/bin 접근 권한 751 (d rwx r-x --x) /sbin 접근 권한 771 (d rwx rwx --x) - rw- r-- r— ⓐ ⓑ ⓒ ⓓ ⓐ 파일 및 디렉토리의 종류. - 표시는 일반 파일을, d 표시는 디렉토리를 나타냄. ⓑ 파일 및 디렉토리 소유자의 권한. ⓒ 파일 및 디렉토리 그룹의 권한. ⓓ 해당 파일 및 디렉토리의 소유자도 그룹도 아닌 제3의 사용자에 대한 권한. • 읽기(r: read), 쓰기(w: write), 실행(x: execute)의 권한을 부여
파일 및 디렉토리 관리 /etc/inetd.conf 접근 권한 600 (- rw- --- ---) 시스템이 제공하는 서비스에 대한 정보를 담고 있다. 관리자 이외에는 접근 권한이 없도록 설정한다. 솔라리스에서 기본 권한은 777 이므로 반드시 변경한다.