애플리케이션 보안 오답노트
1. FTP
- 서버 제어 연결 = 21 포트, 데이터 연결 = 20포트 or 1024이상 포트
- 디폴트는 active, mode변환은 클라이언트가 결정
* mode
- active : 서버가 21, 20 포트 사용, 서버에서는 2개의 포트만 열면 서비스 가능, 두번째 conn은 서버->클라이언트 접속, 클라이언트에 방화벽 설치시 이용 불가
- passive : 서버가 21, 1024이후 포트 사용, 서버에서 클라이언트에 접속해야하는 모순 해결, 서버에서는 21과 1024이후 모든 포트 오픈, 보안을 위해 passive모드에서 사용될 포트 제한 필요, 대부분 웹브라우저는 ftp:// 를 이용하여 FTP에 접속할 때 수동모드만을 지원
- USER, PASS, LIST, RETR
* 연결 순서(passive)
- Client_Control to Server_Control Connect(), PASV -> Server_Control to Client_Control PASV OK and Server_DATA_Port -> Client_DATA to Server_DATA Connect() -> Server_Data to Client_Data Flie List, 전송완료
* 설치 및 운영(linux)
- /etc/passwd, /etc/shadow에 사용자 계정 존재 여부 검사, /etc/ftpuser에 사용자 id가 있으면 거부, /etc/shells에 등록되지 않은 셸을 사용하는 사용자 거부
2.TFTP
- 전송 프로토콜로 TCP 대신 UDP 사용
- X-터미널 등과 같이 자체 디스크를 갖지 않는 워크스테이션이 부팅에 필요한 데이터를 받아오기 위해 사용됨
- RPQ, WRQ, DATA, ACK, ERROR 명령어
- 남용을 방지하기 위해 디렉터리를 제한하는 secure mode 지원
3. Bounce Attack
- 익명 FTP 서버를 이용하고 그 FTP서버를 경유하여 호스트 스캔
- FTP PORT 명령어를 이용
- FTP 서버를 통해 임의의 네트워크 접속을 릴레이하여 수행.
- 네트워크 포트를 스캔하는데 사용
- FTP 프로토콜의 취약점을 이용
4. anonymous FTP 보안 설정
- 해당 서비스 반드시 필요한 것 아니라면 제거
- anonymous 사용자의 root, bin, etc, pub 디렉터리의 소유자와 퍼미션 관리
- /etc/passwd에서 ftp 혹은 anonymous 계정 삭제
5. 이메일 보안 기술
- PEM, PGP(키 분배 방식_비밀키와 공개키, 송신자가 세션키 생성, RSA 및 MD5또는SHA계열), SMIME(X.509버전3, RSA, DSS)
6. IMAP vs POP3
- IMAP-TCP143, IMAP3-TCP220, POP3-TCP110, *SMTP-25
- POP3은 다운로드된 메시지는 서버에서 제거, IMAP으로 접속하여 메일 읽으면 메일 서버에는 메일이 계속 존재
7. 메일 관련 용어
- SPF : 메일 헤더에 표시된 발송 정보와 실제 메일 발송 서버의 정보(IP) 비교
- URLBL : URL기반 실시간 스팸 블락
- PGP : 이메일 보안에 사용
- MTA : 메일 전송
- MDA : 수신한 메시지를 사용자의 우편함에 씀
- IMAP, POP3 : 메일을 수신하기 위해 클라이언트와 서버에 설치
8. e-mail을 이용한 바이러스/악성코드 차단
- 라우터의 class-map, policy-map 이용, MTA에서 패턴 매칭에 의한 차단, Virus Wall
9. SpamAsssassin - 실시간 블랙리스트 분석 기법
10. 메일 서비스 공격유형
- SendMail Attack : 메시지 내용에 사용자 계정을 기록하고, 도착할 수 없는 메시지를 보낼 때 발생하는 헤더 피싱코드의 버그를 이용, sendmail이 배달되지 않은 메시지를 /var/tmp/dead.letter 파일 끝에 저장한다는 사실과 링크를 이용하여 루트 권한 획득, SMTP 명령어중 EXPN과 VRFY는 사용자의 정보를 외부로 유출 가능,
- Active contents 공격 : 메일 열람 시 HTML 기능이 있는 이메일 클라이언트나 웹 브라우저 대상, 스크립트 기능 악용,
- 트로이 목마 :
- 버퍼오버플로우 : 공격자가 조작된 이메일을 보내 피해자의 컴퓨터에서 임의의 명령 혹은 악성코드 심을 수 있음
- DOS
* 메일 클라이언트 프로그램을 통해 필터링, spam릴레이 허용 불가 설정, sendmail.cf에서의 보안 설정
11. Received 헤더에는 거짓 정보가 들어갈 수 없으며 sendmail이 확인한 발신자 정보가 기록된다. * From은 발신자가 입력한 호스트 이름이어서 조작 가능
12. 메일 헤더
- 메일 DATE 헤더에서는 메일 수신 시간이 아니라 보낸 날짜와 시간을 알 수 있다.
- 악성코드 첨부 여부, 보낸사람의 IP주소, 보낸 메일 서버 IP주소 등 획득 가능
* Received from 발송 호스트 by 수신호스트 with 메일프로토콜 for 수신자 메일주소
13. Apache 웹 서버 주요 파일
- passwd : root nobody 640
- httpd : root root 511
- httpd.conf : root nobody 640
14. 웹서버는 DMZ(내부망 아님), DB등 중요한 서버들을 내부망
15. Apache 보안 모듈
* mod_security
- 요청 필터링
- 우회 방지 기술(경로와 파라미터 정규화)
- HTTP 프로토콜 이해
- POST 페이로드 분석
- 감사 로깅
- HTTPS 필터링
*mod_setenvif
- 요청의 성격이 정규표현식에 해당되는지 여부로 환경변수 설정
- 서버의 다른 부분이 행동을결정할떄 이 환경변수 이용
16. CLF(Common Log Format)
- 마지막 항목은 응답헤더 제외하고 클라이언트에게 보내는 내용의 크기
17. DHCP
- 전송계층, UDP, 서버-67, 클라이언트-68
18. 도메인 접근
- 캐시메모리 -> Hosts파일 -> 로컬DNS서버
19. DNSSEC
- Recursive DNS간의 데이터 위변조를 막아 수신되는 응답 메시지의 데이터를 조사하고 검증하여 위변조된 데이터와 안전한 데이터를 구분하여 캐시에 관리하는 것을 가능하게 함
- 응답 메시지의 각 Section에 설정되는 리소스 데이터 자체를 보호하기 위해, 리소스 레코드에 대하여 전자서명 메커니즘을 적용하는 표준 방안을 제공
20. DB에서 테이블을 구성하는 물리적으로 연속적인 디스크 공간 : extent
21. DB 보안 유형
- 접근제어, 추론제어, 흐름제어
22. 정보조합(aggregation, 집성) : 개별적인 여러 소스로부터 민감하지 않은 정보를 수집/조합하여 민감한 정보를 생성해내는 DB 보안 위협
23. 카드 ..
- CSS (비자CVV, 마스터CVC, 아메리칸익스프레스CID)
24. SET(Secure Electronic Transaction)
* 장점
- 전자거래의 사기 방지
- 기존 신용카드 기반 활용
- SSL의 단점인 상인에게 지불정보가 노출된다는 것을 해결
* 단점
- 암호프로토콜 복잡
- RSA동작은 프로토콜 속도를 크게 저하
- 카드 소지자에게 전자지갑 SW를 요구
- 상점에 SW 요구
- 지불 게이트웨이(가맹점Merchant의 은행)에 거래를 전자적으로 처리하기 위한 별도의 HW, SW 요구
* 이중 서명 : 고객의 구매정보는 은행이 모르고, 지불정보는 상점이 모르게
25. SHTTP : 하이퍼링크 앵커
26. ebXML : 재활용의 수준을 문서수준 뿐만 아니라 시나리오 수준까지 확대( 모델링 X)
27. XML 기반 Web 기술
- UDDI : 전 세계 비즈니스 업체 목록에 자신의 목록을 등록하기 위한 규격
- SOAP : XML과 HTTP 등 기반으로 다른 PC에 있는 데이터나 서비스를 호출하기 위한 규약
- WSDL : 웹 서비스 기술 언어 또는 기술된 정의 파일의 총칭