자바 웹 프로그래밍

준비중..

자바 웹 프로그래밍

나만의 웹사이트를 만들어 보자!

x17 리눅스 서버 생성 및 설정

# 리눅스 서버 생성 및 기본 설정 스프링 웹서비스를 웹으로 배포하자. 그러기 위해서는 리눅스 서버를 만들고 여러 설정이 필요하다. ## 목차 1. 서버 구입 2. 서버 접속 3. 사용자 설정 4. 보안 설정 5. 업데이트 ## 서버 구입 ### 회원 가입 및 카드 등록 가벼운 서비스 개설을 위해 DigitalOcean 서버 호스팅을 사용하기로 함. (가격 저렴) ![Imgur](https://i.imgur.com/yP6ck4a.png) 회원 가입 및 이메일 인증 후, 카드번호를 입력해줌. ### Droplet(서버 인스턴스) 생성 OS 선택. ![Imgur](https://i.imgur.com/cLZrpIG.png) CPU/DISK/Transfer 설정. ![Imgur](https://i.imgur.com/ajcGzg6.png) 서버 위치 설정. (물리적 거리가 가까울 수록 반응속도 빠름) ![Imgur](https://i.imgur.com/HJjSDXn.png) 기타 설정은 기본으로 사용. Create를 하여 인스턴스 생성. ![Imgur](https://i.imgur.com/YEp9V9p.png) ## 서버 접속 서버를 생성하였으니 접속을 해봄. 생성된 Droplet을 클릭하면 Access 메뉴가 있는데 여기서 Console 모드로 서버에 접속할 수 있음. ![Imgur](https://i.imgur.com/DphSbC1.png) 하지만 맥 유저인 나는 터미널 창을 이용해서 접속하기로 함. (윈도우 유저는 Putty를 이용해서 접속을 권함) ``` # 터미널에 ssh명령어를 사용하여 root계정으로 해당 아이피서버로 접속 $ ssh root@{server-ip-address} ``` 초기 계정은 root이고 해당 계정의 비밀번호는 이메일로 와있는데 이를 참고하여 로그인!! (혹시 실수로 이메일을 지웠다면 Access 메뉴에서 Reset Root Password 버튼을 클릭하면 이메일로 비밀번호를 재전송 해주니 걱정 ㄴㄴ) 첫 로그인을 하면 root 계정의 비밀번호를 바꾸라고 함. 오타 안나게 알아서 잘 바꿔꿔야 함.. (초기 비밀번호가 생각보다 어려워 오타 자꾸나면 빡침) ## 사용자 설정 ### 계정 생성 명령어를 입력하면 몇 가지 추가 정보를 입력하라고 나옴. (그냥 엔터쭉 눌러서 쿨하게 패스) ``` $ adduser {username} ``` ### 루트 권한 부여 반적으로 리눅스는 루트(root) 계정 로그인을 권장하지 않기에 새롭게 만든 아이디에 루트 권한을 부여하기로 함. (루트권한을 부여하지 않으면 관리자 모드의 작업을 할 수 없음) ``` $ adduser {username} sudo ``` 새 아이디로 로그인 ``` exit ssh {username}@{server-ip-address} ``` ## 보안 설정 ### 방화벽 설정 서버에 접속 가능한 포트들을 관리하는 걸 방화벽이라고 함. 우분투는 기본적으로 ufw 방화벽을 제공하므로 이를 사용하여 방화벽을 설정. ssh(22번 포트) 접속과 http(80번 포트) 접속을 허용. ``` sudo ufw allow ssh // 22 sudo ufw allow http // 80 ``` 방화벽 적용 ``` sudo ufw enable ``` 방화벽 상태보기 ``` sudo ufw status ``` ### SSH 보안 설정 root 계정 접속을 막음. 왜? 무차별 대입 공격을 대비. 설정 파일 열기. ``` sudo vi /etc/ssh/sshd_config ``` 아래의 내용 변경. ``` // 변경 전 PermitRootLogin yes // 변경 후 PermitRootLogin no ``` 무차별 대입 공격시 딜레이 방어 설정. ``` sudo apt-get install sshguard ``` ## 업데이트 마무리! ``` sudo apt-get update sudo apt-get upgrade ```