LINUX SECURITY -전송중 데이터 보호-

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
HTTPS Packet Capture Tutorial

목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
CHAP 22. 블루투스.
POS 설치 방법 매장 매뉴얼 (윈도우 7 기준) 전산팀.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
Postfix MTA SPARCS 08 진준호 ( Alex ).
Windows Server 장. Windows Server 2008 개요.
MYSQL 설치.
Hadoop 2.완전 분산 처리.
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
LINUX SECURITY - FTP 보안 -
Team Project : SSL 2008/05/27 정보보호 응용 발표자 : 신용철.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
SSL (Secure Sockets Layers Protocol)
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
LINUX SECURITY - 보안 웹 프로토콜 -
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
LINUX SECURITY - 침 입 탐 지 - 네트워크 실험실 김 윤 수 #
8장. 원격지 시스템 관리하기.
Root Filesystem Porting
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
Root Filesystem Porting
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
FTP 프로그램의 활용 FTP 프로그램의 용도 인터넷 공간에 홈페이지 파일을 업로드할 때 필요
시스템 인터페이스 Lab3 Unix 사용법 실습.
홀인원2.0 설치 메뉴얼.
Linux/UNIX Programming
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Nessus 4 설치 정보보호응용 조용준.
LINUX SECURITY - Telnet 보안 -
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
KERBEROS.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
PMIS 서버 설정 환경설정 작성자 : 배경환.
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
웹(WWW).
STS 에서 웹 서버 설치 방법.
Chapter 27 Mobile IP.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
Introduction to JSP & Servlet
2장. 솔라리스10 설치. 2장. 솔라리스10 설치 Solaris 3. 솔라리스10 설치 후 설정하기 1. 텔넷 ( telnet ) 서비스 사용 SSH ( Secure Shell ) 서비스 사용 FTP ( File Transfer Protocol )서비스 사용 시스템.
WZC 무선 연결 방법 (Windows 7 Ver.).
KISTI Supercomputing Center 명훈주
 파일 아카이브와 압축 명령 익히기.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
발표자 : 이지연 Programming Systems Lab.
FTP 스캔 설정 방법 강사 : 이성휘 대리.
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
Docker Study 6~7.
JAVA 프로그래밍 16장 JNLP.
Linux/UNIX Programming
Presentation transcript:

LINUX SECURITY -전송중 데이터 보호- 네트워크 실험실 김 윤 수 2018-09-20 #

목 차 보안 쉘(ssh) ssh 서버설정 scp:원격 파일 복사 프로그램 서로다른 네트워크에서의 ssh서비스제공 목 차 보안 쉘(ssh) ssh 서버설정 scp:원격 파일 복사 프로그램 서로다른 네트워크에서의 ssh서비스제공 ssh의 보안사항 참고자료 2018-09-20 #

ssh(secure shell) 보안쉘(SSH: Secure shell)은 네트워크의 다른 컴퓨터에 로그인 할 수 있으며, 원격 시스템에서 명령을 실행하고, 다른 시스템으로 파일을 복사 할 수 있도록 해주는 프로그램이다. 강력한 인증방법과 안전하지 못한 네트워크에서 안전하게 통신 할 수 있는 기능을 제공한다. 2018-09-20 #

보안쉘이 제공하는 알고리즘(1) Blowfish Triple DES Bruce Schneier 64비트 암호화 기법 크기가 큰 데이터를 빠른 속도로 암화화(DES, IDEA보다 빠름) http://www.conterpane.com/blowfish.html Triple DES IBM에서 제안 1977년에 개발 1977년발표 일반적인 데이터의 암호화를 위한 미국정부의 표준 DES(Data Encryption Standard) http://www.itl.nist.gov/div897/pubs/fip46-2.htm 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-09-20 #

보안쉘이 제공하는 알고리즘(2) IDEA RSA IDEA(the International Data Encryption Algorithm) 국제 데이터 알고리즘으로 128비트 키를 사용하는 블록 암호화 알고리즘 TripleDES보다 빠르며 안전 http://www.nixu.fi/~pnr/netsec-lopulliset/1-0-practical-crypto.html#idea RSA RSA(the Rivest-shamir-Adelman algorithm) 널리사용되는 공용키/개인키 암호화 알고리즘 http://www.rsa.com 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-09-20 #

ssh의 핵심 유티리티 ssh슈트에 있는 프로그램 프 로 그 램 설 명 Make-ssh-known-hosts 프 로 그 램 설 명 Make-ssh-known-hosts 새로운 호스트 데이터베이스를 구축하는 Perl 스크립트 (DNS 을 통해서 명시된 도메인 안에 모든 호스트를 검색한다) Scp 보안 복사 프로그램으로 하나의 호스트에서 다른 호스트로 파일을 복사할때 안전한 방법을 제공. Rcp와 비슷하지만 파일 전송을 수월하게 하기 위해 ssh를 사용한다. Ssh 보안 쉘 클라이언트로 텔넷 클라이언트와 비슷하다. 서버와 연결되면 ssh를 사용하여 기본 시스템 명령을 수행할 수 있다. 모든면에서 ssh세션은 텔넷 세션과 비슷핟. Ssh-add Ssh-agent인증 대리인을 위해 새로운 키를 등록한다. Ssh-agent Ssh를 사용할때 네트워크를 통해 RSA형태의 인증방법을 수행. Sshd Port 22번을 사용하는 보안 쉘 서버 합법적인 ssh클라이언트로 부터 연결요구가 들어오면 세션을 시작한다. Ssj-keygen Ssh를 위한 키 생성기. ssh-keygen을 사용하여 내외부적으로 사용할수 있는 RSA키를 생성할 수 있다. 단순, 객체지향적, 분산환경의 응용에 적합, 인터프리터, 안전, 구조중립, 이식성, 높은 성능, 다중 쓰레드, 동적 견고(포인터X, garbage Collection, 엄격한 형검사, 실시간 에러 처리) 컴파일에 의해 바이트 코드로 변환되고 실행시에 인터프리터에 의해 해석되어 처리. 2018-09-20 #

ssh배포본 설치 http://www.ssh.com * Source location * ssh-2.2.0.tar.gz * source name * gunzip ssh-2.2.0.tar.gz * gzip 해제 * tar xvf ssh-2.2.0.tar * tar 해제 * cd ssh-2.2.0 ./configure make make install 바이트 코드는 클래스 로더에 의해 로드되며, 바이트 코드 검증기는 프로그램이 수행되기 전에 부적절한 클래스 접근이나 스택의 오버 플로우, 부적절한 형변환을 검사한다. 2018-09-20 #

ssh배포본 설치 [yskim@yskim ssh2]$ pwd /etc/ssh2 [yskim@yskim ssh2]$ ls hostkey hostkey.pub ssh2_config ssh_dummy_shell.out sshd2_config [yskim@yskim bin]$ ls * /usr/local/bin * nessus-config* sftp-server2.static* ssh-askpass2* ssh-pubkeymgr* nmap* sftp2* ssh-chrootmgr* ssh-signer@ nmapfe* ssh@ ssh-dummy-shell* ssh-signer2* scp@ ssh-add@ ssh-dummy-shell.static* ssh2* ssh-add2* ssh-keygen@ xnmap@ sftp@ ssh-agent@ ssh-keygen2* sftp-server@ ssh-agent2* ssh-probe@ sftp-server2* ssh-askpass@ ssh-probe2* 2018-09-20 #

cofigure 옵션 설명 옵 션 기 능 --with-prefix = PREFIX ssh가 설치될 디렉토리 변경 옵 션 기 능 --with-prefix = PREFIX ssh가 설치될 디렉토리 변경 --without-none 암호화 되지 않은 세션을 지원 --without-idea IDEA지원하지 않음 --without-blowfish Blowfish를 지원하지 않음 --without-rsh rsh를 사용하지 않음을 명시 --with-des DES지원 --with-libwrap[=PATH] TCP Wrappers지원 --with-path=PATH ssh클라이언트로 접속했을때의 위치(사용자의 홈) --with-X X지원 --disable-suid-ssh suid비트를 설정하지 않고 설치 2018-09-20 #

ssh서버 설정 [yskim@yskim /etc/ssh2]$ ls hostkey hostkey.pub ssh2_config ssh_dummy_shell.out sshd2_config hostkey host의 비밀키로 개인키이며 보안에 조심해야 하는 화일 hostkey.pub host를 나타내는 공개키 ssh2_config ssh클라이언트의 설정파일로 실제로 ssh1과 호환할 필요가 없으면 신경쓰지 않아도 된다. sshd2_config ssh demon의 설정파일 //각 계정키는 홈디렉토리에 .ssh2라는 디렉토리에 .pub라는 확장자가 붙고 비밀키는 확장자가 붙지 않는다.// 컨텐트(Content) 핸들러: 새로운 형식의 파일들을 전송 받을때 사용 내용에 관한 정보(MIME형식) plain/text, text/html.. 프로토콜 핸들러:기존의 프로토콜 이외의 프로토콜을 처리 가능 2018-09-20 #

/etc/sshd-config 옵션(1) AllowGroups ssh 서비스에 접근 가능한 그룹명시(예:AllowGroup sysadmin accounting)와일드카드가 지원되며 공백문자로 그룹을 구분 AllowHosts ssh서비스에 접근 가능한 호스트 명시 (예:AllowHosts shell.ourcompany.net)호스트는 IP를 쓰거나 호스명을 쓸수 있으며 와일드 카드가 지원되고 공백문자로 호스트 구분 AllowSHosts .shost나 .rhosts.에있는 호스들중 sshd서비스를 접근 할 수 있는 호스트 명시. 호스트는 IP를 쓰거나 호스명을 쓸수 있으며 와일드 카드가 지원되고 공백 문자로 호스트 구분 CheckMail(yes/no) 사용자가 로그인할때 새 메일이 도착했음을 알리도록 하는 기능을 설정하며 기본값은 yes로 되어 있다. Port 22:ssh가 사용할 port를 지정한다. Ciper (ciper) 세션을 암호화 할 때 사용방법 명시(idea, des, 3des, blowfish, arcfour 또는 없음) 2018-09-20 #

/etc/sshd-config 옵션(2) DenyGroups 명시된 그룹은 ssh서비스에 접근할 수 없도록 하는 기능(DenyGroups sysadmin accounting) 와일드 카드가 지원되며 공백 문자로 그룹을 구분한다. DenyHosts 명시된그룹은 ssh서비스에 접근할 수 없도록 하는 기능(DenyHosts shell.ourcompany.net). 호스트IP를 쓰거나 호스트명을 쓸수 었으며 와일드 카드가 지원되고 공백 문자로 호스트를 구분한다. ForwardAgent 인증 대리인이 포워드 되어야 하는지를 명시. KeepAlive yes 클라이언트에게 alive메시지를 보낼것인지를 명시 ListenAddress 0.0.0.0 sshd가 귀를 기울일 주소를 정해준다. 0.0.0.0은 모든곳에서 접속을 받아 들이겠다는 의미 passwordAuthentication (Yes/no) 패스워드 기반의 인증방법을 사용할 것인지 명시 2018-09-20 #

/etc/sshd-config 옵션(3) MaxConnections 0 최대 몇 개의 접속을 허락할지를 지정. 0은 제한을 하지 않는다는 의미. PermitRootLogin ssh를 이용하여 루트로 로그인 할 수 있는지를 명시 PubkeyAuthentication (yes/no) 인증순서를 지정 2018-09-20 #

sshd 시작 명령행 옵션 /etc/ssh_config안에 있는 설정 옵션을 무효화 하거나 새로이설정할 수 있다. 옵 션 옵 션 기 능 -b [비트수] 서버키에 얼마나 많은 비트를 사용할지 명시. 기본 768비트. -d 디버그 모드 작동. -f [설정파일] 서버 설정 파일을 변경할 때 사용(기본적으로, /etc/sshd_config). -g [타임아웃] 사용자가 인증받지 않고 연결 유지될 수 있도록 하는 타임 아웃시간. -h [호스트키] 호스트 키 파일 변경시 사용(기본 /etc/s노_hot_key). -k [시간] 얼마나 자주 키를 재생성할거인지 명시. 기본적으로 한시간에 한번. -p [포트] Sshd포트의 변경. 기본 22번 포트. -q Sshd가 정적모드로 작동하도록 한다(로깅하지 않는다). 2018-09-20 #

ssh클라이언트 설정파일(/etc/ssh_config) 옵 션 기 능 BatchMod [yes|no] 연결시 사용자명과 패스워드 요구 명시. Cipher [ciper] 세션을 암화화 할 때 사용방법 명시. Compression [yes|no] 세션중에 압축을 사용할것인지 명시. CompressionLevel [0-9] 압축 수준 결정. ConnectAttempts [#] Sshd와 연결을 몇번이나 시도할지 명시 EscapeChar 세션 이스케이프 문자 설정. FallBackToRsh [Yes|no] Sshd연결이 실패하면 rsh로 연결 변경 ForwardAgent 인증 대리인이 포워드 되어야 하는지 명시 FowardX11 [yes|no] 자동으로 X11세션을 포워들 할지 명시 GatewayPorts [yes|no] 원격 호스트가 포워드된 포트를 가지고 내부로 연결 할 수 있는지 명시 Hostname [호스트명] 기본적으로 접속할 호스트 명 명시 2018-09-20 #

ssh클라이언트 설정파일(/etc/ssh_config) 옵 션 기 능 IdentyFile 사용할 RSA신원 파일 변경. KeepAlive Alive메시지를 보낼것인지 명시. KeberosAuthenitcation 커베로스 5 인증방법을 사용명시. KerberosTgtPassing 커베로스 티켓 패싱 인증 사용 명시. LocalForward port host:port 로컬 포트를 원격 호스트에게 포워드. PasswordAuthentication [yes|no] 패스워드 기반 인증방법사용 명시. PasswordPromptHost [yes|no] 원격 호스트 명을 로그인 프롬프트에 출력. Port [port] Sshd의 바뀐 포트 명시. RhostsAuthenitcation Rhost인증방법만을 사용하도록 명시. RhostsRSAAuthentication Ssh가 rhosts와 RSA를 동시 사용 명시 StrictHostKeyChecking 새로운 키를 호스트 파일에 자동 추가 2018-09-20 #

ssh1과ssh2의 호환성 Ssh1과 ssh2를 호환 하려면 ssh1과ssh2이 둘 다 설치되어 있어야 합니다. Ssh1은 Ssh1Compatibility 와 SshdPath 를 다음과 같이 지정해 주면 됩니다. Ssh1Compatibility yes Sshd1Path /경로/sshd1 (경로는 sshd1파일이 존재하는 경로를 말합니다) ssh2_config도 다음과 같이 수정합니다. Ssh1Compatibility yes Sshd1Path/경로/ssh1 (여기서의 경로도 ssh1이 존재하는 경로를 말합니다) 2018-09-20 #

ssh의 시작 원하는 옵션을 설정한 후 ssh를 실행한다. $ sshd 2018-09-20 #

ssh의 클라이언트 사용 2018-09-20 #

ssh의 클라이언트 명령행 옵션 옵 션 목 적 -a 대리인 인증 포워딩 사용 -c ciper 옵 션 목 적 -a 대리인 인증 포워딩 사용 -c ciper 현재 세션에서 사용할 암호 방법 명시(blowfish, idea등) -e char escape문자 변경 -f 세션인증이 긑난후 백그라운드 작업 수행 명시 -i 파일 신원 파일 변경 -l 사용자 로그안할때 사용자 명시 -n /dev/null값으로 부터 입력을 받는다. -p port ssh가 접속하기 위해 사용할 포트 명시(기본 22) -q 정적 모드로 접속. -t 하나의 명령을 수행하더라고 tty를 연다. -v 디버깅 모드 -x X11포워딩 기능 해제 2018-09-20 #

ssh의 개인키 및 공개키 새성 사용(1) 2018-09-20 #

ssh의 개인키 및 공개키 새성 사용(2) 2018-09-20 #

scp : 원격 파일은 복사(1) scp 사용법 user@host1:filename user2@host2:filename scp example scp yskim@taeback.kaist.ac.kr:scp.txt kim.txt 2018-09-20 #

scp 명령행 옵션 옵 션 목 적 -A 파일에 대한 파일 통계 출력 기능 해제 -a 파일에 대한 파일 통계 출력 기능 사용 옵 션 목 적 -A 파일에 대한 파일 통계 출력 기능 해제 -a 파일에 대한 파일 통계 출력 기능 사용 -ciper 이번 전송에서 사용할 암호 방법 명시(blowfish, idea, 3des) -i 파일 신원(identity) 파일 변경 -o [ssh 옵션] 파일에 전송하기전에 ssh에게 옵션 전달 -P port 원격 호스트로 접속할 포트 명시 -q 세션에 대한 통계 출력 기능 해제 -Q 세션에 대한 통계 출력 기능 사용 -r 디렉토리 재귀적으로 복사 -v 디버깅 모드로 수행 2018-09-20 #

윈도우를 위한 Tera Term Pro + TTSHH(1) 필요조건 :없음 설정파일 : terraterm.ini 보안사항 :없음 http://www.zip.com.au/~roca/ttssh.html Tera Term Pro 2.3 TTTSH 1.5.1 2018-09-20 #

윈도우를 위한 Tera Term Pro + TTSHH(2) 2018-09-20 #

윈도우를 위한 Tera Term Pro + TTSHH 2018-09-20 #

ssh 보안사항 초기버전은 버퍼 오버플로(buffer overflows)문제가 있었으며 만기된 계정을 갖고 있는 사용자가 접속하는것이 가능 했었다. 2018-09-20 #

참고자료 “Getting started with SSH” Kimmo Suominen http://www.tac.nyc.ny.us/~kim/ssh “Kereros/DCE, the Secure Shell, and Practical Internet Security” Wayne Schroeder. http://www.sdsc.edu/~schroede/ssh_cug.html “The Secure Shell” peter Simons, Andreas Reichpietsch http://www.cys.de/simons/publications/ssh “Updates to SSH protocol” Tatu Ylonen http://lists.w3.org/Archives/Public/ietf-신/msg00555.html 2018-09-20 #