-
Notifications
You must be signed in to change notification settings - Fork 3
Description
전체 Source 혹은 전체 Destination에 대한 포트 Inbound/Outbound 설정을 할 경우
IPv4 (0.0.0.0/0)와 IPv6 (::0) 간의 차이가 존재하여 이슈를 남깁니다.
Linux
-
IPv4, IPv6 테이블을 따로 관리
- IPv4: iptables
- IPv6: ip6tables
-
iptables로 추가한 Rule은 ip6tables에서 보이지 않음.
-
iptables의 경우 전체 Source 혹은 전체 Destination
- 설정 가능 주소 ==> 0.0.0.0/0, ::0
- 표시 주소 ==> 0.0.0.0/0
-
ip6tables의 경우 전체 Source 혹은 전체 Destination
- 설정 가능 주소 ==> 0.0.0.0/0, ::/0
- 표시 주소 ==> ::/0
-
실행 가능 명령어들
sudo ip6tables -A INPUT -p tcp --dport 4343 -s ::/0
sudo ip6tables -A INPUT -p tcp --dport 4343 -s 0.0.0.0/0
sudo iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 4343 -j ACCEPT
sudo iptables -A INPUT -s ::/0 -p tcp --dport 4343 -j ACCEPT
iptables, ufw, firewalld 를 기준으로 테스트 중이며,
ufw 의 경우에는 전체 Source 혹은 전체 Destination에 대한 포트 Inbound/Outbound 설정을 할 경우
IPV4 테이블, IPv6 테이블 양측에 해당 포트에 대한 설정을 추가 합니다.
firewalld는 최신 배포판들의 경우 nftables를 사용하여 iptables에서는 Rule이 표시되지 않는 것이 확인되어
해당 부분은 작업하여 표시될 수 있도록 추가하였습니다.
Windows
윈도우에서의 방화벽은 기본 방화벽 및 프로그램 별로 종류가 다양하기 때문에 윈도우 방화벽만 확인하여 수집하고 있습니다.
윈도우 방화벽의 경우 (wf.msc)
- IPv4, IPv6 구분 없이 통합으로 정책을 사용
- Source 혹은 Destination이 전체가 아닌 특정 주소가 명시되어 있는 경우 해당 주소가 IPv4 주소인지, IPv6 주소인지만 구분
CSP 현황
우선 Azure 만 먼저 테스트 해보았습니다
Azure 기준으로 cb-spider 에서 Security Group 생성시 0.0.0.0/0 , ::0 주소가 모두 등록 가능합니다
Azure Portal 에서 확인하였을때도 둘의 주소가 나눠서 관리가 가능합니다.
0.0.0.0/0 으로 부터 들어오는 8080-8090 TCP 허용
::/0 으로 부터 들어오는 8080-8090 TCP 허용
결론
cm-honeybee 에서는 우선 방화벽 Raw 데이터는 전체 주소에 대해서
IPv4 의 경우 0.0.0.0/0, IPv6의 ::0 로 표기하여 전체 방화벽 내용을 제공하고
정제된 데이터에서는 IPv4 데이터만 제공하는 것으로 하려고 합니다.
추후 IPv6에 대한 지원이 안정적으로 될 경우 정제된 데이터에도 IPv6 내용을 같이 제공하는 방향으로 하면 좋을 것 같습니다.