Open source라는 단어는 공개적으로 접근 가능한 오픈소스 소프트웨어(OSS)를 통칭하며 누구나 오픈소스 코드를 검토, 변경, 공유할 수 있는 소프트웨어입니다. 개인 또는 조직이 애플리케이션으로 오픈 소스 라이선스를 사용할 경우 다음 사항에 동의해야 합니다. 소프트웨어의 소스 코드 전체를 공개적으로 사용 가능하게 합니다. 누구나 소프트웨어 코드를 변경, 개선 또는 재엔지니어링하는 것을 허용합니다. 포크 생성을 허용하는 사용자가 필요한 모든 목적으로 애플리케이션을 사용할 수 있도록 허용합니다. 오픈소스 라이선스는 개발자가 서로 지식을 공유할 수 있도록 해 오픈소스 커뮤니티 전체가 집단적 혁신의 혜택을 받습니다. 인터넷을 구성하는 필수적인 요소, 많은 인터넷 어플리케이션은 오픈 소스 테크놀로지를 기반으로 합니다. 대형 인터넷 기업은 페이스북 오픈 구글 소스 커뮤니티에 개인 아이디어의 일부에 대한 액세스 권한을 부여하고 있습니다. 오늘날 우리가 당연하게 생각하는 많은 기술들은 오픈소스 라이선스가 없었다면 개발되지 못했거나 특허법 뒤에 갇혀 있었을 것입니다. 오픈 소스 운동은 지난 수십 년간 기술의 급속한 발전에 책임을 지고 있습니다. 오픈 소스 소프트웨어의 주요 장점은 다음과 같습니다. 비용 절감 : 오픈 소스 라이선싱은 코드를 무료로 제공하기 때문에 오픈 소스 방화벽을 사용하면 지원, 보안 강화, 상호 운용성 관리 지원에 대해 비용을 지불하게 됩니다. 오픈된 협업 : 오픈 소스 커뮤니티는 활발하고 큰 도움이 되기 때문에 단일 관심 그룹이나 회사를 뛰어넘는 지원, 리소스, 시점을 찾을 수 있습니다. 신뢰성: 독점 코드는 업데이트, 패치 및 운영을 유지하기 위해 단일 작성자 또는 회사에 의존합니다. 오픈 소스 코드는 활성화된 오픈 소스 커뮤니티에서 지속적으로 업데이트되므로 원래 작성자보다 오래갑니다. 오픈 표준과 피어 리뷰를 통해 오픈 소스 코드가 철저하고 자주 테스트됩니다. 유연성: 오픈 소스 코드는 수정에 중점을 두기 때문에 비즈니스나 커뮤니티에 고유한 문제를 해결하는 데 사용할 수 있습니다. 코드를 어떤 특별한 방법으로 사용할 의무는 없으며, 새로운 솔루션을 구현할 때 커뮤니티의 지원과 동료 검토에 의존할 수 있습니다. 리뷰: 소스 코드가 무료로 제공되며 오픈 소스 커뮤니티가 매우 활발하기 때문에 개발자는 오픈 소스 코드를 적극적으로 확인하고 개선합니다. 정체되는 폐쇄된 코드와는 대조적으로 살아있는 코드라고 생각해 주세요. 투명성: 프로바이더의 약속에 의존하지 않고 직접 오픈 소스 코드 변경을 확인하고 추적할 수 있습니다. 공급업체에 의존하지 않습니다. 오픈 소스 코드를 어디든지 가지고 다니며 원하는 대로, 원하는 대로 사용할 수 있습니다. 오픈소스 방화벽은 오픈소스 라이선스에 따라 개발 및 배포되는 네트워크 방화벽으로 인바운드 및 아웃바운드 트래픽을 필터링하여 네트워크를 위협으로부터 보호하고 네트워크 보안을 보장합니다. 오픈 소스 방화벽은 위의 오픈 소스 소프트웨어의 모든 이점을 가지고 있습니다. 오픈 소스 방화벽에서 가장 귀중한 자산의 하나를 보호할 수 있는 것은 틀림없습니다. 보호해야 할 인프라의 규모, 사용 편의성, 방화벽에 그래픽 인터페이스가 있는지 여부 등 전문성 수준 등에 따라 선택할 수 있는 오픈소스 방화벽 소프트웨어의 범위가 매우 넓습니다. 이 기사에서는 사용 가능한 최고의 오픈 소스 방화벽을 소개합니다. 이러한 방화벽을 모든 하드웨어, 가상 플랫폼 또는 클라우드에 쉽게 다운로드하여 전개할 수 있습니다. 네트워크를 보호하는 최고의 오픈소스 방화벽 리눅스, FreeBSD 등 오픈소스 운영체제에는 OpenBSD 방대한 수의 네트워킹 및 보안 기능이 포함되어 있습니다. 그 결과, 이러한 운영 시스템은 보안 제품을 개발하기 위한 자연스러운 플랫폼이며, 대부분의 상용 방화벽은 이러한 운영 시스템 중 하나를 기반으로 구축됩니다. 무료 커뮤니티 지원부터 유료 상용 지원까지 모든 기능을 갖춘 대규모 기업용 방화벽부터 광대역 무선 라우터용 소형 임베디드 시스템까지 다양한 옵션이 있습니다. 가정 사용자나 고가의 상용 방화벽을 구매할 예산이 부족한 중소기업의 경우 주저 없이 네트워크 상에 오픈소스 방화벽을 사용할 수 있습니다. 아래에 나열된 오픈 소스 방화벽 중 일부는 고가의 상용 방화벽입니다 솔루션과 같은 기능과 성능을 가지고 있습니다. 따라서 많은 기업이 비용의 일부만으로 이를 주요 네트워크 보안 솔루션으로서 전개합니다. IT 인프라를 보호하는 데 사용할 수 있는 최고의 오픈 소스 방화벽 솔루션은 다음과 같습니다. OPNsense IPfire UntanglepfSENSEiptable 1. OPNsense OPNsense는 FreeBSD 기반 오픈 소스 방화벽 및 포크입니다. pfSense. m0n0wall32비트 또는 64비트 시스템 아키텍처와 호환되며 ISO 이미지 및 USB 설치 프로그램에서 다운로드 할 수 있습니다. 프랑스어, 이탈리아어, 러시아어, 중국어, 일본어 등 다양한 언어로 제공되는 GUI를 제공합니다. OPNSense에는 2FA, Netflow, Proxy, Webfilter, QoS, IPSec, VPN 등 많은 엔터프라이즈급 보안 및 방화벽 기능이 있습니다. 또한 심층 패킷 검사를 갖춘 인라인 침입 방지 시스템을 사용하여 네트워크의 침입을 검출하고 방지합니다. 또 다른 중요한 기능은 주간 보안 업데이트를 제공하는 것입니다. 이 섹션에서는 다음 사항에 대한 정보를 제공합니다. OPNsense란? OPNsense 방화벽의 특징 OPNsense 방화벽 설치 OPNsense 방화벽 플러그인 OPNsense 방화벽이란? Open source라는 단어는 공개적으로 접근 가능한 오픈소스 소프트웨어(OSS)를 통칭하며 누구나 오픈소스 코드를 검토, 변경, 공유할 수 있는 소프트웨어입니다. 개인 또는 조직이 애플리케이션으로 오픈 소스 라이선스 사용
OPNsense는 오픈 소스, 구축하기 쉽고 사용하기 쉬운 Hardened BSD 기반 방화벽 및 라우팅 플랫폼입니다. OPNsense 프로젝트는 Deciso 네덜란드의 한 회사에서 설립되었으며 하드웨어를 만들고 OPNsense 방화벽에 대한 지원 패키지를 판매합니다. OPNsense는 2014년 pfSense 소프트웨어와 m0n0wall의 포크로 시작하여 2015년 1월에 첫 공식 출시되었습니다. 한편 m0n0wall이 2015년 2월 폐기되었을 때 제작자 마누엘 카스퍼는 개발자 커뮤니티를 OPNsense에 할당했습니다. 그리고 수천 명의 지지자들과 함께 대규모 커뮤니티를 계속 구축하고 있습니다. OPNsense는 새로운 위협에 적시에 대응하기 위해 매주 소량의 보안 업데이트를 제공합니다. 또한 1년에 두 번의 주요 릴리스라는 고정된 릴리스 주기를 가지고 있습니다. “우리의 사명은 OPNsense를 가장 널리 쓰이는 오픈소스 보안 플랫폼으로 만드는 것입니다. 우리는 사용자, 개발자 및 기업에 친절하고 안정적이며 투명한 환경을 제공합니다. 이 프로젝트의 이름은 open과 sense에서 유래하며 “Open(source) makes sense”를 의미합니다. -Disciso OPNsense는 오픈소스, 구축하기 쉽고 사용하기 쉬운 Hardened BSD 기반 방화벽 및 라우팅 플랫폼입니다. OPNsense 프로젝트는 Deciso 네덜란드의 한 회사에서 설립되었으며 하드웨어를 만들고 OPNsense 방화벽에 대한 지원 패키지를 판매합니다. OPNsense는 2014년 pfSense 소프트웨어와 m0n0wall의 포크로 시작하여 2015년 1월에 첫 공식 출시되었습니다. 한편 m0n0wall이 2015년 2월 폐기되었을 때 제작자 마누엘 카스퍼는 개발자 커뮤니티를 OPNsense에 할당했습니다. 그리고 수천 명의 지지자들과 함께 대규모 커뮤니티를 계속 구축하고 있습니다. OPNsense는 새로운 위협에 적시에 대응하기 위해 매주 소량의 보안 업데이트를 제공합니다. 또한 1년에 두 번의 주요 릴리스라는 고정된 릴리스 주기를 가지고 있습니다. “우리의 사명은 OPNsense를 가장 널리 쓰이는 오픈소스 보안 플랫폼으로 만드는 것입니다. 우리는 사용자, 개발자 및 기업에 친절하고 안정적이며 투명한 환경을 제공합니다. 이 프로젝트의 이름은 open과 sense에서 유래하며 “Open(source) makes sense”를 의미합니다. -Deciso
그림5. Iptables 목록출력 iptables는 ipchains, nftables iptables 후속제품입니다. Nftables는 훨씬 더 유연하고 확장 가능하며 성능이 뛰어난 패킷 분류를 허용합니다. iptables 지원 시스템이 패킷을 받으면 규칙 목록에서 일치하는 항목을 검색합니다. 찾을 수 없는 경우에는 기본 동작으로 돌아갑니다. 이 글에서는 다음과 같은 주제를 다룹니다. iptables란 무엇인가요? iptables 설치 iptables 기능 Iptables란 무엇입니까? iptables는 관리자가 다양한 Netfilter 모듈로 구현된 Linux 커널 방화벽의 IP 패킷 필터 규칙을 구성할 수 있는 사용자 공간 유틸리티 도구입니다. Netfilter는 Linux 방화벽 프레임워크이고 iptables는 Netfilter를 관리하고 제어하는 유틸리티입니다. iptables는 출입하는 네트워크 패킷을 필터링하고 라우팅하는 데 사용할 수 있습니다. 필터는 네트워크 트래픽 패킷 처리 방법에 관한 규칙 체인을 포함한 여러 테이블에 정리되어 있습니다. 현재 다양한 프로토콜에 대해 다양한 커널 모듈과 프로그램이 사용되고 있습니다. IPv4용 iptables IPv6용 ip6 tables ARP용 arptables 이더넷 프레임용 eptables.Iptables를 설치하는 방법 iptables는 거의 모든 Linux 배포판에 사전 설치되어 있습니다. 업데이트/설치하려면 iptables 패키지를 가져오기만 하면 됩니다. iptables를 설치하기 전에 방화벽에서 UFW와 같은 다른 방화벽 관리 유틸리티도 제거해야 합니다. Debian 베이스 또는 서버에서 Ubuntu 다음 명령을 실행하여 iptables를 설치할 수 있습니다. sudo apt-get update sudo apt-get install iptables 그림 5. Iptables 목록 출력 iptables는 ipchains, nftables iptables 의 후속 제품입니다. Nftables는 훨씬 더 유연하고 확장 가능하며 성능이 뛰어난 패킷 분류를 허용합니다. iptables 지원 시스템이 패킷을 받으면 규칙 목록에서 일치하는 항목을 검색합니다. 찾을 수 없는 경우에는 기본 동작으로 돌아갑니다. 이 글에서는 다음과 같은 주제를 다룹니다. iptables란 무엇인가요? iptables 설치 iptables 기능 Iptables란 무엇입니까? iptables는 관리자가 다양한 Netfilter 모듈로 구현된 Linux 커널 방화벽의 IP 패킷 필터 규칙을 구성할 수 있는 사용자 공간 유틸리티 도구입니다. Netfilter는 Linux 방화벽 프레임워크이고 iptables는 Netfilter를 관리하고 제어하는 유틸리티입니다. iptables는 출입하는 네트워크 패킷을 필터링하고 라우팅하는 데 사용할 수 있습니다. 필터는 네트워크 트래픽 패킷 처리 방법에 관한 규칙 체인을 포함한 여러 테이블에 정리되어 있습니다. 현재 다양한 프로토콜에 대해 다양한 커널 모듈과 프로그램이 사용되고 있습니다. IPv4용 iptables IPv6용 ip6 tables ARP용 arptables 이더넷 프레임용 eptables.Iptables를 설치하는 방법 iptables는 거의 모든 Linux 배포판에 사전 설치되어 있습니다. 업데이트/설치하려면 iptables 패키지를 가져오기만 하면 됩니다. iptables를 설치하기 전에 방화벽에서 UFW와 같은 다른 방화벽 관리 유틸리티도 제거해야 합니다. Debian 베이스 또는 서버에서 Ubuntu 다음 명령을 실행하여 iptables를 설치할 수 있습니다. sudo apt-get update sudo apt-get install iptables
iptables의 기본 구성 파일은 에서 찾을 수 있습니다. /etc/sysconfig/iptables. 원하는 텍스트 편집기로 수정할 수 있습니다. Red Hat Enterprise Linux(RHEL) 7/8 및 CentOS 7/8에서 다음 명령을 실행하여 iptables를 설치할 수 있습니다. 사용하지 않는 Firewalld 서비스를 중지하고 마스크를 쓰려면 다음 명령을 수행하십시오. systemctl stop firewalld systemctl mask –now firewalld iptables 기본 구성 파일은 에서 찾을 수 있습니다. /etc/sysconfig/iptables. 원하는 텍스트 편집기로 수정할 수 있습니다. Red Hat Enterprise Linux(RHEL) 7/8 및 CentOS 7/8에서 다음 명령을 실행하여 iptables를 설치할 수 있습니다. 사용하지 않는 Firewalld 서비스를 중지하고 마스크를 쓰려면 다음 명령을 수행하십시오. systemctl stop firewalld systemctl mask –now firewalld
다음 명령을 실행하여 iptables-service 패키지를 설치합니다 (아직 설치되지 않은 경우): yum install iptables-service-y 다음 명령을 실행하여 iptables-service 패키지를 설치합니다 (아직 설치되지 않은 경우): yum install iptables-service-y
다음 명령을 실행하여 시작 시 서비스가 시작되도록 설정합니다. systemctlenable iptables systemctlenable ip6tables 다음 명령을 실행하여 부팅 시 서비스가 시작되도록 설정합니다. systemctl enable iptables systemctl enable ip6tables
iptables의 특징 iptables는 다음과 같은 3가지 주요 구성요소로 구성됩니다. 체인: iptables에는 5개의 체인이 있으며 각각 특정 작업을 담당합니다. Input: 착신 패킷/연결을 관리하는 데 사용됩니다. Output : 생성/처리된 후 나오는 패킷입니다. Forward: 소스에서 목적지로 들어오는 패킷을 전달합니다(라우팅). Prerouting: 패킷이 네트워크 인터페이스에 들어간 후. Postrouting: 라우팅 결정이 내려진 후 패킷이 네트워크 인터페이스를 떠나기 전. 테이블: 테이블은 특정 기능을 제공하는 체인 컬렉션입니다. iptables에는 다섯 가지 유형의 테이블이 있습니다. Filter 컴퓨터에 출입하는 패킷을 필터링하고 제한하는 역할을 합니다. Nat 네트워크 주소 변환을 담당합니다. Mangle 테이블은 패킷 헤더 수정에 사용됩니다. Raw 이름에서도 알 수 있듯이 원시 패킷을 처리합니다. 주로 연결 상태를 추적하기 위한 것입니다. Security 필터 테이블 뒤에 컴퓨터를 보호하는 역할을 합니다. 다음으로 구성됩니다 SELinux. 수신인: 수신인은 패킷이 어디로 가는지 지정합니다. 이것은 iptables 자체 대상인 ACCEPT, DROP, REJECT 또는 현재 39개이며, 가장 인기 있는 대상은 DNAT, LOG, MASQUERADE, REJECT, SNAT, TRACE 및 TTL입니다. ACCEPT: 처리를 중지하고 패킷의 흐름을 허용합니다. REJECT : 피드백을 제공하여 패킷을 삭제합니다. DROP: 현재 체인에서 처리를 중지하고 패킷을 삭제합니다. LOG:ACCEPT와 유사하지만 /var/log/messages에 기록됩니다. iptables를 사용하면 시스템 관리자가 패킷 처리를 위한 규칙 체인을 포함하는 테이블을 정의할 수 있습니다. 패킷은 체인의 규칙을 순차적으로 순회하여 처리됩니다. 컴퓨터에 도착하거나 컴퓨터에서 나오는 모든 네트워크 패킷은 적어도 하나의 체인을 순회합니다. 착신 패킷은 각 체인에서 분석되고 일련의 규칙에 대해 테스트됩니다. 규칙이 일치하면 타겟이 설정됩니다. iptables 방화벽의 기능과 속성은 다음과 같습니다. 콘텐츠 목록을 허용하는 패킷 거름망 규칙 세트가 있습니다. 패킷 헤더 스캔 방법을 채택하여 방화벽을 매우 빠르게 만듭니다. 편집 가능한 패킷 거름망 규칙 세트를 사용하면 관리자가 방화벽 구성 규칙을 추가, 수정 또는 삭제할 수 있습니다. 패킷 필터 규칙 세트의 규칙별 카운터를 일람 표시/제로 방화벽 기능과 함께 데이터 파일 백업 및 복원에 사용할 수 있습니다. iptables의 특징 iptables는 다음과 같은 3가지 주요 구성요소로 구성됩니다. 체인: iptables에는 5개의 체인이 있으며 각각 특정 작업을 담당합니다. Input: 착신 패킷/연결을 관리하는 데 사용됩니다. Output : 생성/처리된 후 나오는 패킷입니다. Forward: 소스에서 목적지로 들어오는 패킷을 전달합니다(라우팅). Prerouting: 패킷이 네트워크 인터페이스에 들어간 후. Postrouting: 라우팅 결정이 내려진 후 패킷이 네트워크 인터페이스를 떠나기 전. 테이블: 테이블은 특정 기능을 제공하는 체인 컬렉션입니다. iptables에는 다섯 가지 유형의 테이블이 있습니다. Filter 컴퓨터에 출입하는 패킷을 필터링하고 제한하는 역할을 합니다. Nat 네트워크 주소 변환을 담당합니다. Mangle 테이블은 패킷 헤더 수정에 사용됩니다. Raw 이름에서도 알 수 있듯이 원시 패킷을 처리합니다. 주로 연결 상태를 추적하기 위한 것입니다. Security 필터 테이블 뒤에 컴퓨터를 보호하는 역할을 합니다. 다음으로 구성됩니다 SELinux. 수신인: 수신인은 패킷이 어디로 가는지 지정합니다. 이것은 iptables 자체 대상인 ACCEPT, DROP, REJECT 또는 현재 39개이며, 가장 인기 있는 대상은 DNAT, LOG, MASQUERADE, REJECT, SNAT, TRACE 및 TTL입니다. ACCEPT: 처리를 중지하고 패킷의 흐름을 허용합니다. REJECT : 피드백을 제공하여 패킷을 삭제합니다. DROP: 현재 체인에서 처리를 중지하고 패킷을 삭제합니다. LOG:ACCEPT와 유사하지만 /var/log/messages에 기록됩니다. iptables를 사용하면 시스템 관리자가 패킷 처리를 위한 규칙 체인을 포함하는 테이블을 정의할 수 있습니다. 패킷은 체인의 규칙을 순차적으로 순회하여 처리됩니다. 컴퓨터에 도착하거나 컴퓨터에서 나오는 모든 네트워크 패킷은 적어도 하나의 체인을 순회합니다. 착신 패킷은 각 체인에서 분석되고 일련의 규칙에 대해 테스트됩니다. 규칙이 일치하면 타겟이 설정됩니다. iptables 방화벽의 기능과 속성은 다음과 같습니다. 콘텐츠 목록을 허용하는 패킷 거름망 규칙 세트가 있습니다. 패킷 헤더 스캔 방법을 채택하여 방화벽을 매우 빠르게 만듭니다. 편집 가능한 패킷 거름망 규칙 세트를 사용하면 관리자가 방화벽 구성 규칙을 추가, 수정 또는 삭제할 수 있습니다. 패킷 필터 규칙 세트의 규칙별 카운터를 일람 표시/제로 방화벽 기능과 함께 데이터 파일 백업 및 복원에 사용할 수 있습니다.