본문 바로가기
자격증/보안기사

03_애플리케이션 보안_1

by Choraengyi 2021. 1. 27.
728x90

1. FTP(File Transfer protocol)

 

인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜, 

TCP 명령포트 21번 고정

- Active Mode : 데이터 포트 20번

- Passive Mode : 데이터 포트 1024 ~ 65535 중 랜덤 선택

 

① 로그인 과정

PASV 명령을 통한 FTP Passive Mode 변경

FTP 서버는 수신 받을 포트를 정하고 클라이언트에 전달

FTP 클라이언트는 파일을 받기 위해 get 명령 사용(21번 포트)

FTP 서버는 요청한 파일을 src port, dst port(클라이언트가 결정) 로 보냄

# 전송과정이 노출되기 때문에 sFTP 로 암호화 필요

 

② FTP 종류

FTP : ID/PW 인증 수행, TCP

tFTP : 인증과정 없음, UDP 69, 빠름

sFTP : 전송구간에 암호화 기법 사용

 

③ FTP 접근 통제

ftpuser 파일에 ID 추가하면 접근 차단됨

TCP wrapper 를 통한 IP 차단

- 파일

  /etc/ftpusers : 파일에 적용된 사용자 FTP 접근 제한

  /etc/hosts.deny : 특정 IP 의 접근 제한

  /etc/hosts.allow : 특정 IP 의 접근 허용

  

④ xferlog

FTP 서비스 가동 시 -l 옵션을 통해 xferlog 파일 기록 가능

 

Sat Jan 24 22:00:01 2021 1 192.168.1.2 4444 /etc/test.c b _ o r choraengyi ftp 0 * c

1. 전송 날짜와 시간, 요일 월 일 hh:mm:ss 년도

2. 전송시간(초)

3. IP 주소

4. 파일 크기

5. 파일명

6. 파일 유형, a=ascii, b=binary

7. _ : 행위 없음, c : 압축됨, U : 압축 안됨, T : tar 로 묶임

8. 전송 방향, i : 서버로 들어옴, o : 서버에서 나감, d : 파일 삭제

9. 엑세스 모드, a : 익명 사용자, g : 암호 있는 게스트, r : passwd 에 속한 사용자

10. 사용자

11. 서비스

12. 인증 방식

13. 인증 사용자 ID, 과거 RFC 1413 관련, 지금 사용 안함

14. 완료 상태, c : 전송완료, i : 전송실패

 

⑤ FTP 보안 취약점

- Bounce Attack : 익명 FTP 서버를 경유하여 스캔, 네트워크 포트 스캐닝

  #FackMail : Bounce Attack 을 통해 메일 발송하는 공격

- tFTP Attack : 인증절차가 없어 취약

- Anonymous FTP Attack : 익명 사용자가 FTP 서버에 접근 해 악의적 행위

- FTP 서버 취약점 : 포맷스트링, 버퍼오버플로우

- 스니핑 : 암호화되어 있지 않아 평문 노출

- Brute Force Attack : 무작위 대입

 

⑥ 보안대책

- Anonymous : 중요 디렉터리 권한 관리, passwd 에서 불필요 항목 제거

- tFTP : 꼭 필요할 경우 secure mode 운영

- inetd FTP 서비스 : passwd 에 설정된 FTP 사용자를 nologin 설정

 

2. E-Mail

① SMTP(Simple Mail Transfer Protocol)

전자우편 전송 표준 통신 규약, TCP 25, 응용 계층

상대 서버를 지시하기위한 DNS 의 MX 레코드 사용

 

② POP3(Post Office Protocol version3)

E-Mail 읽어오는 프로토콜, 서버에 있는 메일은 삭제됨

TCP 110, MDA

특징 : 메일을 서버에 저장할 수 없음, 서버는 읽지 않은 메일만 보관

 

③ IMAP 및 IMAP4

E-Mail 읽어오는 프로토콜, 서버에 있는 메일은 저장됨

TCP 143

특징 : 온/오프라인 둘 다 사용가능, 메일상태를 중앙관리

IMAP4  는 복잡성과 보안문제 개선

 

④ 메일 처리 방식

MTA : 메일 전송과정

MDA : MTA 에게 받은 메일을 사용자에게 전달

MUA : 사용자들이 사용하는 애플리케이션

 

⑤ E-Mail 보안 기법

- PGP(Pretty Good Privacy)

MIME 객체에 암호화와 전자서명 기능을 추가한 프로토콜, 안정성 우수

암호화, 서명, 압축, 분할, 전자우편 호환성, 세션키 생성

- PEM(Privacy Enhanced Mail)

중앙집중화된 키 인증 방식, 높은 보안

기밀성, 무결성, 인증, 세션키 분배

- S/MIME

표준 보안 메일 규약, 송·수신자 인증, 메세지 무결성, 첨부 파일, 메일 전체 암호화

MIME 에 암호화와 전자서명 추가, RSA

- S/MIME v3

해시 SHA-1, 전자서명 DSA, 공개키 DH, 비밀키 3DES

 

3. SendMail

① sendmail : 유닉스에 포함된 MTA, 최신 버전 업그레이드 유지 필요

② sendmail 운영 모드

-bd : 데몬 모드

-bi : alias database 초기화

-bm : MDA 기능으로 작동

-bp : Queue 내용 프린터

-bs : 표준입력으로 실행

-bt : 테스트 모드, rewrite 테스트

-bv : 확인모드

 

③ sendmail 접근 파일

/etc/mail/access

- OK : 메일 받아들임

- RELAY : relay 허용(중계)

- REJECT : 완전히 거부

- DISCARD : 받기만하고 메세지 페기(통보 안함)

- 501 : 송신 주소가 부분 일치 또는 전체 일치 할경우 거부

- 550 : 특정 도메인에 관련된 메일을 거부

 

④ 스팸메일 차단

-RBL(Real Time Blocking)

스팸정보를 실시간 취합 및 분석해 관련 IP를 리스트로 생성, 

메일서버에서 해당 RBL 서버의 리스트를 참조하여 IP 필터링

KISA-RBL 은 3등급 분류, 등급 높을수록 차단률 높지만 오차단 가능성 높아짐

- SPF(Sender Policy Framework)

메일서버 정보를 사전에 DNS에 공개 등록,

수신자가 이메일에 표시된 송신자 정보가 실제 메일서버인지 확인할 수 있음(발송 IP)

- spamassassin

perl 로 개발, 아파치 재단, score 를 이용한 스팸여부 판단, 90% 이상 차단률

Header와 body 분석하여 RBL 참고, 룰에 따른 score 정해 기준점 초과 여부에 따른 스팸 여부 결정

 

4. 웹서버 보안

① www(world Wide Web)

하이버텍스트 기반으로 웹 문서를 활용한 서비스

특징 : 일괄된 사용자 인터페이스, 하이퍼텍스트(포인터), 능동적 참여(정보공유)

  분산된 저장소, 개방형 표준

Apache 웹서버 설정 파일 : /etc/httpd/conf/httpd.conf

Apache 웹서버 디렉터리 : /var/www/html

 

② Apache 웹서버 보안

- 주요 디렉터리 및 파일 접근 권한 설정 : chown, chgrp, chmod

- 불필요 파일 삭제 : 매뉴얼 파일(/var/www/manual), cgi_bin(/var/www/cgi_bin) 삭제

- Directory Listing : index.html 이 없거나 리스트 보여주는 옵션이 indexes 에 설정된 경우 웹페이지 디렉터리 보임

- Follow SymLinks : 심볼릭 링크를 통한 root 권한 획득 가능, 해당 파일 제거

- Server Tokens : 최소한의 정보만 보이도록

- Serversignature : on 일경우 아파치 버전 및 서버이름 노출

- 접근제어 : 클라이언트의 이름 및 IP 주소등을 통한 접근제어 수행

 

③ Apache 웹서버 세션관리

- Timeout : 클라이언트 요청에 서버가 대기하는 시간 설정, 기본 30초

- MaxKeepAliveRequest : 하나의 지속 연결에서 허용가능한 요청의 최대 개수, 기본 100, KeepAlive가 0일 경우 적용

- KeepAliveTimeout : 연결된 사용자로부터 새로운 요청을 받기까지 얼마나 대기할 것인지, 기본 15

- KeepAlive : 접속 연결에 대한 재요청 여부(on/off), 기본 off

 

④ httpd.conf

order Deny, Allow    #Deny 하고 Allow

Deny from all        #모든 트래픽 차단

Allow from 127.0.0.1 #localhost 만 접속 허용

##localhost 빼고 전부 차단

order Allow, Deny   #Allow 하고 Deny

Allow from all        #모든 트래픽 허용

Deny from 172.16.0.1 #172.16.0.1 만 접속 차단

##172.16.0.1 만 차단

 

⑤ Server Token

httpd.conf 파일에 위치

* ServerTokens os    -> 응답 시 웹서버 버전과 os 정보 포함

* ServerTokens Prod  -> 응답 시 최소한의 정보만 보냄

 

⑥ IIS 구성

- 서비스 : www, FTP, SMTP 등

- 계정 및 그룹 : IUSR_MACHINE(익명계정), IWAM_MACHINE(out-of-process 로 실행되는 웹 애플리케이션 계정)

- 폴더

%windir%\system32\inetsrv : IIS 프로그램

%windir%\system32\inetsrv\iisadmin : IIS 관리 프로그램

%windir%\help\iishelp : IIS 도움말

%systemdrive%\inetpub : www, FTP, SMTP 루트 폴더

- 웹사이트

기본 80 : %systemdrive%\inetpub\wwwroot

관리 3693 : %systemdrive%\system32\inetsrv\iisadmin

 

참고 서적 : www.yes24.com/Product/Goods/89220771

728x90
반응형

'자격증 > 보안기사' 카테고리의 다른 글

03_애플리케이션 보안_2  (0) 2021.02.12
02_네트워크_3  (0) 2021.01.23
02_네트워크_2  (0) 2021.01.23
02_네트워크_1  (0) 2021.01.22
01_시스템 보안 정리_3  (0) 2021.01.22

댓글