-
<4주차> 네트워크 교육 정리!클라우드 교육/보고서! 2022. 11. 20. 01:12
목차
Linux 접근 제한
현재 Pc내에 구현된 가상서버이다.
각각의 서버 ip가 다른데,
blog : 서버 ip 로 접근
intra : 아이디만 접근
IP 접근제한
IP 접근제한을 하기 위해서 두가지 서버에 같은 설정파일을 수정하고 재부팅 해줘야한다.
설정파일
vi /etc/httpd/conf.d/vir.conf
기볹적으로 이전에 서버를 만들기위해 설정되었으면, 아래처럼 되어있을것이다.
여기에 아래 코드를 추가해준다.
<Directory "/var/www/blog"> Order deny,allow Deny from all Allow from 10.0.0.101 </Directory>
만약에 아래처럼 allow,deny 순서를 반대로 하면 ip를 다 막아버리니 순서를 잊지말자
<Directory "/var/www/blog"> Order deny,allow Deny from all Allow from 10.0.0.101 </Directory>
다른 블로그 서버도 추가
systemctl reload httpd
그리고 재부팅
다른 ip는 접근불가한 모습
101 ip는 접근된것을 볼 수있다.
사용자별로 구분
intra 서버에 사용자 구분을 해서 넣어보자.
과정은
디렉토리 생성 - 아이디 생성 - 설정파일 생성 - 설정파일 수정 - 재부팅
이런 과정이다.
먼저 디렉토리를 만들어준다. 디렉토리명은 크게 상관없다.
htpasswd 명령어를 사용할건데
아파치 사용자 인증파일을 생성하고 관리한다.
htpasswd -c /web/.auth aaa htpasswd /web/.auth bbb
최초로 만들어진 사용자는 -c 옵션을 추가하고
계정을 계속 생산시에는 사용하지않아도 된다
패스워드 입력하고 생산
잘 만들어졌는지 확인하자.
다른 Intra 서버에도 같이 작업
이번에는 설정파일작업 ( 서버 다 아래두개작업 다 해줘야한다 )
vi /var/www/intra/.htaccess
이렇게 파일을 만들어주고,
AuthName "Test Auth" AuthType Basic AuthUserFile /web/.auth Require user aaa bbb
위에거 추가
이렇게
그리고 아래 파일에 들어가서,
vi /etc/httpd/conf.d/vir.conf
<Directory "/var/www/intra"> AllowOverride AuthConfig </Directory>
이렇게 위처럼 추가해준다.
systemctl reload httpd
그리고 재부팅
이렇게 사용자로그인을 할 수 있다.
cmd 에서 vmware 내부아이피 여는법
cmd창에 아래처럼 입력해준다.
ssh root@'리눅스 서버 IP'
그러면 password를 입력하고 아래처럼 사용할 수 있다.
프록시 ( Proxy )
'대리' 라는 의미도 갖고있는 Proxy는 외부의 접속자가 자신을 통해 네트워크에 접속할 수 있게 하는 개념을 갖고있다.
이로 인해 트래픽조정을 통한 안정성, 보안성, 성능 등을 향상시킬 수 있다.
클라이언트가 서버에 직접 접근할 때 여러가지 문제점이 생길 수 있는데, 프록시는 이를 해결해준다.
서버는 다운되거나 , 업데이트를 할때에도 돌아가야하기때문에, 예비로 여러대를 두는데, 기본적으로 로드밸런싱이 되어있지않고, 해커등에 대한 접근 제한에도 안전하지 못하다.
아래는 프록시가 추가된 환경이다.
로드밸런서의 역할도 할 수 있고, 사용자의 접근제한도 할 수있다.
프록시의 종류에는 두가지가 있는데
서버의 위치에 따라
포워드 프록시 ( Foreward proxy )
리버스 프록시 ( Reverse proxy )
로 나뉘게 된다.
포워드 프록시 ( Foreward proxy )
클라이언트의 보안을 좀 더 중요시 하는게 클라이언트인데,
정부, 학교, 공공기관에서 클라이언트의 제한적인 인터넷 사용을 하여 특정 사이트의 접속제한을 할 수 있다.
또한 서버의 정보를 임시저장해주기도 하는데, 다른 클라이언트에서 접속한 정보를 저장해뒀다가 제공하여 서버의 부하를 조정하기도 한다.
리버스 프록시 ( Reverse proxy )
기업이 운영하는 서버의 보안을 좀 더 중요시하는게 리버스 프록시이다.
기업의 서버에는 하루에도 수백만명이 방문하는데, 어떤 한 서버에 몰리게 되면 서버에 과부하가 될 수 있기에 특정서버가 과부하 되지않게 관리해주는 로드밸런서 역할을 할수 있다. 또한 서버의 본래 ip를 노출시키지 않아 해커들의 공격에도 안전해진다. 또한 해외서버에 접속할때, 서버의 프록시서버가 한국에도 있을때, DNS 정보를 한국에서 제공할 수 있기때문에, 클라이언트들의 빠른 접근이 가능하다.
Linux 환경에서 구축
설치
yum install -y haproxy vi /etc/haproxy/haproxy.cfg
위에서부터 설치와 설정파일이다. 아래처럼 변경해주면된다
80번 포트를 사용할 것이며, 아래는 서버의 위치와 사용할 포트를 입력한다.
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
방화벽 열어주기
메일
Send mail / dovecot / thunderbird 를 사용할것이다.
설치하기
yum install sendmail sendmail-cf dovecot
설정파일 위치다
/etc/mail/
여기가서
vi /etc/mail/sendmail.mc
21번줄 14로 변경
52,53번줄 주석 제거
그리고 모든 ip에서 받겠다고 설정하기 위해 118번을 아래 두개 중 하나로 설정한다.
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
위의 cf 파일에 들어간다.
아래는 빈줄이 두개로 되어있는데 하나의 줄만 남겨준다
도메인 이름 등록하는 89,91을 주석제거해준다.
그리고 저장
아래로 가서
vi /etc/mail/local-host-names
도메인 이름을 등록해준다.
저장
아래가서
vi /etc/mail/access
이렇게 하면 10.0.0 으로 시작되는 모든 ip를 허용한다는 의미이다.
makemap 명령어로 accss로 설정된 것을 sendmail이 인식할 수있도록 한다.
makemap hash /etc/mail/access< /etc/mail/access
전송에 사용할 사용자를 생성하기
xx
yy
예시로 이렇게 두개 만든다.
아래 그룹 mail에 xx,yy사용자 추가
vi /etc/group
그리고 sendmail 재부팅
systemctl start sendmail
이제 받는 메일을 설정해보자.
여기가서
vi /etc/dovecot/dovecot.conf
24, 30 주석제거
저장
dovecot 의 설정파일에 들어갈건데 아래 파일들만 설정하면 된다.
ls /etc/dovecot/conf.d/
먼저 인증 파일부터 설정해보자.
vi /etc/dovecot/conf.d/10-auth.conf
위처럼 변경
사서함 위치 지정을 위해 아래에서 25번주석제거
vi /etc/dovecot/conf.d/10-mail.conf
포트지정을 위해 19,40줄 주석 제거 해준다.
19 - imap
40 - pop
을 의미한다.
vi /etc/dovecot/conf.d/10-master.conf
ssl에서 8번줄을 no로 설정해준다.
vi /etc/dovecot/conf.d/10-ssl.conf
마지막으로 방화벽을 열면 설정이 끝난다.
25번은 보내는 포트이고 , 110,143은 받는 포트이다.
firewall-cmd --permanent --add-port=25/tcp firewall-cmd --permanent --add-port=110/tcp firewall-cmd --permanent --add-port=143/tcp firewall-cmd --reload firewall-cmd --list-all
썬더버드를 사용할건데 계정을 만들때 아래처럼 설정하면 된다. 만일 안된다면 hostname에 ip번호를 적어도 된다.
그리고 테스트 메일을 보내면
아래처럼 잘 도착했다.
설치방법
먼저 telnet 서버와 연결한다
telnet localhost 25
이렇게 뜨면 잘 되고있다는것이다.
보낼주소와
mail from:ceo@sangm.shop rcpt to:dochuk9@naver.com data subject:googbay
아래처럼 메일함에 잘 와있다.
암호화
암호화란 송수신자가 정보를 주고 받는과정에서 외부의 어느 누구도 해독하지 못하게 파일을 변환하고 해독하기 위해 만들어진 인터넷 체계이다.
대칭키 암호화 방식
암호화와 복호화에 같은 키를 사용하는 방식이다.
송,수신자 둘다 대칭키를 가져야 하기때문에,
대칭키를 전달하는 과정에서 키가 노출될 위험이 있다.
이를 보완하기 위해 나온 방법이 아래의 공개키 암호화 방식이다.
공개키 암호화 방식
암호화와 복호화에 서로 다른 키 ( 공개키 / 비밀키 ) 를 사용하는 방식이다.
공개키는 공유되고
비밀키는 소유자만 갖고있다.
서버로 부터 안전하게 데이터를 전송하는것이 목적이지만, 계산이 느리다.
SSH의 통신과정
ssh 로그인
1. 키만들기
cmd에서
ssh-keygen
이렇게 되면 만들어진다.
C:\Users\user\.ssh
여기안에 보면
이렇게 만들어져있는게 보인다.
id_rsa.pub을 메모장으로 켜고
개인마다 다른데 아래 조건은 필수이다.
띄어쓰기는 1개만.
AAAA 로 시작한다.
빨간칸 다음을 지워버리기고 저장
이렇게 남겨둔다 리눅스의 root 디렉토리에서
mkdir .ssh
이렇게 .ssh 파일을 만들어준다.
cmd에서 .ssh 파일안으로 가서
C:\Users\user\.ssh>scp ./id_rsa.pub root@10.0.0.1:/root/.ssh
id_rsa.pub 파일을 복사해 리눅스 .ssh 안으로 보내는것
파일 복사하면 이렇게 보인다.
이렇게 있는게 보인다.
설정파일로 들어간다
vi /etc/ssh/sshd_config
그리고
38, 43주석제거
47번줄을 보면, 키의 위치와 이름을 저렇게 해야 적용이 된다는것을 볼 수 있다.
65번 주석 처리
저장 후 sshd를 새로 시작해주자.
systemctl restart sshd
이름도 바꿔주자.
mv .ssh/id_rsa.pub .ssh/authorized_keys
xshell에서 이렇게 이름 암호 지우고 Public key로 변경
그리고 암호키를 찾아 등록해주면 완성이다.
만일 리눅스 to 리눅스 환경에서 구축할때는, 반드시 Private key 파일의 권한을 600으로 맞춰야한다!!
NFS ( Network File System )
네트워크 파일 시스템
서버의 공간을 자신의 자원처럼 사용하기 위해 만들어진 공유 파일 폴더
공통으로 사용되는 파일들을 공유 폴더에 저장해 저장효율성이 증가된다
다른 네트워크에 있는것들을 사용하기때문에 보안에 취약하고
네트워크를 이용하기때문에 속도가 느림
nfs 설치
공유 파일 폴더라서 2개의 서버가 필요하다
nfs-utils 설치 , 서버 두개에 다 설치한다.
공유할 폴더를 만들어준다
그 후
위의 폴더에 들어가서 아래 문구 입력하고 nfs 시작 ( 자신이 사용할 네트워크의 주소를 입력한다 )
/nfs-server 10.0.0.0/24(rw,no_root_squash,sync)
exportfs -v
위의 명령어로 확인해보면 아래처럼 서버가 공유된것을 확인할 수 있다.
아래 명령어로 확인해보면 서비스가 실행되었는지 알 수 있다.
rfcinfo -p
방화벽 오픈
firewall --permanent --add-service=nfs firewall --permanent --add-service=mountd firewall --permanent --add-service=rpc-bind firewall --permanent --reload
서버 2
공유 폴더 생성
마운트 하기
마운트 명령어로 확인해보면
이걸로 보면 아래처럼 나와있다
과정이 끝났으니 공유가 되는지 확인해보자.
이렇게 만들면
1에서 확인가능
'클라우드 교육 > 보고서!' 카테고리의 다른 글
<6주차> 네트워크 교육 정리! (2) 2022.12.05 <5주차> 네트워크 교육 정리! (0) 2022.11.28 <3주차> 네트워크 교육 정리! (1) 2022.11.14 <2주차> 리눅스 교육 정리! (0) 2022.11.07 <1주차> 리눅스 교육 정리! (0) 2022.10.29