보안키
- 데이터를 암호화하거나 복호화하는데 사용되는 암호화 기술

1) 대칭키
- 데이터를 암호화하고 복호화하는데 같은 키를 사용한다

- 암호화, 복호화 키를 같은 키를 사용하므로 속도가 빠르다

- 대량의 데이터를 처리하는데 유리하다

- 키 노출에 대한 리스크가 크다
  키를 안전하게 교환할 수 있는 수단이 필요하다



2) 비대칭키
- 데이터를 암호화하는 공개 키, 데이터를 복호화하는 개인 키의 한 쌍으로 사용된다

- 공개 키 모두에게 공개되어 누구나 접근 가능하다
  개인 키 사용자가 안전하게 보관하고 사용한다

- 공개 키는 노출되어도 개인 키만 노출되지 않으면 안전하다

- 공개 키로 암호화된 데이터는 해당 공개 키의 개인 키로만 복호화 가능하다


* SCP 명령어
ssh + copy
- ssh 원격 접속 프로토콜을 이용한 파일 복사

$ scp [옵션] 원본파일 <원격지 사용자>@<원격지 IP>:<원격지 경로>

---------------------------------------------------------------------------
DHCP ( Dynamic Host Configuration Protocol )
- 동적 호스트 설정 프로토콜
- 네트워크에서 클라이언트 컴퓨터에게 네트워크 설정을 할당해주는 프로토콜
- 클라이언트가 네트워크에 대한 지식이 없어도 네트워크를 사용할 수 있다

[패키지 이름]
isc-dhcp-server

[설정 파일]
/etc/dhcp/dhcpd.conf

[데몬 이름]
isc-dhcp-server

[포트]
67/udp


* 윈도우 ipconfig 명령어
ipconfig
- 네트워크 정보 확인

ipconfig /all
- 네트워크 상세 정보 확인

ipconfig /release
- IP 주소 반납

ipconfig /renew
- IP 주소 재할당

* 고정 IP 부여
- MAC 주소 기반으로 장치를 식별 후   네트워크 설정 부여

- 클라이언트의 MAC 주소가 필요하다
--------------------------------------------------------------------------------------
다음에 정보에 맞춰 DHCP 를 구성 후 클라이언트에게 부여하시오
( 클라이언트는 2개 사용, 필요 시 클론 사용 )
DHCP 서버 - X.X.X.10
DHCP 대역 - X.X.X.100 ~ X.X.X.109
게이트웨이 : X.X.X.2
서브넷 마스크 : 255.255.255.0
DNS : 168.126.63.1




W10-1 -> 자동부여
W10-2 -> X.X.X.105 고정 부여

작업 완료 후 클라이언트로 인터넷 작동 확인

$ apt install -y isc-dhcp-server
- 패키지 설치

$ ufw enable
- 방화벽 활성화

$ ufw allow 22/tcp
- ssh 포트 열기

$ vi /etc/dhcp/dhcpd.conf
- 설정 파일 열기

===================


subnet 192.168.111.0 netmask 255.255.255.0 {
        range 192.168.111.100 192.168.111.109;
        option routers 192.168.111.2;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 168.126.63.1;

        host raspberry {
        hardware ethernet <MAC 주소>;
        fixed-address 192.168.111.105;
        }
}
====================
$ systemctl restart dhcpd

$ ufw allow 67/udp
- DHCP 방화벽 포트 열기
FTP(File Transfer Protocol)(/etc/vsftpd.conf): 파일 전송 프로토콜 
	-연결 방법 : ftp [주소]
	- FTP 서버 포트
    	20 Port : Data Port
        	-실질적인 데이터를 전송하는데 사용되는 포트
        21 Port : Command Port :
        	-클라이언트, 서버간의 제어를 위한 명령들을 전송하기 위한 포트
            -파일 조회, 파일 업로드 명령, 파일 다운로드 명령등이 전송된다.
        
    - FTP 서버를 구축해 서버, 클라이언트간의 데이터를 안전하게 전송할 수 있다.

	- FTP 서버 종류
    	1) 로컬 FTP 서버
        	- FTP 서버가 구축된 운영체제의 일반 사용자들이 접속해 사용하는 설정
            - 일반 사용자들의 보안 인증을 사용한다
            
            
        
        
        
        2) 익명 FTP 서버
            - 익명 사용자가 FTP 서버에서 파일을 공유하기 위해 사용하는 설정
            - anonymous 계정을 통해 특별한 인증 절차 없이 서버에 접속할 수 있다
            - 익명 계정 로그인 위치 : /srv/ftp
            
    - [패키지 이름] : vsftpd
    
    <FTP 클라이언트 명령어>
    
    	-get <파일명> : 다운로드
        -put <파일명> : 업로드
        -mget <파일명> <파일명2>....  : 복수의 파일을 다운로드
        -mput <파일명> <파일명2>....  : 복수의 파일을 업로드
        -dir : 파일 목록 확인 
        -pwd : FTP상의 현재위치 확인
        -cd : FTP 상의 디렉터리 이동
        -lcd : 클라이언트 상의 디렉터리 이동
        -quit : FTP 종료
        
        
    <기본 설정>
    	25. anonymous_enable = NO : 익명 계정 접속 설정 YES -> 허용, NO -> 거부
        28. local_enable =YES : 로컬 계정 접속 설정  YES -> 허용, NO -> 거부
        31. write_enable=YES : 로컬 계정 파일 업로드 설정  YES -> 허용, NO -> 거부
        35. local_umask = 022 : FTP를 통해 업로드디는 파일들의 UMASK값
        40. anon_upload_enable = YES : 익명 계정 파일 업로드 설정
        103. ftpd_banner = ~~ : FTP 배너
        *banner_file = /etc/ftp_banner : 배너 옵션 추가 , 해당 배너 파일의 내용으로 배너 내용을 추가하고 존재해야한다.
        *chroot : 접속한 사용자의 홈 디렉터리를 "/" 최상위 디렉터리로 인식시키는 설정, 보안상 많이 사용
        [chroot 설정]
        
            -chroot_local_user=NO : chroot 활성화 YES -> 비활성화 NO -> 활성화
            -chroot_list_enable=YES : chroot  설정 적용 받을 사용자를 지정할 chroot list 활성화
        
            chroot_list_file=/etc/vsftpd.chroot_list
            allow_writeable_chroot=YES
            
    FTP 액티브 / 패시브 모드
    	1) 액티브 모드
        	-클라이언트가 서버에게 데이터 전송을 요청할 때, 서버가 클라이언트로 접근해 데이터 전송을 시도한다.
        2) 패시브 모드
            - 클라이언트가 서버에게 데이터 전송을 요청할 때, 클라이언트가 서버로 접속하여
              데이터를 받아온다

            - 클라이언트의 방화벽 설정을 필요로 하지 않는다

            - 데이터 전송에 사용되는 포트는 1024 ~ 65535 포트 중 임의의 포트를 결정해
              사용한다

            [패시브 모드 설정]
            pasv_enable=YES
            - 패시브 모드 활성화

            pasv_min_port=65010
            pasv_max_port=65000
            - 패시브 포트 대역 설정
FTP 실습 1
0. 방화벽 켜져 있는 상태로 작업
1. 로컬 계정 user1, user2 사용
2. 익명 계정 로그인 가능
3. 로그인 시 배너 출력
4. 로컬 계정 로그인 가능, 파일 업로드 가능
5. user1 은 chroot 적용, user2 는 미적용
6. FTP 설정에 필요한 파일은 모두 /ftp 디렉터리 안에 생성할 것

$ ufw enable
- 방화벽 활성화

$ ufw allow 22/tcp
- ssh 포트 열기

$ useradd -m user1
$ useradd -m user2
$ passwd user1
$ passwd user2
- 계정 설정

$ apt install -y vsftpd
- 패키지 설치

$ vi /etc/vsftpd.conf
- 설정 파일 열기

 25 anonymous_enable=YES
 28 local_enable=YES
 31 write_enable=YES
104 banner_file=/ftp/banner
123 chroot_local_user=NO
124 chroot_list_enable=YES
126 chroot_list_file=/ftp/chroot_list
127 allow_writeable_chroot=YES

$  mkdir /ftp
$ vi /ftp/banner
$ vi /ftp/chroot_list
- FTP 관련 설정 파일 생성

$ systemctl restart vsftpd
$ systemctl status vsftpd
- 데몬 재실행 및 확인

$ ufw allow 20/tcp
$ ufw allow 21/tcp
- FTP 방화벽 설정
SFTP(Secure FIle Transfer Protocol)
	-SSH + FTP
    -FTP를 보안 측면으로 발전시킨 형태
    -FTP 통신을 SSH기반으로 암호화 시켜 통신한다.
    
오토 마운트(Auto Mount)(/etc/fstab)
    -파일 시스템을 자동으로 마운트 하는 기능
    -시스템 종료 과정에서 모든 마운트 된 장치는 마우늩 해제 그 후 부팅 과정에서 자동으로 마운트 되도록 설정 된 장치만 마운트 되어 부팅
    -마운트가 가능한 장치라면 별도의 설정을 통하여 오토 마운트가 가능하다
    	- 기본 설정 파일을 통한 오토 마운트(/etc/fstab파일에 오토 마우트 설정을 작성)
    -서비스를 이용한 오토마운트
    	-autofs 등의 오토 마운트를 지원하는 서비스를 이용한 오토 마운트
    -리눅스가 부팅되면서 /etc/fstab 파일의 마운트 관련 정보를 읽으면서 부팅
    
    
    -file System : 오토 마운트 할 장치 파일의 이름을 절대 경로로 작성
    -mount point : 장치를 오토마운트 할 디렉터리르 절대 경로로 작성
    -type : 오토 마운트 할 장치의 파일 시스템 형식을 작성
    -option : 오토 마운트에 
    
    
 NFS(Network File System)(/etc/exports)
 	[패키지 이름] : nfs-kernel-server
    -서로 다른 시스템 간 파일 및 디렉터리르 공유하기 위한 시스템
    -네트워크를 통하여 다른 장치의 파티션을 마운트 할 수 있다.
    -용량을 제공하는 장치 NFS Server, 용량을 제공받는 장치를 NFS Client로 분류
        -> NFS Server에서 NFS 관련 설정을 완료 한 후, NFS Client에서 Mount명령으로 연결
    
    /nfs_server 192.168.111.20(rw,no_root_squash,no_subtree_check,sync)
    :/nfs_server : 공유할 디렉터리(장치명을 통해 공유하는 것이 아닌 디렉터리를 통해 공유한다)
    :192.168.111.20 : 공유 받을 클라이언트, 클라이언트 IP, 10.0.0.0/24와 같은 네트워크 ID를 통해 네트워크 대역 지정 가능
    :rw : read writ(ro : read only)
    :no_root_squash(Clinet가 root계정으로 접근시 Server에서 root취급)
    	-root_squash(Client가 root 계정으로 접근 시 Server에서 root취급하지않는다)
        -all_squash(Clinet가 일반 계정으로 접근 시 일반 계정으로 취급하지않는다)
        -no_all_squash(Client가 일반 계정으로 접근 시 일반 계정으로 취급)
    :no_subtree_check : NFS연결후 공유된 디렉터리의 하위 디렉터리를 대상으로 명령이 전달되면  하위 디렉터리에 대한 검사를 수행하지 않겠다.
    
    :sync : 데이터 동기화
    
    [클라이언트 패키지] : nfs-common
    mount -t nfs 192.168.111.10:/nfs_server /nfs_client

+ Recent posts