ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보보안기사] 인터넷 응용 보안
    Certificate/정보보안기사 2022. 10. 23. 12:56
    반응형

    1. FTP(File Transfer Protocol)

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

    - 명령 포트와 데이터 포트를 사용해 파일을 업로드 하거나 다운로드 함

    - FTP 서버는 로그인 성공 시 응답코드 230번을 FTP 클라이언트에게 전송해 로그인 성공을 알림

    - tFTP : 인증 과정 없이 UDP 기반으로 데이터를 송수신 함, 69번 포트 사용

    - sFTP : 전송 구간에 암호화 기법을 사용해 기밀성 제공

    - /etc/ftpusers : 특정 사용자의 ID를 등록해 FTP 접근에 대한 차단 설정을 할 수 있는 파일

    - /var/log/xferlog : FTP 서비스의 로그 파일(FTP 서비스 기동 시 -l 옵션 부여)

     

     1-1. FTP Acive Mode

     - FTP Client에서 FTP Server 21번 포트로 접속(명령 포트)

     - FTP Client와 FTP Server는 20번 포트로 데이터 전송(데이터 포트)

     

     1-2. FTP Passive Mode

     - FTP Client에서 FTP Server 21번 포트로 접속

     - FTP Server가 데이터 송수신을 위한 1024번 이상의 랜덤 포트를 결정해 FTP Client에 알림

     - FTP Client에서 알게된 랜덤 포트를 이용해 데이터 전송

     

     1-3. FTP 보안 취약점

     - Bounce Attack : 익명 FTP 서버를 경유하여 공격 대상의 포트를 스캐닝하는 공격

     - tFTP Attack : 인증 절차가 없어 누구나 호스트에 접근해 파일을 다운로드할 수 있는 취약점

     - Anonymous FTP Attack : 익명 사용자가 FTP 서버에 접근 가능하고, 쓰기 권한이 있으면 악성코드 생성 가능

     - FTP 서버 취약점 : wuftp 포맷 스트링 취약점 및 각종 Overflow 공격

     - Sniffing, Brute Force Attack 등

     

     1-4. FTP 보안 대책

     - Anonymous : 사용자의 주요 디렉터리 소유자의 권한을 관리

     - tFTP : tFTP가 필요한 경우 Secure Mode로 운영

     - /etc/passwd 설정 : FTP 사용자는 로그인할 필요가 없기 때문에 nologin으로 설정


    2. E-Mail Security

    - SMTP : 인터넷에서 전자우편을 보낼 때 사용되는 표준 프로토콜로 TCP 25번 Port 사용

    - POP3 : 원격 서버에 접속해 E-Mail을 읽는 MDA로 TCP 110번 Port 사용, 읽은 후 원격 서버의 Mail 삭제

    - IMAP : 원격 서버에 접속해 E-Mail을 읽는 MDA로 TCP 143번 Port 사용, 메일 박스에 원본 계속 저장

    - MTA : 메일을 전송하는 서버

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

    - MUA : 사용자들이 사용하는 클라이언트 애플리케이션

     

     2-1. PGP(Pretty Good Privacy)

     - MIME 객체에 암호화와 전자서명 기능을 추가한 암호화 프로토콜

     - 다양한 기종에서 사용되며 안전성이 우수한 프로토콜

     - 송수신자의 메시지에 대해 보안 서비스를 제공하고, 평문 메시지를 암호화 함

     - 전자서명, 메시지 암호화, 압축, 전자우편 호환성의 기능을 가짐

     

     2-2. PEM(Privacy Enhanced Mail)

     - 중앙집중화된 키 인증 방식으로 구현이 어렵고, 높은 보안성을 제공

     - 메시지 암호화, 디지털 서명, 인증, 세션키 생성, 전자우편 호환성의 기능을 가짐

     

     2-3. S/MIME(Secure Multi-Purpose Internet Mail Extensions)

     - MIME에 전자 서명과 암호화 기능을 첨가한 보안 프로토콜

     - 표준 보안 메일 규약으로 메일 전체를 암호화 함

     - CA(인증기관)로부터 자신의 공개키를 보증하는 인증서를 받아야 함

     

     2-4. Sendmail

     - 대표적인 MTA로, 유닉스에 기본적으로 포함되어 있는 프로그램

     - 버그가 굉장히 많아, 지속적으로 업데이트가 필요

     

     2-5. Spam Mail 차단

     - RBL : 스팸 메일에 사용되는 IP 리스트를 등록하고 그것을 기반으로 차단하는 기법

     - SPF : DNS에 발신자의 SPF 레코드를 등록, 수신 시 등록된 SPF 레코드를 확인해 IP와 비교 후 수신 여부 결정

     - Spam Assassin : Rule 기반 하에 실시간 차단 리스트를 참고하여 Rule에 따른 점수의 총점으로 스팸 여부 결정

     - Sanitizer : 확장자를 사용한 필터링, MS Office 매크로 검사, 악성메일 Score, 감염된 메시지 보관장소 설정

     - Procmail : 메일 크기, 내용, 보낸 사람 등으로 필터링을 지원

     - Inflex : 내외부로 발송되는 메일을 검사하고 첨부파일을 필터링


    3. Web Server Security

    - httpd 데몬프로세스의 실행으로 Apache 웹 서버 기동

    - TCP 80번 Port 사용

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

     

     3-1. 주요 디렉터리 및 파일 접근 권한

     - Root에 의해 실행 가능한 모든 명령어는 다른 사용자가 수정하지 못하도록 설정

     

     3-2. 불필요한 파일 삭제

     - Apache 설치 시 기본적으로 설치되는 /var/www/cgi-bin은 위험하므로 삭제

     - /var/www/manual 파일은 시스템 정보를 제공할 수 있으므로 삭제

     

     3-3. Directory Listing

     - index.html이 없거나 Listing을 보여주는 옵션이 설정되어 있는 경우 웹 페이지의 Directory를 볼 수 있음

     

     3-4. FollowSymLinks

     - 심볼릭 링크를 이용해서 파일 시스템에 접근하여 Root 권한을 획득할 수 있으므로 삭제

     

     3-5. Directory Indexes

     - index.cgi > index.html > index.htm의 순서로 웹 사이트의 초기 페이지 문서 설정

     

     3-6. Server Tokens

     - 웹 서버에 접속할 경우 최소한의 정보만 보이도록 Prod로 설정

     

     3-7. Server Signature

     - on으로 설정된 경우 Apache 버전 및 서버 이름이 노출되기 때문에 off로 설정

     

     3-8. LinitRequestbody

     - Apache 웹 서버에서 최대 업로드 파일의 크기를 지정

     

     3-9. 접근 제어

     - 클라이언트의 이름 및 IP 주소 등을 사용해 접근 제어 수행(Allow, Deny)

     

     3-10. Apache 웹 서버 Session 관리

     - Timeout : 웹브라우저가 웹 페이지에 접근한 뒤, 클라이언트의 요청에 서버가 대기하는 시간 설정

     - MaxKeepAliveReuqests : 접속을 허용할 수 있는 최대 횟수 설정

     - KeepAliveTimeout : 클라이언트의 최초 요청을 받은 뒤 다음 요청이 전송될 때까지 대기하는 시간 설정

     - KeepAlive : 접속 연결에 대한 재요청을 허용할 것인지 설정

     

     3-11. Web Log 분석

     - 웹 서버의 접속 로그, 에러 로그, 에이전트 로그, 참조 로그의 정보를 확인

     - access.log, error_log 등의 파일을 분석하여 알 수 있음

     

     3-12. Web Application Firewall

     - 홈페이지 자체 및 웹 프로토콜을 기반으로 하는 모든 서비스에 대해 보안 서비스를 제공하는 장비

     - 웹 애플리케이션 취약점을 이용한 공격에 대한 대응

     - 네트워크 기반 방화벽 : 네트워크 구간에 인라인 Transparent 및 Proxy 방식으로 구성

     - 호스트 기반 방화벽 : 웹 서버의 에이전트가 해킹 시도 및 이상 징후를 탐지하고 보안 정책을 실행

     - Proxy Method : 웹 서버 앞 단에서 클라이언트 요청을 받아 필터링 처리 후 서버와 재접속 하는 방식

     - Filetering Module Method : 웹 방화벽이 웹 서버의 플러그인 모듈처럼 동작하는 방식

     

     3-13. DNS 보안

     - DNS : 사람이 이용하기 쉬운 URL 주소를 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 서비스

     - Recursive Query(순환) : Local DNS 서버에 Query를 보내 완성된 답을 요청

     - Iterative Query(반복) : Local DNS 서버가 다른 DNS 서버에 Query를 보내 답을 요청하고,

                                           외부 도메인에서 정보를 얻어와 종합해 알림

     - DNS Record : A, AAAA, PTR, NS, MX, CNAME, SOA, Any

     - DNS Aplification : DNS Query의 Type을 Any로 설정해 모든 레코드를 요청하여 패킷 크기를 증폭시키는 공격

     - dnsspoof : DNS 파일을 참조해서 DNS를 수행하는 DNS Spoofing을 할 수 있는 공격 도구

     - DNS Sinkhole : 악성봇에 감염된 PC를 공격자가 조종하지 못하도록 악성봇과 공격자의 명령을 차단하는 서비스

     - DNSSEC : DNS 응답 정보에 전자 서명 값을 첨부하여 전송해 DNS 위변조를 방지하며 무결성을 제공하는 기술

     - DNS Cache Poisoning Server Attack : Local DNS 서버에 공격 쿼리를 삽입해 위조 사이트로 접속시키는 공격

    반응형

    댓글

Designed by Tistory.