CentOS 7에서 모든 외부접근을 막고 특정 아이피의 ssh접근을 허용

CentOS 7에서 모든 외부접근을 막고 특정 아이피의 ssh접근을 허용
Photo by Gabriel Heinzer / Unsplash

CentOS 7에서 방화벽 설정을 위해서는 firewalld 서비스를 사용한다. 모든 외부 접근을 막고, 특정 아이피에 대해서는 SSH로 접속이 가능하게 하려면 다음과 같은 방법을 사용할 수 있다.

  1. firewalld 서비스가 실행 중인지 확인한다.
sudo systemctl status firewalld
  1. firewalld 서비스가 실행 중이지 않다면, 다음 명령어를 사용하여 시작한다.
sudo systemctl start firewalld
  1. 모든 외부 접근을 막기 위해 기본 정책을 설정한다.
sudo firewall-cmd --set-default-zone=drop
  1. SSH 포트를 열어준다. 기본 포트인 22번을 사용하는 경우, 아래와 같이 입력한다.
    sudo firewall-cmd --add-port=22/tcp --permanent
    만약 SSH 포트를 다른 번호로 변경한 경우, 해당 포트를 입력해 주어야 한다.
sudo firewall-cmd --add-port=<포트번호>/tcp --permanent
  1. 특정 아이피에 대해서만 SSH로 접속이 가능하도록 허용한다. 아래 명령어에서 192.168.0.100은 접근을 허용할 아이피 주소다.
sudo firewall-cmd --add-rich-rule='
  rule family="ipv4"
  source address="192.168.0.100/32"
  service name="ssh"
  accept'
  1. 변경된 설정을 적용한다.
sudo firewall-cmd --reload

위 방법을 통해 모든 외부 접근을 막고, 특정 아이피에 대해서만 SSH로 접속이 가능하게 할 수 있다.