Skip to content

13. Ubuntu 보안 설정 (해킹 예방)


1. Enable Automatic Updates

sudo apt-get update && \
  sudo apt-get dist-upgrade -y && \
  sudo apt-get install -y unattended-upgrades && \
  sudo dpkg-reconfigure --priority=low unattended-upgrades


2. Limited User Account → Do not use root

sudo adduser [username]
sudo usermod -aG [groupname] [username]


3. Passwords are for suckers → Use Public/Private Key

1) In Remote

mkdir $HOME/.ssh && \
  chmod 700 $HOME/.ssh && \
  touch $HOME/.ssh/authorized_keys


2) In Local

ssh-keygen -t 암호화방식 -f ~/.ssh/생성할인증키이름 -C "코멘트"
ssh-keygen -t rsa -f ~/.ssh/test -C "My name is test"


3) *.pub Remote 서버에 저장


4. Lockdown Logins (harden SSH)

sudo vim /etc/ssh/sshd_config
# SSH 접속 포트 변경
Port 22 -> Port 12345

# 접속 IP는 IPv4로 제한
AddressFamily any -> AddressFamily inet

# root 계정으로 들어오는 접속 차단
PermitRootLogin yes -> PermitRootLogin no

# 위의 Authorized_keys 사용 권장(Password는 절대 믿으면 안 됨)
PasswordAuthentication yes -> PasswordAuthentication no
sudo systemctl restart sshd


5. Filrewall It Up

1) IDC/Cloud 환경이라고 하더라도 시스템 방화벽까지도 필요함


2) 사용 중인 포트 확인

sudo ss -tupln


3) ufw 설치

sudo apt-get install -y ufw


4) 상태 확인

sudo ufw status


5) 포트 허용

sudo ufw allow [portnumber/tcp]
sudo ufw allow 12345/tcp


6) 방화벽 실행

sudo ufw enable


7) 추가 정보

  • 해커는 외부에서 핑 확인 후 서버 존재 유무 확인


ping [IPAddress] [-t]
ping 123.123.123.123 -t


  • ufw 핑 관련 룰 추가 (핑 확인 방지)


sudo vim /etc/ufw/before.rules
...

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP (<- (1) 추가)
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT (<- (2) 또는 DROP으로 변경 / (3) 또는 전부 DROP으로 변경)

...


  • ufw 재실행


sudo ufw reload
sudo reboot

References