방화벽은 거의 모든 공용 Linux 서버에 필수 소프트웨어 중 하나이며, 네트워크 공격으로부터 서버를 보호할 수 있습니다. 많은 Linux 배포판에는 이미 방화벽(일반적으로 Fedora, CentOS 및 Red Hat 배포판의 iptables)이 함께 제공됩니다. 기본적으로 설치된 방화벽 소프트웨어는 "firewall-cmd" 명령을 통해 구성 및 제어할 수 있는 방화벽 소프트웨어입니다.
Linux에는 방화벽과 바이러스 백신 소프트웨어가 있습니다. 방화벽은 공용 인터넷의 Linux 서버에 거의 필수 소프트웨어입니다. 또한 거의 모든 컴퓨터실에는 침입 탐지, 공격 방지 등을 위한 하드웨어 방화벽이 있습니다.
합리적인 방화벽은 컴퓨터가 네트워크 침입을 방지하는 첫 번째 장벽입니다. 집에서 인터넷 서핑을 할 때 일반적으로 인터넷 서비스 제공업체는 라우팅에 방화벽을 구축합니다. 집을 비울 때는 컴퓨터의 방화벽이 유일한 방화벽이므로 Linux 컴퓨터에서 방화벽을 구성하고 제어하는 것이 중요합니다. Linux 서버를 유지 관리하는 경우 로컬이든 원격이든 불법 트래픽으로부터 서버를 보호할 수 있도록 방화벽을 관리하는 방법을 아는 것도 똑같이 중요합니다.
Linux 설치 방화벽
일반적으로 iptables는 많은 Linux 배포판과 함께 제공되는 기본 방화벽입니다. 강력하고 사용자 정의가 가능하지만 구성하기가 약간 복잡합니다. 개발자는 사용자의 방화벽 관리를 지원하고 번거로운 iptables 규칙을 대체하는 프런트 엔드 애플리케이션을 작성했습니다.
Fedora, CentOS, Red Hat 및 일부 유사한 배포판에서 기본으로 설치된 방화벽 소프트웨어는 Firewalld이며, 이는 Firewall-cmd 명령을 통해 구성 및 제어됩니다. Firewalld는 소프트웨어 저장소를 통해 Debian은 물론 대부분의 다른 배포판에도 설치할 수 있습니다. Ubuntu에는 복잡하지 않은 방화벽(ufw)이 함께 제공되므로 방화벽을 사용하려면 유니버스 소프트웨어 저장소를 활성화해야 합니다:
$ sudo add-apt-repository universe $ sudo apt install firewalld
또한 ufw를 비활성화해야 합니다:
$ sudo systemctl disable ufw
ufw를 사용하지 않을 이유가 없습니다. 강력한 방화벽 프런트엔드입니다. 그러나 이 기사에서는 대부분의 배포판이 방화벽을 지원하고 거의 모든 배포판과 함께 제공되는 systemd에 통합되어 있기 때문에 방화벽에 중점을 둡니다.
어떤 배포판을 사용하든 먼저 방화벽을 활성화해야 적용되며 시작 시 로드되어야 합니다.
$ sudo systemctl enable --now firewalld
방화벽 도메인 이해하기
Firewalld는 다음과 같이 방화벽을 구성하도록 설계되었습니다. 가능한 한 쉽게. 도메인 영역을 설정하여 이 목표를 달성합니다. 도메인은 대부분의 사용자의 일상적인 요구에 맞게 조정되는 합리적이고 일반적인 규칙 집합입니다. 기본적으로 9개의 도메인이 있습니다.
신뢰할 수 있음: 모든 연결을 수락합니다. 이는 테스트 랩이나 모두가 서로 알고 있는 홈 네트워크와 같이 절대적으로 신뢰할 수 있는 환경에서만 사용해야 하는 매우 허용적인 방화벽 설정입니다.
대부분의 연결은 집, 직장, 내부 세 가지 영역에서 수신됩니다. 각각은 활성화되지 않을 것으로 예상되는 포트에서 들어오는 트래픽을 제외합니다. 세 가지 모두 홈 환경에서 불확실한 포트로 인한 네트워크 트래픽이 없고, 홈 네트워크에서는 일반적으로 다른 사용자를 신뢰할 수 있기 때문에 홈 환경에서 사용하기에 적합합니다.
public: 공공 장소에서 사용됩니다. 이는 네트워크의 다른 컴퓨터를 신뢰하지 않을 때 사용되는 편집증적인 설정입니다. 선택된 일반적이고 가장 안전한 수신 연결만 허용됩니다.
dmz: DMZ는 비무장지대를 의미합니다. 이 도메인 이름은 조직 외부에서 공개적으로 액세스할 수 있고 내부 네트워크에 대한 액세스가 제한된 컴퓨터에 자주 사용됩니다. 이 문장은 다음과 같이 다시 작성할 수 있습니다. 개인용 컴퓨터에서는 그다지 실용적이지 않지만 일부 서버에서는 중요한 선택입니다.
external: 외부 네트워크에 사용되며 위장이 활성화됩니다(개인 네트워크의 주소가 외부 IP 주소에 매핑되어 숨겨집니다). DMZ와 마찬가지로 SSH를 포함하여 일부 수신 연결만 허용됩니다.
block: 이 시스템에서 초기화된 네트워크 연결만 허용합니다. 모든 네트워크 연결이 거부되고 icmp-host-prohibited 메시지가 전송됩니다. 이는 편집증 수준이 극도로 높기 때문에 신뢰할 수 없거나 보안되지 않은 환경에 위치한 개인용 컴퓨터나 특정 유형의 서버에 특히 매우 중요한 설정입니다.
drop: 수신된 모든 네트워크 패킷은 응답 없이 삭제됩니다. 나가는 네트워크 연결만 사용할 수 있습니다. 이 설정보다 더 극단적인 해결책은 WiFi를 끄고 네트워크 케이블을 뽑는 것입니다.
구성 파일 /usr/lib/firewalld/zones를 통해 배포에 대한 모든 영역을 보거나 관리자 설정을 볼 수 있습니다. 예를 들어, Fedora 31과 함께 제공되는 Fedora Workstation 영역은 다음과 같습니다:
$ cat /usr/lib/firewalld/zones/FedoraWorkstation.xml <?xml version="1.0" encoding="utf-8"?> <zone> <short>Fedora Workstation</short> <description>Unsolicited incoming network packets are rejected from port 1 to 1024, except for select network services. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed.</description> <service name="dhcpv6-client"/> <service name="ssh"/> <service name="samba-client"/> <port protocol="udp" port="1025-65535"/> <port protocol="tcp" port="1025-65535"/> </zone>
현재 영역 가져오기
언제든지 --get-active-zones 옵션을 사용하여 현재 있는 영역을 확인할 수 있습니다.
$ sudo firewall-cmd --get-active-zones
출력 결과에는 현재 활성 도메인 이름과 이에 할당된 네트워크 인터페이스가 표시됩니다. 노트북에서 기본 도메인에 있다는 것은 일반적으로 WiFi 카드가 있다는 것을 의미합니다.
FedoraWorkstation interfaces: wlp61s0
현재 도메인을 수정하세요
要更改你的域,请将网络接口重新分配到不同的域。举个例子,将 wlp61s0 网卡修改为公用域
$ sudo firewall-cmd --change-interface=wlp61s0 --zone=public
你可以在任何时候、任何理由改变一个接口的活动域 —— 无论你是要去咖啡馆,觉得需要增加笔记本的安全策略,还是要去上班,需要打开一些端口进入内网,或者其他原因。在你凭记忆学会 firewall-cmd 命令之前,你只要记住了关键词 change 和 zone,就可以慢慢掌握,因为按下 Tab 时,它的选项会自动补全。
위 내용은 리눅스에는 방화벽이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!