보안 김준원 이호영 고재만
진행 순서 보안의 기본적인 개념 해킹의 개념과 종류 보안 알고리즘 리눅스 시스템 보안
1. 인터넷 보안 1)보안이란? 2)해킹 vs 크래킹 3)바이러스 및 해킹 도구들 4)암호화란? 5)무선 네트워크 개념 및 보안 장비들 6)용어 설명: firewell, IDS, RTSS, etc
보안이란? 보안 서비스의 종류 보안은 재난, 실수 및 부정한 조작으로부터 정보, 시스템 및 서비스 를 보호하여 보안 사고의 가능성과 영향을 최소화 하는 것이다. 보안 서비스의 종류 기밀성(Confidentiality): 거래정보 암호화를 통한 정보보호 무결성(Integrity): 거래 정보의 위/변조 방지 인증(Authentication): 거래행위자에 대한 신원 확인 부인방지(Nonrepudiation): 전자서명을 통한 거래 신뢰도 향상 접근제어(Access Control): 선택된 수신자만이 정보에 접근할 수 있도록 허용
- 보안의 영역
2) 해킹 VS 크래킹 해킹 기법의 동향 과거: 데이터를 파괴하는 방법이 성행 해킹은 발전적인 결과를 산출하는 행위 혹은 자신의 실력을 자랑하기 위 한 장난 정도를 가리키는 말로 주로 사용된다. 크래킹은 전산망에 침투해 정보를 훔치거나 시스템을 악의적으로 파괴하는 행위를 말한다. 해킹 기법의 동향 과거: 데이터를 파괴하는 방법이 성행 최근: 웜 바이러스 형태로 대형 피해를 유발시키는 방법이 성행
해킹의 유형 시스템과 서비스 설정의 취약점을 이용한 공격 프로그램의 취약점을 이용한 공격 프로토콜의 취약점을 이용한 공격 악성코드
- 컴퓨터 바이러스의 공통점(‘Ralf Burger’의 정의) 3) 바이러스 및 해킹 도구들 바이러스란? 살아있는 생물학적 의미의 바이러스가 아니라 컴퓨터에서 실행되는 일종의 프로그램 - 컴퓨터 바이러스의 공통점(‘Ralf Burger’의 정의) 1. 컴퓨터 바이러스 프로그램이 아닌 소프트웨어의 프로그램 구조를 다른 프로그램의 구조로 변경 2. 많은 프로그램에 대해 수정이 가능 3. 어떤 프로그램에 행해진 수정 여부에 대해 인식 4. 위의 수정 인식후 같은 프로그램을 또 다시 수정하지 않음
- 다른 형태의 분류: 트로이목마, 웜, Dropper, Hoax □ 컴퓨터 바이러스의 종류 - 부트 바이러스 디스크의 가장 처음 부분인 부트 섹터에 위치하는 프로그램에 자리잡는 컴퓨터 바이러스 - 파일 바이러스 일반적인 파일에 감염되는 컴퓨터 바이러스 부트/파일 바이러스 부트 섹터 영역과 파일의 양쪽 모두에 감염되는 바이러스 - 매크로 바이러스 엑셀(Excel)이나 워드(word)등의 매크로 기능을 악용한 바이러스 - 다른 형태의 분류: 트로이목마, 웜, Dropper, Hoax
□ 해킹 도구 DOLY TROJAN V1.7 KeyLog INCOMMAND V1.5 T0rnkit Li0n 웜 스니퍼(Sniffer) 패킷 스니핑 IP 스푸핑 IP 하이재킹 - 도메인 네임 서버 스푸핑 웹 스푸핑
4) 암호화란? - 암호방식 암호화란 메시지의 내용을 정당한 권한이 없는 자가 볼 수 없도록 만드는 과정 비밀키 암호 방식 (Symmetric or secret key cryptography) 공개키 암호 방식 (Public key cryptography) 복합 암호 방식 송신자 : 평문작성 암호 알고리즘과 암호키로 암호문 작성 수신자 : 복호 알고리즘과 복호키로 평문
5) 무선 네트워크 개념 및 보안 장비 AP 무선네트워크의 보안 인터넷 허 브 라우터 801.11b의 보안상의 문제의 대안으로 제시된 것이 EAP(Extensible Authentication Protocol)와 802.1X를 이용한 인증 시스템이다.
VPN(Virture Private Network, 가상사설망) 6) 용어 설명 - 방화벽(FireWall) 두 네트웍 간을 흐르는 패킷들을 미리 정해놓은 규칙에 따라 차단하거 나 보내주는 패킷 필터 - 백도어(Back Door) 백도어(Back Door)는 원래 시스템 관리자나 개발자가 유사시를 위해 고의로 남겨둔 보안 허점을 악용하는 것을 말함 VPN(Virture Private Network, 가상사설망)
IDS(Intrutsion Detect Sytem, 침입탐지 시스템) 6) 용어 설명(계속) IDS(Intrutsion Detect Sytem, 침입탐지 시스템)
ESM(Enterprise Security Management, 통합보안관리 6) 용어 설명(계속) ESM(Enterprise Security Management, 통합보안관리 PKI(Public Key Infrastructure)
해킹의 종류 Local attack Remote attack DOS 공격시스템에 잠입한 침입자가 root권한을 얻어내기 위한 공격 시스템 내부 프로그램들의 버그나 환경변수 조작, 경쟁방식, 관리자에 의한 시스템의 잘못된 설정 등을 이용. Remote attack 외부에서 공격호스트의 Deamon이 가지고 있는 버그나 NFS등의 잘못된 설정을 이용하여, 유저들에 관한 정보들을 가지고 공격하는 방식 DOS 서비스 거부 공격
Password Crack 공격 시스템 사용자의 패스워드를 찾아내어 공격하는 기법. 암호화되어 저장된 패스워드를 암호알고리즘의 특성을 이용하여 찾아내는 방법. 요즘에는 패스워드를 MD5로 가변길이의 패스워드를 일정한 길이(255자)의 해쉬함수로 만들어 암호화한 뒤, 다시 섀도우 (shadow)파일 형태로 저장. 퍼미션이 잘못 지정되어 있다든가 하는 이유로 패스워드 파일이 노출될 수도 있다. Crypt()라는 단방향함수를 이용하여 패스워드를 찾아내는 것
crypt 암호화 기법 crypt는 password 길이의 제한 앞의 8 byte 까지만 받아들임 시간이 조금 걸리는 것부터 차근차근 풀어보는 것이 훨씬 효과적인 방법 1000 ~ 99999 사전단어
백도어 해커가 일단 시스템을 성공적으로 해킹해 루트 권한을 얻은 후 해킹과 관련된 모든 로그 파일을 지우거나 수정하고 로그아웃(logout)하는 것이 일반적. 백도어(Back door)는 시스템의 리소스를 다시 사용할 필요가 있을 때 새로 해킹하지 않고도 손쉽게 루트 권한을 얻기 위해 시스템에 심어 놓은 프로그램. 백신을 설치하여 치료, 예방 지속적인 계정보안으로 예방
버퍼 오버플로우(Buffer Overflow) 애플리케이션 프로그램의 버그를 이용하여 관리자 권한을 취득하거나, 비정상적 동작을 유발하는 공격기법으로서 가장 치명적이다. OS나 컴퓨터에 따라 다르게 나타나며, 항상 새로운 취약점이 발견되어 공격 방법으로 애용되므로 실질적인 완벽한 해결책은 없다고 할 수 있다. 해킹기술 중 root를 가장 얻기 쉬운 기술이 버퍼 오버플로우라 할 수 있다.
버퍼 오버플로우 (계속) 버퍼를 넘치게 해서 원하는 코드를 실행하게 하는 방법 버퍼 오버플로우에 취약 프로그램의 실행 가능한 주소 영역에 수행하고자 하는 공격 코드를 삽입한다. 프로그램을 개발한 업체에서 만든 패치를 사용하여 문제를 해결 할 수 있다.
버퍼 오버플로우 리턴 어드레스부분을 원하는 메모리 주소로 가게 하고 , main() --> test() --> main() --> 종료 main() -> test() -> 해커가 만든 함수 혹은 프로그램부분 int test(void){ int i=100; i=i+1; return i; } void main(void){ int k; k = test(); /* (1) */ printf("정답(?) :: %d \n",k); 리턴 어드레스부분을 원하는 메모리 주소로 가게 하고 , 그 부분에 엉뚱한 프로그램을 올려놓고 해커 프로그램 실행
스니핑(Sniffing) Sniff : 냄새를 맡다, 코를 킁킁거리다. 컴퓨터 네트워크상에 흘러다니는 트래픽을 엿듣는 도청장치(스니퍼) 이더넷 인터페이스를 "promiscuous mode"설정하여 로컬 네트워크를 지나는 모든 트래픽을 도청
스니핑(Sniffing) (계속) sniffit –a –p 23 –t 210.115.227.99
스니핑(Sniffing) (계속) 스니핑에 대한 해결책 보안셀(SSH)이나, IPSEC을 이용한 암호화된 총신을 이용하는 것 스니핑에서 가장 문제가 되는 패스워드를 숨기기 위해서는 One Time Password를 이용하는 것이 적절 자신의 워크스테이션에 대하여 ifconfig를 수행하여 ‘Promiscusous' 상태에 있는지 점검하는 것 필요.
스푸핑 패킷을 의도적으로 자기 컴퓨터에 경유하게끔 하는 기법
스푸핑 (계속) 스푸핑은 LAN 상에서 송신부의 패킷을 송신과 관련없는 다른 호스트에게 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 자기 컴퓨터에게 그 패킷이 오도록 처리하는 것 송신부에서 내 컴퓨터로 오는 패킷을 다시 수신부로 전송해야 하는데 이를 릴레이(Relay)라 한다. 릴레이를 하지 않으면 송신부와 수신부 사이에 네트워크가 마비된 것처럼 되어 버리기 때문에 반드시 릴레이를 해 주어야 한다.
IP스푸핑(spoofing) 스푸핑(spoofing) IP 스푸핑 ‘속이다’의 의미 IP 스푸핑 IP를 속여서 공격하는 기법 인터넷 프로토콜인 TCP/IP의 구조적 결함이용 Three-way handshaking 결함 침투하고자 하는 컴퓨터를 무력화 하기 위해 자신이 그 컴퓨터인 것처럼 가장하는 것
IP스푸핑(spoofing) (계속) IP 스푸핑 공격 포트21 해커 PC 서버(C) (A) 서버(B) 포트 514 (1) 서버를 우둔하게 만든다. (2) 순차번호를 추적하다. (3) 스푸피 패킷을 보낸다. (5) ACK을 보낸다. 포트 514 (4) ACK를 C로 보낸다. (4) RTS를 B로
IP스푸핑(spoofing) (계속) 패킷 필터링을 사용하여 방지 외부에서 들어오는 패킷중에서 출발지 IP주소에 내부망 IP주소를 가지고 있는 패킷을 라우터 등에서 막아낼 수 있다. 내부 사용자에 의한 공격은 막을 수 없다. 시스템에서 TCP wrapper, ssh등을 설치운영. rsh, rlogin 등과 같이 패스워드의 인증 과정이 없는 서비스를 사용하지 않는 것이 바람직. 지속적인 보안 관리 및 점검만이 최소한의 피해를 막을 수 있다.
ARP 스푸핑 ARP(Address Resolution Protocol) ARP는 physical address와 network address를 매칭시키는 프로토콜 위조된 ARP 응답 패킷을 특정 컴퓨터에 보냄으로써 그 컴퓨터로 하여금 자신의 컴퓨터로 패킷을 오게 하는 방법 스푸핑 후에 A가 192.168.10.2로 데이터(TCP나 IP 등)를 보내려고 하면 B로 보내지는 것이 아니고 실제적으로 C로 보내게 된다
로그인 스푸핑(Login Spoofing) 대상 호스트의 화면을 로그인 화면처럼 보여서 사용자를 속이는 방법
로그인 스푸핑(Login Spoofing) 이때 ID를 입력함으로써 간단하게 ID와 패스워드를 알게 된다. 이는 정상적인 프로그램이 아니므로 ”login incorect"를 출력하고 마치도록 한다. 비밀번호는 화면상에 echo되지 않으므로 사용자는 비밀번호를 실수로 입력했다고만 생각한다.
DoS(Denial of Service) DoS란 root권한을 원하는 것이 아니고, 시스템 또는 네트워크 자원을 파괴하여 서비스를 중단시키거나, 임시적으로 동작을 하지 않도록 만드는 것을 말한다. DoS공격 기법에는 TCP SYN attack, Ping of Death, SMURF attack 등이 있다.
TCP Background TCP Connection (1)SYN (2)SYN/ACK Host Client (3)ACK TCP는 연결지향의 믿을 만한 통신 protocol이다. TCP는 Three-way Handshake를 사용한다. (1)SYN Client Host (2)SYN/ACK (3)ACK
TCP SYN attack TCP SYN Flooding은 DoS Attack의 일종. 공격 호스트 (A) 1.SYN 2.SYN/ACK 목적 호스트 (B) 반응하지 않는 호스트 (C) 3. ACK
Ping of Death 65,535 byte 보다 큰 패킷을 보내는 것 상대방에게 계속 많은 양의 데이타를 보내면 큐가 포화상태로 되어 다른 호스트의 접근 불가.
SMURF attack 라우터가 패킷을 받아서 다른 포트로 포워딩 할때 목적지 IP Address의 네트워크 부분만 참조하여 패킷을 전달하는 점 이용. 출발지 IP주소를 자신의 IP주소가 아닌 공격 대상 IP주소로 변조.
1. authentication 분야 인증이란 사용자 인증방법 패스워드 인증 방식 Challenge-Response 방식 비밀키를 이용한 인증 방식 MAC을 이용한 메시지 인증 방식 Message Digest 를 이용한 인증 방식 공개키를 이용한 인증 방식 비밀키 인증방식과 공개키 인증방식 비교 공개키 인증문제
인증 방식의 일반적 개념 암호화 알고리즘 인증 알고리즘 평문 메시지(M) 암호문 전송 도청자 안전성이 보장 되지 않는 통신로 M=M’? 타당성 검증
Challenge-Response 구성도
비밀키를 이용한 인증방식 비밀키를 이용한 인증 모델1 비밀키를 이용한 인증방식 비밀키를 이용한 인증 모델1 검증자 난수 R 사용자 암호화 비밀키(k) 암호화 결과(C) 비밀키를 이용한 인증 모델2 검증자 난수 R 비밀키 암호화(E) 복호화 사용자 R 비밀키(k) R을 변형하여 암호화 결과 결과(X)
상호인증 모델 (비밀키 기반) 사용자A 사용자B 암호화 난수 RB 메시지 생성(MB) 자신 및 A의 식별자 비밀키(k) 복호화 난수 RA 난수 RB 메시지 생성(MB) 자신 및 A의 식별자 비밀키(k) 암호화 결과 메시지(MA) 생성 RB 및 자신의 식별자
Message Digest를 이용한 인증 A와 B가 서로를 인증 임의의 숫자(X) 비밀키(k) MD알고리즘 X, MD(k+X) 임의의 숫자(Y) Y,MD(k+Y) MAC을 이용한 메시지 인증 메시지인증방식의 공격 유형 및 기본모델 1) 메시지인증방식에 대한 공격유형 2) 일반적인 MAC을 이용한 메시지 인증 모델
공개키를 이용한 인증방식 비밀키 인증방식과 공개키 인증방식 비교 공개키를 이용한 인증방식 비밀키 인증방식과 공개키 인증방식 비교 PK E(M) SK E(M) M M 검증자 사용자 공개키(PK) 비밀키(SK) PK 평문(M) 결과 E(M) 암호화 복호화
공개키 인증 문제 M = Dskb(C) M = Charles에게. 나의 비밀번호는 7623입니다 공개키 : pka 개인키 : ska 공개키 : pkb 개인키 : skb Charles의 공개키 = pkb C Dskc(C) = ? Alice Bob Charles 공개키 : pkc 개인키 : skc C = Epkb(M)
2. integrity checking 분야 2.1 암호 알고리즘 암호란? 암호 기술 분류 암호화 알고리즘 암호의 목적 비밀키와 공개키 알고리즘 비밀키 방식의 DES 알고리즘 공용키 방식의 RSA 알고리즘 해쉬 알고리즘 암호 프로토콜
암호화 알고리즘? 키를 가지는 암호화/복호화 과정 Ek 평문 암호화 암호문 Dk 평문 복호화
비밀키 알고리즘 비밀키 암호의 장점?
공개키 알고리즘 1. 공개키와 개인키 생성 2. 공개키는 공개하고 개인키는 개인이 소유 3. A는 B의 공개키로 메시지를 암호화 4. B는 자신의 개인키로 메시지 복호화 (B의 개인키를 모르는 제 3자는 메시지 복호 불가능)
비밀키 방식의 DES 알고리즘 DES 암호문 길이 : 64비트 배경 특징 DES의 사용 DES의 구성도 • • • 평문(64비트) 전치 평문(32비트) 평문(32비트) 평문(64비트) 레지스터 1 레지스터 1 비밀키1 환자암호1 비밀키 (64비트) DES • • • 비밀키16 레지스터 16 레지스터 16 암호문(64비트) 역 전치 암호문(64비트)
암호 프로토콜(Cryptographic Protocol) : 신뢰성을 확인할 수 없는 두 주체 또는 다 주체간에 암호계를 이용하여 안전한 통신을 하는 절차. Network Alice Bob Bob으로 위장 개인식별(Identification) 인증 (Authentification) 서명(Signature) 암호프로토콜
2. integrity checking 분야 메시지 무결성이란? 메시지 무결성 제공 방법 MD5 디지털 서명 MD5의 강도 배경 및 특징 MD5의 강도 디지털 서명 디지털 서명과 인증의 필요성 디지털 서명의 조건
공개키를 이용한 디지털 서명 간략한 예 Plain Text 서명 확인 암호 복호 Cipher 전송 Signature 사용자 B 비밀키 복호 서명 확인 디지털 서명의 특징 위조불가(Unforgeable) : 서명자만이 서명문을 생성 가능 서명자 인증(Authentic) : 서명문의 서명자를 확인 가능 재사용 불가(Not Reusable) : 서명문의 서명은 다른 문서의 서명으로 사용 불가 변경 불가(Unalterable) : 서명된 문서의 내용을 변경 불가 부인불가(Not Repudiation) : 서명자는 후에 서명 사실을 부인할 수 없음
공개키 기반 구조 등장배경 과 PKI 의 정의 PKI 구성요소 정책승인기관(PAA; Policy Approving Authority) 인증기관(CA; Certification Authority) : PCA 하위 기관 등록기관(RA; Registration Authority) 디렉토리(Directory) 사용자(User) PKI 구성 도 및 구성 방법 PKI 와 디지털 서명 효과
PKI의 구성도 PAA PCA CA 인증기관 ORA PKI Client
디지털 서명 인증체계 PKI기반 전자서명 인증체계 정보통신망 공인인증기관 전자서명 생성 전자서명생성키 (비밀키) 전자서명검증키 (공개키) 서명자 및 변조 여부 확인 공인인증기관 신원확인 및 인증서 발급 정보통신망 전자문서 bc12726da4354a65b7cd6bc7d98a9c8bc8 인증서 검증 전자문서+전자서명+인증서 인증서 유효여부 확인 PKI기반 전자서명 인증체계
3. non-repudiation 분야 3. 1 키관리 키관리 개요 키 분배 비밀키 분배 공개키 분배 디지털증명(Digital Certificate) X.509 PGP(Pretty Good Privacy)
키 관리 키 관리 암호 메커니즘의 안전성 및 신뢰성 키 분배 프로토콜의 목적 키 분배 키관리 개요 - 키(Key)에 절대적으로 의존 - 키 관리가 중요 키 분배 프로토콜의 목적 - 두 사용자간의 안전하고 효율적인 공통 키의 공유 키 관리 키 분배 생성 등록 및 해제 확인 파괴 및 폐기 저장 관용 암호를 이용한 키 분배 공개키를 이용한 키 분배 키전송 키동의 키전송 키동의
: 안전한통신로 U1 K10 K1 K2 U5 U2 총 키의 개수 : 5C2 = 10개 K3 K9 K8 K4 K5 K7 K6 비밀키 분배 ■ 비밀키 암호의 키분배 U1 U2 U5 U3 U4 K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 총 키의 개수 : 5C2 = 10개 : 안전한통신로
■ 비밀키를 분배하는 전형적인 방법 █ 비밀키 배달의 문제점 해결 █ 공개키를 이용한 키분배 ( 두개의 키 사용 ) 비밀키 분배 ■ 비밀키를 분배하는 전형적인 방법 █ 비밀키 배달의 문제점 해결 █ 공개키를 이용한 키분배 ( 두개의 키 사용 ) 공개키(Public Key) 개인키(Private Key)
한번 잠기면 영원히 열지 못하는 자물쇠 Trapdoor 일방향 함수 (예:비밀키 암호) 공개키 암호 Keyed 일방향 함수 공개키 분배 키 없는 자물쇠 한번 잠기면 영원히 열지 못하는 자물쇠 Trapdoor 일방향 함수 (예:비밀키 암호) 공개키 암호 잠김 열림 공개키 비밀키 Keyed 일방향 함수
A B 공개키 분배 기밀성 (A가 B에게 평문 M을 암호화하여 보내는 경우) 잠김 B의 공개키 B의 비밀키 열림 A B (어느 누구도 암호문을 생성할 수 있지만 오직 B만이 복호 가능) 인증성(디지털 서명)(A가 B에게 평문을 서명하여 보내는 경우) A의 비밀키 A의 공개키 (A만이 서명을 할 수 있지만 어느 누구도 확인 가능)
공개키 분배 public key private key 암호문 평문 공개키 분배 채널 Encryption Algorithm Decryption Algorithm
U1 (pk1, sk1) : 일반통신로 pk1 U5 U2 pk2 공개 영역 (pk5, sk5) (pk2, sk2) pk5 공개키 분배 공개키 암호의 키분배 (pk4, sk4) U1 U2 U5 U3 U4 (pk1, sk1) (pk2, sk2) (pk5, sk5) 공개 영역 pk1 pk2 pk3 pk4 pk5 : 일반통신로 총 키의 개수 : 5개
디지털증명(Digital Certificate) X. 509 디지털증명(Digital Certificate) █ 공개키 기반 구조 등장 배경 전자상거래, CALS 등 인터넷 서비스 발달 보안 관련 문제점 대두 공개키 암호 방식으로 해결 공개키 암호 방식 사용 공개키 인증, 인증서 관리 필요 인증 기관 : 인증서를 통하여 공개키 인증 수행 인증 서비스 영역의 확장 및 개별 공개키 디렉토리와 호환성 유지 필요 해결책 공개키 기반 구조(Public Key Infrastructure) 등장 CALS : Continuous Acquisition and life cycle support
+ = █ 공개키 인증서 X. 509 기능 : 인증기관(CA : Certification Authority)에 의해 발급되며, █ 공개키 인증서 기능 : 인증기관(CA : Certification Authority)에 의해 발급되며, 정당한 사용자의 공개키임을 보증(예:X.509) 사용 : 공개키 기반의 시스템을 구축하는 경우 (PKI(public Key Infrastructure)에서 중요한 기반요소) 사용자 A의 공개키 사용자 A의 공개키에 대한 신뢰기관(CA)의 확인서 (즉, 신뢰기관의 디지털서명) 사용자 A의 확인서(사용자 A의 공개키와 그에 대한 신뢰기관의 디지털서명 포함) + =
Certificate Life Cycle █ Certificate Life Cycle X. 509 Certificate Application Certificate Expiration and Renewal Validation of Certificate Application Certificate Life Cycle Certificate Revocation Certificate Issuance Acceptance of Certificate by Subscriber Certificate Suspension Use of Certificate
X. 509 주민증 라이프 사이클 █ 주민 등록증 Life Cycle Certificate Application Expiration and Renewal 출생신고 Validation of Certificate Application 사망 주민증 라이프 사이클 Certificate Revocation 이민? Certificate Issuance 주민증발급 주민증분실 Acceptance of Certificate by Subscriber Certificate Suspension 계좌개설 Use of Certificate
ISO/IEC/ITU-T X.509 X. 509 version 1 & 2의 보완 █ Standard of Certificate CA’s Private Key Version Serial Number Signature algorithm Identifier Generate Digital Signature Issuer(CA) X.500 name Standard extension group Key and Policy Information Subject and Issuer Attributes Certification Path Constraint Extension related to certificate revocation lists(CRLs) Validity Period (start and Expiry Dates/Time) Subject X.500 name Subject Public Key Information Algorithm Identifier Public Key Value Issuer Unique Identifier Extension Type Crit./Non-crit. Extension Field Value Subject Unique Identifier Extensions Extension Type Crit./Non-crit. Extension Field Value Certification Authority’s Digital Signature Extension Type Crit./Non-crit. Extension Field Value
X. 509 █ 주민등록증 vs. Certificate - Version 주민등록번호 Serial Number - Signature algorithm Identifier 관할기관명 Issuer(CA) X.500 name 발급일 Validity Period (start and Expiry Dates/Time) 성 명 Subject X.500 name - Subject Public Key Information Algorithm Identifier - 지문 Public Key Value 관할기관장 날인 Issuer Unique Identifier 사진 Subject Unique Identifier 주소, 본적, 호주, 병역,특기번호 Extensions 관할기관 압인 Certification Authority’s Digital Signature
RSA, DSS/Diffie-Hellman, PGP █ PGP 기능과 사용 암호 알고리즘 기능 사용 알고리즘 메시지 기밀성 IDEA ( International Data Encryption Algorithm ), Triple-DES 전자 서명 (무결성, 사용자 인증, 송신자 부인봉쇄) RSA, DSS/Diffie-Hellman, SHA-1, MD5, RIPEMD-160 압축 ZIP 전자우편 호환성 Radix-64 conversion Radix-64 conversion을 통하여 세 개의 8비트를 4개의 ASCII문자로 변환 단편화와 재조립(최대메시지 50,000옥텟, 자동으로 단편 분할)
4. wireless
리눅스 서버의 기본적인 보안조치 시스템 설치 파티션 구성 패치설치 FTP 보안 Xinetd SSH TCP Wrapper 명령 및 파일 보안 포트 보안 DNS 보안 계정관리에 대한 보안
시스템 설치 시스템 안전의 출발은 설치 시점. 고립된 네크워크에 위치시켜야 한다. 최소한의 패키지 만을 설치 중계해줄 또 하나의 시스템 필요 최소한의 패키지 만을 설치
파티션 구성 루트 시스템은 가능한 크게 만든다. /var 파티션 분할 /home 파티션 분할 모든 것을 루트 파티션에 설치 한다. /var 파티션 분할 데이터들로 인한 서비스 거부 상태 400MB /home 파티션 분할 사용자가 많을 경우
패치 설치 패치를 적용하지 않으면 시스템 침해 위험. 고립된 네트워크 환경 wu-ftpd 패치 설치 중계 서버를 통해서 패치 해야함. wu-ftpd 패치 설치 rpm –Uvh wu-ftpd-2.6.0-i386.rpm
FTP 보안 Very Secure FTP Deamon 익명 FTP 서버 제한 계정의 FTP 서버 접속 제한 Pro-ftpd, wu-ftpd보다 보안이 강화된 vsftpd 익명 FTP 서버 제한 계정의 FTP 서버 접속 제한
익명 FTP 서버 제한 /etc/vsftpd/vsftpd.conf Anonymous_enable = No 로 설정
익명 FTP 서버 제한 (계속) idle_session_timeout Data_connection_timeout 데이터를 한번에 어느 정도의 시간까지 전송 허용 할 것인가 결정.
계정의 FTP 서버 접속 제한 콘솔에 원격 터미널 접속은 허용하면서 FTP 서버의 접속은 불허 할 경우 /etc/vsftpd.user_list
xinetd /etc/xinetd.conf # Simple configuration file for xinetd # # Some defaults, and include /etc/xinetd.d/ defaults { instances = 60 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 25 30 } includedir /etc/xinetd.d 동시에 실행될 데몬수 로그 기록 포멧 정의 핸들러가 시작,종료시 기록될 속성
xinetd (계속) xinetd 방식의 네트워크 서비스의 속성들 Socket_type : tcp/ip 소켓을 지정 protocol : 서비스가 이용하는 프로토콜 지정 server : 실행될 데몬 지정 server_args : 데몬에 넘겨질 인수 지정 disable : 서비스 허용 여부
SSH telnet 보안에 취약점을 방지하고자 만들어진 원격 접속 프로그램. 개인 인증키 암호 기법 사용 평문으로 데이터 전송이 이루어지기 때문에 스니퍼에 취약 보안에 취약점을 방지하고자 만들어진 원격 접속 프로그램. 개인 인증키 암호 기법 사용
TCP Wapper xinetd 방식의 네트워크 서비스 제공방법 TCP Wrapper를 통해서 서비스 제공 /etc/hosts.allow /etc/hosts.deny 클라이언트 요청 xinetd TCP Wrapper 데몬 실행 서비스 실행
TCP Wapper hosts.deny
명령 및 파일 보안 계정을 통하지 않은 불법적인 접근을 막는다. ‘chmod 700’ 이용. /usr/bin/finger 서버 이용자 파악 불가 /usr/bin/gcc /usr/bin/cc /usr/bin/rlogin /bin/mail 텔넷으로 메일을 확인 불가 /etc/hosts.allow /etc/hosts.deny
포트 보안 근본적인 보안취약점을 해결하고자 하는 적극적인 보안 조치 lokkit 명령을 사용 방화벽 설정
포트 보안 (계속) No Firewall High Medium 어떠한 보안 설정도 하지 않는다. DNS 포트(54번)와 DHCP를 이용한 IP 이외에는 사용하지 않는다. 외부 접근 불가 Medium FTP(21번), SSH(22번), telnet(23번), HTTP(80번) 포트만 허용
포트 보안 (계속) iptables 명령 방화벽이 제대로 설정되어 있는지 확인
포트 보안 (계속) nmap IP Address 실제로 사용되고 있는 포트 확인 명령 수행 자체가 해킹시도로 판단
DNS 보안 데몬이 한정되어 있기 때문에 해킹하기 나쁜 조건. DoS공격에는 속수무책. IP 스푸핑에 의해 DNS 서버의 내부 정보를 모두 빼낼 수도 있음.
Zone transfer의 제어 DNS 서버 관리에 있어서 가장 흔히 잘못 설정하는 것 중의 하나는 바로 불필요한 사용자에게 DNS Zone Transfer를 허용하는 것이다. 해당 도메인의 Zone에 대한 복사본을 얻기 위해 Primary Name Server로부터 Zone 데이터베이스를 끌어오는 작업을 Zone Transfer라 한다. Zone Transfer는 Primary Name Server와 Secondary Name Server의 Zone 정보를 일관성 있게 유지하기 위해 이루어 지기 때문에 Second Name Server에서만 Zone Transfer를 할 수 있도록 하면 된다.
Zone transfer의 제어 (계속) Allow-transfer 2차 네임서버가 존재한다면 2차 네임서버의 IP Address를 적어준다. 1차 네임서버가 독립적으로 존재한다면 {none;};으로 정의
Zone transfer의 제어 (계속) /etc/named.conf
계정보안 사용자 계정에 관련된 보안은 서버 보안의 가장 기본 /etc/passwd, /etc/shadow 파일에 대해서 보안을 조치한다. 불필요한 시스템 계정 제거 /etc/passwd 파일에 리눅스 서버를 자체적으로 관리하기 위한 계정들이 있음. UID가 0번인 root 계정을 제외하고 1부너 499번 사이에 존재하는 기본 설정되어 있는 계정들이다. 계정이 많으면 보안상 취약점이 많이 생긴다.
계정보안 (계속) /etc/passwd 파일에서 root 계정외에 UID, GID가 ‘0’으로된 사용자 계정이 존재하는지 수시로 확인. vi 에디터로 들어가서 찾기 명령(/:0:)혹은 grep 명령으로 찾는다. 해당되는 계정이 나온다면 100% 해킹이 되었다고 판단해야 한다.
계정보안 (계속) 계정의 일시적인 접속 제한 사용자 계정을 삭제하지 않은 상태에서 접속을 제한하는 가장 일반적인 방법은 /etc/shadow 파일에서 암호 필드를 변경시켜 놓는 방법. /etc/shadow 파일에서 암호 필드에서 유일하게 사용하지 않는 문자는 애스터리스크(*)이다. 암호 필드 앞에 * 표시를 해 놓으면 그 계정은 어떠한 암호 유형과도 일치하지 않게 되므로 접속할 수 없게 된다.
문 제 다음에서 설명하는 것은 무엇인가요? " 시스템에서 허가되지 않거나 비정상적인 행위에 대하여 탐지하는 시스템 “ 해쉬 알고리즘 3가지 이상 말하세요? 2003년 1월 25일 인터넷 대란이 발생하였습니다. 그 원인은 무엇이라 생각하십니까?
정통부 발표 슬래머 웜에 감염된 서버가 초당 1만~5만개의 패킷을 생성, 네트워크 트래픽 증가. 인터넷 데이터 센터에서 LAN으로 연결된 서버중 하나가 감염될 경우 내부망 트래픽이 폭주해 함께 연결된 다른 서버도 접속불가.
상대적으로 많은 SQL 서버 감염 국내 루트 DNS 서버가 부족. 초고속통신망 및 IDC를 통한 급속한 확산 일반 이용자들의 보안 불감증