여러 VLAN이라는 복잡한 실시간 시스템이 있습니다. 각 서버에는 Linux 서버가 있으며 각 서버에는 서비스가 있습니다. 서비스는 함께 연결됩니다. 예를 들어 호스트 A의 http 서비스는 호스트 B 포트 3306/tcp의 mysql 서비스에 연결됩니다.
이러한 유형의 구성을 데이터베이스에 자동으로 매핑하고 각 서버에 대한 방화벽 규칙을 생성하여 호스트 간에 필요한 연결만 허용하고 싶습니다.
제 생각에는:
- 각 서버에서 netstat를 사용하여 연결 목록(또는 iptables의 로그 연결?)을 가져와 데이터베이스에 저장합니다.
- graphvis 등을 사용하여 시각화하고,
- 데이터베이스의 규칙을 기반으로 방화벽 규칙 만들기
- 이전 규칙을 준수하지 않는 연결을 기록하고 경고하는 iptables 규칙을 만듭니다.
더 잘/더 빠르게/더 자동화할 수 있는 것이 있나요? 아마도 바퀴를 재발명할 필요가 없을까요?
업데이트: "어려운" 부분은 방화벽 규칙을 생성하는 것이 아니라 이를 자동화하고 필요한 연결 목록을 관리하는 것입니다.
답변1
답변2
얼마전에 사용했어요여자규칙 세트를 생성하고 "include" 지시문을 통해 올바른 순서로 삽입하는 사용자 정의 단순 bash 스크립트페임.
연결 등을 기록하려면 다음을 사용할 수 있습니다.ulog-mysql, 특정 iptables 규칙과 일치하는 특정 데이터를 mysql에 저장하고 그 시점부터 원하는 것을 그립니다.
또 다른 가능성은 다음을 사용하는 것입니다.Ansible에서 iptables의 역할, 어쩌면 장면에 더 잘 어울리는 캐릭터를 찾을 수도 있습니다.
답변3
fwbuilder 사용을 고려하십시오(http://www.fwbuilder.org/). 일종의 방화벽을 관리하기 위한 오픈 소스 도구입니다.