Security/리눅스

정보보안 스터디 - 9주차 1일 - 방화벽 Firewalld 구성

wonder12 2022. 12. 9. 02:48

☞ 방화벽 Firewalld 구성

centos 7이상의 최신버전에서 사용하는 방화벽 firewalld을 설명드리겠습니다.

 

iptables가 chain과 rule로 이뤄져있다면 firewalld는 zone과 service로 이뤄집니다.

zone 영역에 따라 사용용도가 구분되며 절대적인 정의는 아니기 때문에 사용자가 임의로 지정, 추가 가능합니다.

zone이 매칭되면 해당 zone을 허용/차단 하고 매칭되지 않으면 기본zone=public이 매칭되어 적용됩니다.

영역과 서비스는 xml :  열고닫는 특징이 있는 마크업 언어 파일입니다.

 

firewalld는 특이하게 nftables 패키지를 사용합니다.

 

방화벽은 기본적으로 enable 설정이되어있고 켜져있습니다.

systemctl status firewalld

 

서비스(포트)들에 대해서 차단/허용해보겠습니다. 

firewall-cmd --list-all
아무것도 안적으면 기본값은 --zone=public으로 보여줍니다.
기본 ens33 인터페이스 public > home 변경
firewall-cmd --zone-home --change-interface=ens33
firewall-cmd --get-zone-of-interface=ens33
삭제
firewall-cmd --zone-home --remove-interface=ens33
추가
firewall-cmd --zone-home --add-interface=ens33
인터페이스 확인
firewall-cmd --list-interface

 

firewall-cmd --get-zones 또는
firewall-cmd --list-zone
영역 확인
firewall-cmd --list-services
서비스 확인
firewall-cmd --zone=home --list-all
모두 확인
정의된 말고 사용자 영역 지정
firewall-cmd --add-zone=home2

 

 

서비스/포트 추가

firewall-cmd --zone=public --permanent --add-service={ftp,http,https,smtp,pop3,dns}
서비스로 정의되지 않은 것들은 xml파일을 추가 하거나
사용하겠다고 명령어로 설정해줍니다.
firewall-cmd --zone=public --permanent --add-port={777/tcp, 888/tcp}
firewall-cmd --zone=public --permanent --add-port=999-1111/tcp
삭제
firewall-cmd --zone=public --permanent --remove-service={ftp,http,https,smtp,pop3,dns}
firewall-cmd --zone=public --permanent --remove-port={777/tcp, 888/tcp}

 

 

systemctl restart firewalld로 서비스 데몬 전체를 다시시작해도 되지만

firewall-cmd --reload 로 변경된 설정만 적용시킬 수 있습니다.

 

설정 후 nmap 으로 tcp/Udp 모두 열려있는지 확인하고, 웹은 직접 들어가보기까지 합니다.

 

 

 DHCP 서버 구축

dhcp 서버는 

클라이언트 Udp 68 번

서버 udp 67번입니다.

클라이언트를 포함해 dhcp 관련 패키지를 모두 설치합니다. 

yum -y install dhcp*

 

dhcp.conf 는 dhcp.conf.old로 변경하고

dhcp.example을 conf 로 변경해서 설정합니다.

ip범위, 서브넷마스크, 게이트웨이, dns네임서버 1 2 를 지정합니다.

 

systemctl restart dhcpd 

 

클라이언트에서

nmcli connection modify 로 수동설정이 가능 하지만

ens33 네트워크 설정을 직접 수정하는 것이 좋습니다.

vi /etc/sysconfig/network-scripts/ifcfg-ens33 에서

BOOTPROTO는 dhcp로 설정해준 뒤 고정ip는 주석처리해줍니다.

 

 

적용확인

ip address/ifconfig ens33
ip확인
route -n
라우팅테이블 > 게이트웨이 확인
cat /etc/resolv.conf
dns네임서버 확인

 

 

 

특정 사용자 고정 IP 할당

특정 Mac address는 ip를 고정으로 픽스해서 할당해줄 수 있습니다.

ifconfig ens33해서 mac주소를 확인합니다.

vi dhcpd.conf 설정파일에 

host client1 {
   hardware ethernet 00:0c:29:e9:bc:70;
   fixed-address 192.168.2.201;
}
host client2 {
   hardware ethernet 00:0c:29:dd:a3:cf;
   fixed-address 192.168.2.202;
}

넣어주면 끝입니다.

 

 

 

 

 

 

다음시간에는

전체적인 서버/클라이언트 기본설정(ip, .bashrc, ssh원격접속)부터

리눅스 서버 구축까지 자세하게 설명드리겠습니다.