FTP 이해
- 제어 연결
= 21번 port 사용
= 명령어, 응답형태의 제어 정보를 전송
- 데이터 연결
= 파일을 실질적으로 전송
= 20 또는 1024 이후 port 사용
- active 모드와 passive 모드
active 모드
= 서버의 20,21 port 모두 사용
= 클라이언트에서 서버의 21 port로 접속
= 서버 20번 포트에서 클라이언트로 접속
passive 모드
= 서버의 21 port와 1024 이후의 포트 사용
= 클라이언트에서 21번 서버포트로 접속
= 클라이언트에서 서버가 알려준 데이터 포트로 접속
= 서버에서는 passive 모드로 사용할 port을 제한하는 것이 좋음
익명 FTP 취약점
FTP 를 설치하게 되면 default 로 Anonymous FTP 가 실행
- 익명 FTP 의 보안 문제점
= 악의를 가진 사용자가 공격을 위한 소프트웨어를 upload 하면 심각한 문제를 발생
- 익명 FTP 보안 대책
= Anonymous FTP 서비스만 제공하는 호스트를 구축
== ftp 이외의 서비스를 구축하지 않음
== 불필요한 계정은 생성하지 않음
= 사용자에 대한 최소한의 정보만 유지
== ftp/etc 디렉터리에는 passwd 와 group 파일을 생성하게 되는데
해당 파일을 복사하거나 생성시 필요한 정보이외 에는 삭제한는 것이 좋음
= 최소한의 권한 설정
== 로그인 루트 디렉토리에는 퍼미션을 555 설정하여 write 방지
== ftp/bin 에는 111 퍼미션을 주어 실행이외에는 아무것도 할 수 것게 한다
== ftp/etc 역시 111 로 퍼미션 설정
== ftp/pub(다운로드 파일) 디렉토리 역시 555 설정을 주어 write 권한을 제외
== ftp/incoming 은 소유자를 root(ftp) 로 하면 권한을 777로 주고 해당 디렉토리만을
위한 새로춘 파일 시스템을 만들어 주어 보안을 높인다
= 정기적으로 로그를 확인
FTP 바운스 공격(FTP bounce attack)
= FTP서버는 클라이언트가 지시한 곳으로 자료를 전송할 때
목적지는 어느곳 인지 검사하지 않음
= 목적지를 검사하지 않는 것은 FTP서버의 버그가 아니라 FTP 프로토콜의 설계 상에서 발생한 문제
= 자료를 요청하는 곳과 자료를 받는 곳이 다른곳 일수 있도록 설계를 한 것
- 공격의 예
= 포트 스캐닝
사용할 수 없는 포트에 자료를 전송할 때
port IP Port
220 port command successful
list
425 can’t build data connection: connection refused
사용할 수 있는 포트에 자료를 전송할 때
port IP Port
220 port command successful
list
160 opening ASCII mode
= 거짓 메일 (메일을 텍스트 형태의 파일로 만들어 바운스 공격을 진행)
= 방화벽을 넘어 접근하기(방화벽 내부의 ftp는 패킷 필터을을 하지 않음)
- FTP 바운스 공격 대응책
= 자료 전송시 1024보다 높은 포트로 자료 전송
= 클라이언트와 다른 호스트로 접속하지 않도록 설정
= ftp이외에는 20번 포트로부터 접속이 되는 것을 차단
tFTP(trivial FTP) 공격
- 사용자인증이불필요
- 불필요한정보또한유출될수있는기회를제공
- TCP 대신에UDP를사용, 69번포트
2020.09.01 (0) | 2020.09.02 |
---|---|
침입방지 시스템(IPS) 2020.08.25 (0) | 2020.08.25 |
DNS (0) | 2020.08.24 |
메일서비스 이메일프로토콜 과 공격 방어 (0) | 2020.08.24 |
2020.08.18 접근통제내용 (0) | 2020.08.18 |
댓글 영역