Ubuntu Server를 설치 및 세팅하는 나의 방식

1

설치

특별한건 없고, mirror를 설정하는 부분에서 기본 제공하는 곳이 아닌
http://mirror.kakao.com/ubuntu 로 바꿔준다.

세팅

  1. root 계정을 사용한다.

    sudo su
  2. 업데이트 및 업그레이드를 한다.

    apt update -y && apt upgrade -y
  3. 보안관련 세팅 (필요시 진행. 아무것도 모르고 진행하면 고통받을 수 있음.)

    sed -i "s/#PermetRootLogin yes/PermetRootLogin no/g" /etc/ssh/sshd_config &&\
    sed -i "s/PASS_MAX_DAYS\t99999/PASS_MAX_DAYS\t90/g" /etc/login.defs &&\
    sed -i "s/PASS_MIN_DAYS\t0/PASS_MIN_DAYS\t3/g" /etc/login.defs &&\
    sed -i "s/PASS_WARN_AGE\t7/PASS_WARN_AGE\t80/g" /etc/login.defs &&\
    sed -i "s/#PASS_MIN_LEN/PASS_MIN_LEN\t7/g" /etc/login.defs &&\
    chmod 750 /usr/bin/newgrp &&\
    sed -i "s/pam_unix.so/pam_unix.so obscure_retry=3 minlen=8 ucredit=-1 dcredit=-1 ocredit=-1 lcredit=-1 sha512 #/g" /etc/pam.d/common-password &&\
    echo "export TMOUT=600" >> /etc/profile &&\
    chmod 440 /etc/shadow &&\
    chmod 644 /etc/hosts &&\
    chmod 644 /etc/services &&\
    echo "umask 027" >> /etc/profile
  4. history 명령어에 시간이 나오게 한다. (필요시 진행)

    echo 'export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S -- "' >> /etc/profile
  5. 시간 세팅 (+net-tools 설치)

    apt install -y chrony net-tools &&\
    timedatectl set-ntp true &&\
    dpkg-reconfigure tzdata
  6. 배너 세팅

    cp -r /etc/update-motd.d /etc/update-motd.d_backup &&\
    rm -rf /etc/update-motd.d/* &&\
    touch /etc/update-motd.d/00-header &&\
    chmod +x /etc/update-motd.d/00-header &&\
    vim /etc/update-motd.d/00-header
    • 배너 예시
      #! /bin/sh
      printf '+--------------------------------------------------------------------------+\n'
      printf '|                                                                          |\n'
      printf '|    지금 접속하신 서버는 \033[32;1mㅁㅁㅁㅁㅁㅁ\033[0m 에서 서버를 관리하고 있습니다.    |\n'
      printf '|    모든 네트워크 연결을 \033[31;1m모니터링\033[0m하고 \033[31;1m기록\033[0m 되어지고 있으니                |\n'
      printf '|    \033[33;1m비인가자\033[0m의 경우 접속을 \033[31;1m해제\033[0m하시기 바랍니다.                           |\n'
      printf '|                                                                          |\n'
      printf '+--------------------------------------------------------------------------+\n'
  7. pem키 세팅

    sed -i "s/PasswordAuthentication yes/PasswordAuthentication no/g" /etc/ssh/sshd_config &&\
    exit
    
    cd &&\
    ssh-keygen &&\
    cd .ssh &&\
    rm -rf * &&\
    touch authorized_keys &&\
    chmod 600 authorized_keys &&\
    vim authorized_keys &&\
    sudo systemctl restart sshd
    • authorized_keys 에는 사용할 pem키와 짝을 이루는 pub키를 넣는다.
profile
지상 최강의 개발자 쥬니니

0개의 댓글