프로세스별 방화벽?

프로세스별 방화벽?

읽었지만 프로세스별 방화벽 규칙을 만드는 방법을 찾을 수 없는 것 같습니다. 알아요. iptables --uid-owner하지만 이는 나가는 트래픽에만 적용됩니다. 스크립트 작성을 고려했지만 netstat프로세스 iptables가 짧은 시간 동안만 활성화되면 스크립트가 이를 놓칠 수 있기 때문에 이는 매우 비효율적인 것 같습니다. 기본적으로 다른 프로세스는 영향을 받지 않고 그대로 두고 프로세스의 포트와 대상에 특정 제한을 적용하고 싶습니다. 어떤 아이디어가 있나요?


참고로 selinux는 이것을 할 수 있고 꽤 잘 작동합니다. 하지만 설정하는 것이 약간 고통스럽습니다.

답변1

귀하의 질문은 다음과 매우 유사합니다https://stackoverflow.com/questions/5451206/linux-per-program-firewall-similar-to-windows-and-mac-counterparts

iptables에 대한 소유자 모듈이 있었는데 --cmd-owner제대로 작동하지 않아 제거되었습니다. 이제 첫 번째 베타 버전에서표범 꽃사용할 수 있으면 사용자 공간 데몬을 통해 문제를 해결합니다.

일반적으로 프로세스별 방화벽은 프로그램을 실제로 격리하고 제한하지 않는 한 별로 유용하지 않습니다. 이를 위해서는 TOMOYO Linux, SELinux, AppArmor, grsecurity, SMACK 등과 같은 보안 솔루션을 고려해야 합니다.

답변2

간단합니다. 다른 사용자로 프로세스를 실행하고 "--uid-owner"를 사용하세요. :)

답변3

특정 cgroup2 계층 구조와 관련된 소켓 필터링을 허용할 수 있는 man 8 iptables-extensions 및 "cgroup" 옵션을 확인하십시오. 고유한 cgroup을 사용하여 특정 프로세스를 실행할 수 있는 경우 이는 OUTPUT 및 INPUT 체인 모두에서 작동할 수 있습니다. 그러나 매뉴얼 페이지에서는 INPUT 체인과 함께 사용하는 것에 대한 경고를 제공하므로 프로세스/프로그램에 대해 테스트해야 합니다. 그리고 YMMV.

답변4

(완전히) 기반은 아니지만 iptables다음을 사용할 수 있습니다.이것. 다른 옵션도 있지만 앱별로 작동합니다.

확인하다위키피디아설치 및 기타 문제 해결을 위해.

관련 정보