Ubuntu Network 구성

Jake·2025년 4월 19일

Setting-Server

목록 보기
3/6

이번시간에는 원격 접속을 위한 SSH 세팅, 보안, 도메인 설정 부분을 살펴보겠습니다.

네트워크 구성

현재 네트워크 구성을 살펴보면 아래와 같이 세팅되어 있습니다.

저희 집은 LG U+ 에서 인터넷을 받아오고 있으며, 공유기를 사용하여 유, 무선으로 인테넛을 사용중입니다.

공유기로부터 시작되는 네트워크는 스마트폰, 노트북, 아이패드 등 무선 네트워크를 사용하는 기기에게 인터넷을 제공하고 있고 홈서버에게는 LAN 선을 통한 유선 네트워크를 제공하고 있습니다.

초기 설정

아래 명령어를 통해 초기 설정을 진행합니다

sudo apt update && sudo apt upgrade -y

SSH

ssh 의 경우 ubuntu를 설치하였을 때 설치하였으므로 sshd를 실행시켜주기만 하면 됩니다.

상태 확인

sudo systemctl status ssh

실행 명령어

sudo systemctl enable --now ssh

보안

root 계정 비밀번호 생성

sudo passwd

이후 root 계정으로 접속을 시도하기 위한 명령어는

su -

이렇게 하면 커멘트 환경이 $ -> # 로 변경되며 이후 sudo 를 붙이지 않아도 됩니다.
이후 로그아웃 명령어는 exit 입니다.

계정 제한

sudo vi /etc/ssh/sshd_config

위 내용을 추가하여 가장 아래에

...
AllowUsers [계정명]

을 입력하고 ssh를 sudo service sshd restart 를 재시작하면 됩니다.

방화벽 - iptables

아래 명령어는 방화병 상태를 보여줍니다.

sudo iptables -L

설정은 아래와 같이 진행합니다.

sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP

보안 설정 요약

127.0.0.1 허용 서버 내부 통신 허용
22번 포트 허용 외부 SSH 접근 허용
RELATED,ESTABLISHED apt, ping, DNS 등 응답 허용
INPUT DROP 위에서 명시하지 않은 인바운드 차단
FORWARD DROP 라우터처럼 동작하는 거 방지
iptables-persistent 재부팅 후 설정 유지

저는 아래 블로그를 참고하면서 위 설정에서 RELATED, 다음 띄워쓰기를 하여 iptables v1.8.10 nf_tables: bad ctstate try iptables -h 에러가 발생되었습니다. 꼭 붙여서 진행하셔야 합니다.

여기까지가 세팅이 완료되었습니다.

하지만 이러한 방화벽 설정은 reboot 재시작을 하게 되면 모두 사라지게 됩니다. 그러므로 설정 저장을 위해 iptables-persistent를 설치해주겠습니다.

sudo apt install iptables-persistent

sudo netfilter-persistent save
sudo netfilter-persistent reload

fail2ban

무작위로 로그인을 시도하는 해킹을 막기 위해 방화벽수준에서 보호해주는 패키지입니다.

sudo apt install fail2ban

설치 이후

sudo vim /etc/fail2ban/jail.local

jail.local 파일을 생성하여 원하는 옵션을 지정해주도록 합니다.

[DEFAULT]
ignoreip=192.168.0.0/24
bantime=86400
maxretry=5
findtime=86400

[sshd]
enabled = true
port=22
filter=sshd
logpath=/var/log/auth.log

적용을 위해 restart를 하고 확인을 해줍니다.

sudo service fail2ban restart

sudo fail2ban-client status sshd

아래는 참고한 사이트입니다.

0개의 댓글