사용자 그룹의 네트워크 액세스를 비활성화하고 smtp만 허용

사용자 그룹의 네트워크 액세스를 비활성화하고 smtp만 허용

우리는 사용자가 시스템에 SSH로 접속하고 쉘이 $HOME/Maildir에서 Mutt를 실행하도록 설정된 환경을 가지고 있습니다. 우리는 사용자가 메일을 보내고 받을 수만 있도록 제한하고 싶습니다. 쉘 프롬프트가 없기 때문에 임의의 명령을 내릴 수 없다는 것을 알고 있지만 일부 사용자는 신뢰할 수 없으며 Mutt에서 벗어나 코드 실행을 통해 쉘 액세스를 얻을 수 있는 방법을 찾을 수 있습니다. 우리는 기본적으로 최악의 시나리오를 생각하고 있습니다. 우리는 SELinux 및 guest_u 계정을 알고 있지만 더 나은 솔루션을 발견했습니다. 사용자는 모두 "사용자"라는 하나의 그룹에 속하므로 다음 iptables 규칙을 사용하여 아웃바운드 패킷을 비활성화할 수 있습니다. ping, dig, wget 등은 작동하지 않지만 아웃바운드 메일링은 작동합니다. 이것이 바로 우리가 원하는 것이지만 사용자가 dig, 호스트, 핑 등과 같은 다른 도구를 사용할 수 없는 경우 Mutt를 통해 모든 아웃바운드 액세스가 허용되는 이유는 무엇입니까?

우리가 추가한 규칙은 다음과 같습니다.

$IPT -A OUTPUT -p all -m owner --gid-owner users -j DROP

답변1

사용자가 Mutt를 사용하여 로컬 Maildir 폴더에 액세스하고 메일 서버를 사용하여 메일을 보내는 한 외부 세계와 통신하지 않습니다.

그러나 Mutt는 쉘 명령 실행을 허용합니다. 사용자가 수행할 수 있는 작업을 추가로 제한하기 위해 기본 셸을 rbash로 변경하거나 chrooted 환경을 사용할 수 있습니다. 기본 쉘 변경은 다음과 같이 수행됩니다.

shell /local/bin/rbash

안에 /etc/Muttrc.

관련 정보