호스트를 사용하여 리눅스 박스를 보호하는 것의 차이점은 무엇입니까? [allow | deny] vs iptables? hosts.allow / hosts.deny 또는

제목에서 알 수 있듯이 리눅스 상자가 있습니다. 내가 알 수있는 한 hosts.allow / hosts.deny 또는 iptables를 사용하여 보안을 유지할 수 있습니다. 차이점이 뭐야? 사용할 수있는 다른 메커니즘이 있습니까?



답변

IPTables는 커널 수준에서 작동합니다. 일반적으로 이것은 응용 프로그램이나 프로세스에 대한 지식이 없음을 의미합니다. 대부분의 경우 다양한 패킷 헤더에서 얻는 것을 기반으로 만 필터링 할 수 있습니다.

그러나 host.allow / deny는 응용 프로그램 / 프로세스 수준에서 작동합니다. 시스템에서 실행중인 다양한 프로세스 또는 데몬에 대한 규칙을 만들 수 있습니다.

예를 들어 IPTables는 포트 22에서 필터링 할 수 있습니다. SSH는이 포트를 사용하도록 구성 할 수 있지만 일반적으로 사용되지만 다른 포트에 있도록 구성 할 수도 있습니다. IPTables는 어떤 포트에 있는지 알지 못하고 TCP 헤더의 포트에 대해서만 알고 있습니다. 그러나 openssh 데몬과 같은 특정 데몬에 대해 hosts.allow 파일을 구성 할 수 있습니다.

선택 해야하는 경우 일반적으로 최소 IPTable을 선택합니다. 나는 hosts.allow를 좋은 보너스로 본다. 데몬 수준이 더 쉬워 보인다고 생각했지만 IPTables는 패킷이 실제로 너무 멀어지기 전에 패킷을 차단합니다. 보안이 빠를수록 더 나은 것을 차단할 수 있습니다. 그러나 나는이 선택을 바꾸는 상황이 있다고 확신합니다.


답변

iptables는 응용 프로그램에 도달하기 전에 액세스를 차단하는 반면 hosts.allow / hosts.deny는 PAM의 일부이며 응용 프로그램에서 PAM 검사를 구현하고 파일을 올바르게 처리해야합니다. 둘 다 유용하며 둘 다 제자리에 배치하는 것이 더 좋습니다.


답변