Explanation
개인 웹서버로 우분투를 설치하여 처음으로 한 기본으로 한 패키지와 방화벽 설정을 정리해 보려 합니다.
1. 업데이트, 업그레이드
$ apt-get update
# 설치되어 있는 패키지들의 버전을 최신 버전을 확인합니다.
$ apt-get upgrade
# 확인된 최신 버전으로 업그레이드 합니다
2. 추가 패키기 설치
$ apt-get install htop
# 아직 정확하게 알지 못하지만, 서버의 cpu나 메모리 사용량을 확인할 수 있습니다.
$ apt-get install vim
# vim 에디터
$ apt-get install git
# git 설치
3. 한글 패키지 설치, 시간 설정
$ apt-get install language-pack-ko-base
$ update-locale LANG=ko_KR.UTF-8
# 언어 설치 및 설정
$ dpkg-reconfigure tzdata
# 시간 설정 Asia > Seoul 선택
4. 사용자 설정
$ adduser cheolguso
# cheolguso = 사용할 유저 이름
$ passwd cheolguso
# cheolguso 사용자의 비밀번호 설정
$ usermod -G sudo cheolguso
# cheolguso 사용자에게 sudo를 사용할 수 있도록 sudo 그룹에 포함
저는 오드로이드를 사용하고 있기 때문에 기본적으로 설정된 root와 odroid의 비밀번호도 변경해 줍니다.
$ passwd odroid
$ passwd root
저는 새로 추가한 사용자를 sudo 그룹에 포함하였기 때문에 보안을 위해 ssh에 root로는 로그인 할 수 없도록 하였습니다.
$ vi /etc/ssh/sshd_config
# vi 에디터로 에디터 수정
# PermitRootLogin yes 부분을 찾아서 no로 바꿔주고 저장합니다.
# i - 수정모드 진입, esc - 수정모드 끝, : - 커맨드모드, wq - 수정 저장 후 종료
5. 방화벽 설정
$ ufw enable
# ufw 활성화, ufw 디폴트 규칙은 들어오는 패킷은 모두 거부되고 나가는 것은 모두 허가됩니다.
아래와 같이 특정 포트의 접근을 허용할 수 있습니다.
$ ufw allow 22
$ ufw allow 80
# 22, 80 포트 허용
아래와 같이 특정 포트의 접근을 거부할 수 있습니다.
$ ufw deny 22
$ ufw deny 80
# 22, 80 포트 거부
또는 아래와 같이 허용된(or 거부된) 규칙을 삭제할 수 있습니다. (기본 룰이 모든 패킷 접근 거부라면 규칙을 삭제만 하여도 접근이 거부되겠죠??)
$ ufw delete allow 22
# 22 포트 허용 규칙 삭제
포트 번호가 아닌 IP 주소를 가지고 접근을 거부하거나 허용할 수 있습니다.
$ ufw deny from 192.168.0.10
# 192.168.0.10 ip의 접근을 거부
$ ufw status
# UFW 상태 및 규칙 확인
더 많은 룰 설정은 https://help.ubuntu.com/community/UFW 에서 확인 하실 수 있습니다.




이전 댓글 2개
무조니
질문 : 어느 포트를 허용했다 거부했다 지우는 것으로 설명되어 있는데, 이는 자기가 원하는 것은 허용하고 다른 것은 거부하고 지우라는 것이겠지요? 그리고 내부 고정 IP에서 접근을 거부한다는 것은 어떤 의미인가요?
cheolguso
안녕하세요, 무조니 님. 제가 지식이 얕아 바른 답변이 될 수 있을지 조심스럽지만... 우선 첫 번째 부분은 말씀하신 것처럼 UFW를 활성화하면 기본값으로 모든 들어오는 패킷은 차단되기 때문에, 원하는 패킷만 허용하여주고 서비스의 정책이 바뀜에 따라 다시 차단이 필요할 때에 해당 패킷을 deny 해주거나 허용했던 규칙을 삭제해 주면 될 것 같습니다. (요약하면 말씀하신 부분이 맞습니다.) 그리고 두 번째로 말씀하신 부분은 단순히 특정 아이피를 제한하거나 허용할 수 있다는 의미로 작성한 것인데, 말씀하신 것을 듣고 보니 제가 좀 헷갈리게 글을 작성한 거 같습니다. 죄송합니다. (글은 헷갈리지 않게 수정하였습니다.) 끝으로 댓글 남겨주셔서 감사합니다. 오랜만에 댓글이 달려서 뭔가 반갑고 좋네요 :)