336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
SSH (Secure Shell)
원격지에서 리눅스 시스템을 제어하기 위해 사용
telnet은 데이터가 암호화되지 않음
=> wireshark를 통해 패킷 확인
SSH는 데이터를 암호화하여 통신
===================================
암호화
초기 암호화
시저 암호(카이사르 암호)
HELLO -> KHOOR : 대치
HELLO -> OLLEH : 전치
=> 알고리즘을 통해 만들어지는 암호
=> 통계적인 분석 등을 통해 쉽게 해제할 수 있음
키를 사용하는 암호화
대칭키 암호화
암호화를 할 때, 암호를 풀때(복호화) 키가 동일
통계적인 분석 등으로는 해제 불가능
대칭키 암호화의 문제점 : 키 전달의 문제
대칭키 암호화의 장점
키의 길이가 짧다. (128~256bit)
처리속도가 빠름
DES, AES, 3DES
비대칭키 암호화
키를 사용하여 암호화를 하는 것은 동일
개인키 / 공개키로 키가 나누어짐
공개키로 암호화 -> 개인키로 복호화
개인키로 암호화 -> 공개키로 복호화
장점 : 키 교환의 문제가 해결
단점 : 키의 길이가 길다 (1024bit~)
처리 속도가 느림
RSA,DSA
대칭키+비대칭키
비대칭키 방식을 사용해서 통신을 시작
비대칭키 방식으로 대칭키를 교환
대칭키로 통신
HASH : 데이터의 원복이 불가능한 암호화
MD5, SHA-0, SHA-1, SHA-2
===================================
ssh 설정 수정 : /etc/ssh/sshd_config 파일 수정
수정항목
port : ssh 접속에 사용할 포트
listenaddress : ssh 접속을 허용할 네트워크 주소를 지정
netstat -antp | grep sshd 로 조회
Login Grace Time : 접속후 로그인이 되지 않을 경우 접속을 종료할 시간
PermitRootLogon : root 사용자 로그인 허용여부
Maxauthtries : 암호인증 실패시 재시도 허용 회수
KeyRegenerationInterval : 서버의 키 재생성 간격
RSAAuthentication : RSA인증방식
PublicKeyAuthentication : 공개키를 사용한 인증 허용
AuthorizedKeysFile : 공개키 파일 위치
PermitEmptyPasswd : 빈 암호 로그인 허용
PasswordAuthentication : 암호 로그인 허용
Banner : 사용자 접속시 배너 출력 파일
Subsystem : ssh 서비스 시작시 함께 시작될 서비스
===================================
ssh 접속방법
윈도우 : putty, xshell 등 도구 사용
리눅스 : ssh 명령어 사용
ssh [서버IP] : 대상 서버에 root 사용자로 로그인시도
ssh -l [사용자] [서버IP] 또는 ssh [사용자]@[서버IP]
: 특정 사용자를 지정하여 ssh 로그인 시도
==================================
SCP (Secure Copy)
cp [복사할대상] [복사할 위치]
scp [원본파일] [사용자ID]@[서버IP]:[파일위치]
scp [사용자ID]@[서버IP]:[원본파일위치] [복사할위치]
===================================
SFTP (Secure File Transfer Protocol)
sftp [사용자]@[서버IP]
sftp 명령어
cd : 원격지에 있는 서버 파일 목록 조회
lcd : local Change Directory. 현재 시스템의 경로 변경
pwd : 원격지 서버의 현재 경로 파악
lpwd : 현재 시스템의 현재 경로
ls : 원격지 서버 파일 목록 조회
lls : 현재 시스템의 파일 목록 조회
mkdir / lmkdir
rmdir
rm
get 원본파일경로 [로컬경로] : 파일 다운로드
put 원본파일경로 [서버경로] : 파일 업로드
rename : 원격지 서버의 파일명 변경
! : 쉘로 임시 복귀
exit/quit : sftp종료
===================================
SSH 터널링
ssh 서비스 포트(22)가 방화벽에 의해 막혀있을 경우
외부에서 접속하기 위한 방법으로 사용
1. 방화벽 내부에 있는 서버는 22번 포트를 열수 있으나, 네트워크에 있는 방화벽에 의해 차단
2. ssh -R 명령어를 사용하여 원격연결할 컴퓨터로 ssh 터널링을 구성
3. 외부 서버에서 2번에서 구성한 포트가 열려있는지 확인
4. 외부 서버로 접속을 해서 내부에 있는 서버에 ssh연결이 가능한 지 확인
===================================
공개키를 사용한 로그인
로그인을 하고자하는 사용자가 공개키를 생성
ssh-keygen -t rsa
사용자의 홈 디렉토리 .ssh 에 키가 생성
id_rsa, id_rsa.pub
키를 내가 로그인하고자 하는 서버의 사용자의 홈 디렉토리 .ssh에 복사 - 복사하면서 이름 변경 authorized_keys
/etc/ssh/sshd_config 에 지정되어 있음
복사 후 로그인 시도시 암호를 묻지 않고 바로 로그인
로그인 성공 후 패스워드 로그인 기능 차단
/etc/ssh/sshd_config
PasswordAuthentication no
===================================
vnc : Virtual Network Computing
원격으로 리눅스 시스템 제어 (GUI지원)
vnc서버 서비스 명령어
service vncserver (start|stop|restart)
사용자별 환경설정, 암호파일 생성
세션을 생성할 사용자로 로그인하여
vncserver 실행
암호 입력 완료시 파일 생성
GUI화면 표시를 위한 설정 변경
~/.vnc/xstartup 에서
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
부분의 주석표시(#) 삭제
vncserver 명령 실행시마다 명령을 실행한 사용자의 세션 생성
1번부터 순서대로 TCP 5901,5902.... 번 포트 사용
=> 방화벽 해제 또는 예외 포트 설정
만들어진 세션 일괄 종료 : killall Xvnc
세션 생성시 -geometry 옵션을 사용하여 세션의 해상도 지정 가능
# vncserver -geometry 800x600
vnc접속
1. 리눅스 쉘에서 vncviewer 사용
yum install vnc => vncviewer 설치
vncviewer [서버IP]:[세션번호]
암호 입력 후 사용
2. 윈도우 등에서 다양한 종류의 vnc뷰어 설치하여 사용
===================================
/etc/sysconfig/vncserver 파일 수정하여 서비스 등록
한 사용자 세션 등록
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 600x480"
여러 사용자 및 해상도 설정 세션 등록
VNCSERVERS="1:root 2:centos 3:root"
VNCSERVERARGS[1]="-geometry 600x480"
VNCSERVERARGS[2]="-geometry 600x480"
VNCSERVERARGS[3]="-geometry 1280x1024"
===================================
DHCP (Dynamic Host Configuration Protocol)
특징 : DHCP서버를 통해 네트워크에 새로 연결된 시스템의 NIC에 자동으로 네트워크 설정 정보를 입력
장점 : 편리함. IP자원을 관리하기 때문에 중복X.
사용자의 잘못된 입력을 방지.
단점 : 설정을 잘못하면 네트워크 전체 장애 발생
보안 문제 발생가능.
DHCP IP 임대 과정
1. DHCP Discover (IP를 요청하기 위한 패킷)
2. DHCP Offer (DHCP서버가 사용을 허가할 네트워크에 대한 정보를 전송)
3. DHCP Request (2번에서 전송받은 정보를 사용하겠다는 응답)
4. DHCP Ack (DHCP서버에서 IP를 임대하였음을 알림)
상세 패킷 내용
1. Discover : Broadcast FF:FF:FF:FF:FF:FF
자신의 MAC어드레스 전송 00:11:22:33:44:55
- 자신이 가지고 있는 MAC어드레스에 IP를 할당해 줄 것을 요청함
2. Offer : Broadcast FF:FF:FF:FF:FF:FF
DHCP서버의 IP주소 : 192.168.200.2
대여해 줄 IP주소 : 192.168.200.200
대여를 신청한 클라이언트의 MAC주소 00:11:22:33:44:55
넷마스크, 게이트웨이, DNS, WINS서버 등등의 정보
IP를 임대할 기간에 대한 정보
3. Request : Broadcast FF:FF:FF:FF:FF:FF
자신의 MAC 어드레스 00:11:22:33:44:55
자신이 사용할 IP주소
자신에게 IP를 할당한 DHCP서버의 주소
4. Ack : Broadcast FF:FF:FF:FF:FF:FF
2번과 동일한 내용을 전송
IP임대 연장
임대과정의 3~4을 수행
브로드캐스트 -> 유니캐스트
(자신에게 IP를 할당한 DHCP서버와 유니캐스트 통신)
==================================
DNS : 192.168.xxx.2 <= VMware에서 제공하는 DNS
http://www.naver.com/blog
URL : 프로토콜+주소+포트+경로
DNS서버 : URL의 주소 부분을 IP로 변경해서 알려줌
주소 : www.naver.com, mail.naver.com, ftp.kaist.ac.kr
www, ftp, mail, db .... : 호스트이름
naver.com, daum.net, kaist.ac.kr : 도메인
FQDN : Full Qualified Domain Name
DNS의 역할 : FQDN을 IP로 변환
유닉스 진단가이드.pdf