*Bounce Attack: 익명의 ftp서버를 경유하여 스캔, 네트워크 포트스캐닝을 위해 사용, ftp바운스 공격을 통해 전자 mail을 보내는 공격(fake mail), 익명의 사용자로 접근해 패스워드 없이 ftp서버에 악성코드 업로드, 특정파일 다운로드

 

*tFTP Attack : FTP보다 간단, 설정이 잘못되면 쉽게 가능

 

*Anonymous FTP Attack: 익명의 사용자에게 FTP서버 접근 허용, 익명의 사용자에게 쓰기 권한이 있을 때 악성코드 생성 가능

 

*FTP 서버 취약점: WUFTP 포맷 스트링 취약점 및 각종 버퍼 오버 플로우 공격, 스니핑, Brute Force Attack

 

*보안대책: Anonymous, 사용자의 root 디렉토리, bin, etc, pub 소유자 권한 관리, root\etc\passwd 파일에서 anonymousftp에서 불필요 항목 제거

 

*SMTP(Simple Mail Transfer Protocol)

전자메일을 보낼 때 사용되는 통신규약, tcp 25번 포트, osi 7계층

 

*POP3(Post Office Protocol version 3)

:응용계층의 프로토콜 원격서버로부터 tcp/ip 연결을 통해서 e-mail을 읽어오는데 사용되는 프로토콜, 읽지 않은 메일만 저장, 서버에 저장X

 

*IMAP IMAP4

:POP과 달리 메일을 내려받더라도 원본은 계속 저장, 온 오프라인 유효

 

*MTA(Mail Transfer Agent) : 메일을 전송하는 서버

MDA(Mail Delivery Agent) : 수신측에 고용된 우체부

MUA(Mail User Agent) : 사용자들이 사용하는 클라이언트

 

*PGP(Pretty Good Privacy):

MIME(Multipurpose Internet Mail Extension)객체에 암호화와 전자서명기능을 추가한 암호화 프로토콜

1.전자서명: DSS/SHA, RSA/SHA

2.암호화 : IDEA, 3DES

3.1회용 세션키 : Diffie-Helman OR RSA

4.이메일 호환

5.세그멘테이션

 

*PEM(Privacy Enhanced Mail)

:중앙집중화된 키 인증방식, 구현이 어렵고 높은 보안성

1.메세지 암호화

2.디지털 서명 : RSA

3.인증

4.세션키 생성: MD2, MD5, 3DES

5.전자우편 호환

 

*S/MIME(Secure Multi Purpose Internet Mail Extension)

:표준 보안 메일 규약, 송신자와 수신자를 인증, 메시지 무결성 증명, 첨부파일을 포함, 메일 전체를 암호화, 인터넷 MIME + 전자서명 + 암호화, CA로부터 인증을 받아야 한다.

 

*SendMail 접근파일(Spam Mail 차단)

:etc/mail/access : 작성규칙

ok: 다른 룰이 거부해도 허용

relay: relay허용, 지정된 특정 도메인에 있는 사용자에게 오는 메일을 받음

reject: 수신/발신 거부

discard: 메일을 받기만 하고 완전히 폐기

501: 지정된 e-mail, Domain에 대해 보내는 사람의 주소가 전체, 부분적으로 일치할 경우 메일 거부

550 : 특정 Domain 관련 메일 거부

 

*SPAM MAIL 차단

RBL(Real Time Blocking): 이메일 수신시 간편하게 스팸여부를 ip리스트를 보고 차단

SPL(Sender Policy Framework): 송신자가 자신의 정보를 dns에 등록여부로 수신여부를 결정

 

*Spam Assasin

:점수이용, 90%이상 차단률, perl로 개발, rule기반하에 headerbody를 분석해 점수로 판단

 

*apache 웹서버의 설정파일은 etc/httpd/conf/httpd.conf

 

*SSL(Secures Socket Layer)

:netscape사에서 개발한 인터넷과 같은 개방환경에서 clientserver의 안전한 통신을 위해서 개발, RSA 공개키 알고리즘 사용, X.509지원, 4~7계층, 기밀성,무결성, 인증, 3 Way handshake

 

SSL구성요소

1.Change Cipher Spec Protocol: SSL중 가장 단순한 ProtocolHand Shake Protocol에서 협의된 암호 알고리즘, 키 교환 알고리즘, MAC암호화, Hash 알고리즘이 사용될 것을 웹 서버에 공지

2. Alert Protocol: SSL통신을 하는 도중 누군가의 ERROR나 세션종료등 일 때 첫 바이트 1(Warning), 2(Fatal 즉시종료), 두 번째 바이트는 어ᄄᅠᆫ 이유인지 Description 필드

 

3.Record Protocol: 상위 계층에서 전달받은 데이터를 Hand Shake Protocol에서 협의가 이루어진 암호 알고리즘. 데이터를 암호화 하고 산출된 데이터를 SSL에서 처리가 가능한 크기의 블록으로 나누고 압축

 

SSL 연결 순서

1.Client Hello : Hand Shake Protocol의 첫 단계로 클라이언트의 브라우저에서 지원하는 알고리즘, 키교환 알고리즘, MAC 알고리즘

2.Server Hello : Client Hello 메시지 내용중 서버가 지원할 수 있는 알고리즘들을 클라이언트에 전송

3.Server Hello Done: Client에게 서버의 요청이 완료되었음을 공지

4.Client 인증서: 서버에게 클라이언트의 인증요청 발생시 클라이언트의 인증서 전달

5.Premaster Key 전송: 전달받은 서버의 인증서를 통해 신뢰 할 수 있는 서버 인지 확인 후 암호 통신에 사용할 session key 생성후 이것들을 서버의 공개키로 암호화해 premaster key를 만들어 서버로 전송.

6.Change Ciper Spec: 앞의 단계에서 혐의된 암호알고리즘들을 이후부터 사용한 다는 것을 서버에게 알림

7.Finished: 서버에게 협의 종료를 전달

 

*Open SSL: SSL을 사용해서 보안서버를 구축하기 위해서 웹 서버에 OpenSSL패키지를 설치하고 개인키와 인증서등을 생성하면 된다. 장점은 웹브라우저는 할 일이 없다. OpenSSLSSL보안서버가 가지고 있는 개인키 필요. key.key이고 최소 2048이상, 대칭키(SEED)

OpenSSL version 옵션 -> 버전 확인

 

*OpenSSL 취약점: 하트블리드 취약점이라고도 하며 이것은 OpenSSL암호화 라이브러리의 하트비트라는 확장 모듈에서 발생한 것으로 웹브라우저가 요청했을 때 메모리에 저장된 평문 64KilloByte가 노출. 공격자는 하트비트 패킷헤더에서 payload길이를 조작해 웹서버에 전송. 웹서버는 공격자가 요청한 길이만큼 데이터를 메모리에서 읽어서 공격자에게 전송.

 

*DNS Query종류

1. Recursive Query: Local DNS서버에 쿼리를 보내 완성된 답을 요청

2. Iterative Query : Local DNS서버가 다른 DNS서버에게 Query를 보내어 답을 요청하고, 외부 도메인에서 개별적인 작업을 통해 정보를 얻어와 종합해서 알려준다.

 

세부방식: DNS서버에 요청은 클라이언트가 UDPDNS requestDNS Server에 전송한다. DNS Request를 보낼 때 type이라는 필드에 요청하는 레코드의 구분자를 넣는다.

A: IPv4주소 AAAA:IPv6

 

*DNS 증폭공격(DNS Reflect Attack): Open DNS Resolver 서버를 이용해서 DNS Querytype = ANY 로 설정.

 

*DNS 보안: dnsspoof라는 도구는 DNS Spoofing 가능 도구, 53번 포트 UDP모니터링

 

*DNS 싱크홀: 악성봇에 감염된 PC를 공격자가 조정하지 못하도록 악성 봇과 공격자 명령 차단 서비스

 

*DNSSEC: DNS캐시 포이즈닝과 DNS의 보안 취약점을 보완하기 위해서 등장한 기술이다. DNS응답정보에 전자서명값을 첨부하여 보내고 수신자측이 해당 서명값을 검증하므로 DNS 위변조 방지, 정보 무결성 제공. 공개키로 서명용 키쌍을 생성하여 사전에 배포, 원본 데이터와 추가된 전자서명 값을 함께 넷상에 제공

 

*DNS Cache Poisioning Server Attack

:ClientLocal NetworkDNSDNS Query를 보내면 Root DNS로부터 시작해서 Query를 조회한 다음 사용자가 요청한 www.abc.com 정보를 받아서 쿼리에 대한 응답제공. Local DNS는 해당 정보를 Cache에 저장해두고 비슷한 요청이 오면 다른서버에 묻지도 않고 바로 전송. Local DNS 서버로 DNS쿼리 응답 패킷 전송. transaction ID16bit필드이고 0부터 32768번의 공격으로 transaction ID 맞출수 있다. 이때 잘못된 Query삽입.

+ Recent posts