많은 사용자(클라이언트)가 있는 LAN이 있습니다. 각각에는 개인 삼바 공유 폴더가 있습니다.
(동일한 네트워크 내에서) 누군가가 다른 계정을 무차별 대입하여 해킹하는 것을 방지하는 방법(다른 사람의 데이터에 액세스할 수 있도록)은 무엇입니까?
Google 검색에는 "Samba 공유가 공용 인터넷에 표시되어서는 안 됩니다."라는 메시지만 표시됩니다. 하지만 저는 로컬 네트워크에 있습니다.
많은 관리자들이 이런 "문제"를 안고 있다고 생각합니다(회사나 대학 관리자 등).
그렇다면 분당 3번의 로그인 시도만 허용하거나 3번의 시도 후에 클라이언트의 IP를 블랙리스트에 추가할 수 있는 방법이 있습니까? 아니면 이 문제에 대한 다른 해결책이 있습니까? Fail2ban을 시도했지만 로그 파일에 호스트 IP 주소가 없습니다.
추가 정보:
- 대부분의 클라이언트는 Windows 7 이상입니다.
- Ubuntu 16.04의 Samba 현재 버전
답변1
먼저 당신이 할 수 없다는 것을 인정해야 해요100% 안전함.
LAN에서 Samba를 보호하기 위한 유일한 옵션은 누군가가 잘못된 비밀번호를 여러 번 시도하는 것을 방지하기 위해 iptables에 몇 가지 규칙을 설정하는 것입니다. - 히트 횟수는 원하는 대로 선택하세요. 2~3개를 권장합니다.
여기서는 iptables에 설정된 몇 가지 간단한 규칙을 볼 수 있습니다. 아래 명령에서는 IP 주소를 사용하지 않지만 IP 주소와 CIDR 번호를 설정하는 것이 더 안전합니다.
$ iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW -m recent --set --name netbios-ns
$ iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-ns -j DROP
$ iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW -m recent --set --name netbios-dgm
$ iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-dgm -j DROP
$ iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW -m recent --set --name netbios-ssn
$ iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name netbios-ssn -j DROP
$ iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -m recent --set --name microsoft-ds
$ iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW -m recent --update --seconds 20 --hitcount 2 --rttl --name microsoft-ds -j DROP