리눅스 시스템 보안 강화 -ZooKeeper 인증되지 않은 액세스 취약점 처리

면책 조항 :이 문서는 블로거 원본입니다은 허용 블로거없이 복제 할 수 없다. https://blog.csdn.net/baidu_39459954/article/details/90748332


사육사는 분산 애플리케이션을위한 분산, 오픈 소스 조정 서비스, 구글의 풍만의 오픈 소스 구현, 하둡과 HBase를의 핵심 구성 요소입니다. 또한, 분산 애플리케이션을위한 일관성있는 서비스를 제공하는 기능은 다음과 제공 : 구성 관리, 도메인 이름 서비스, 분산 동기화, 그룹 서비스를.
사육사의 목표는 더 복잡한 오류가 발생하기 쉬운 중요한 서비스, 사용자에게 시스템의 인터페이스와 효율적인 성능, 기능과 안정성을 사용하기 쉬운을 캡슐화하는 것입니다.
정상적인 상황에서는 사육사 무단 액세스 할 수 있습니다.

사육사는 (수정 가능) 세 개의 포트를 기본 포트 작용을 :

1,2181는 : 클라인 끝은 서비스를 제공하는
선거 리더 사용 : 2,3888가
3,2888 : 클러스터 컴퓨터 통신 사용 (리더가이 포트에 수신)

해결 방법 A (권장) :

1, 착륙 사육사

./zkCli.sh -server <IP>:<port>

2, 현재 권한을 보려면 :

getAcl /

3, 추가 접근 IP

setAcl / ip:192.168.1.xx:cdrwa,ip:192.168.1.xx:cdrwa

통상 첨가하는 경우도 4는, 볼

getAcl /

무단으로도 연결될 수 있지만 "에 대한 / KeeperErrorCode = NOAUTH", 로컬 호스트 액세스에 접근 가능한 IP를 입력해야 작동하지 않습니다 노드를 볼 때 불평 할 것이다.

[zk: localhost:2181(CONNECTED) 0] ls /
KeeperErrorCode = NoAuth for /
[zk: localhost:2181(CONNECTED) 1] 

롤백 방법 :
방문 전에 IP 세트를 사용하여 :

./zkCli.sh -server <IP>:<port>

모든 사람에게 접근 :

setAcl / world:anyone:cdrwa

복구 옵션이 :

포트 2181 만 지정된 IP 액세스를 허용 방화벽 정책을 구성합니다.
리눅스 6 :

iptables -I INPUT -p tcp --dport 2181 -j DROP
iptables -I INPUT -s 172.16.65.xx -p tcp --dport 2181 -j ACCEPT
iptables -I INPUT -s 172.16.65.xx -p tcp --dport 2181 -j ACCEPT
iptables -I INPUT -s 172.16.65.xx -p tcp --dport 2181 -j ACCEPT
service iptables save
service iptables restart
iptables -L

리눅스 7 :

firewall-cmd --zone=public --remove-port=2181/tcp --permanent 
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.0.2.181" port protocol="tcp" port="2181" accept"
firewall-cmd --reload
firewall-cmd --list-all

수리 옵션 세 (프로그램을 변경해야합니다) :

사육사에 대한 액세스 권한을 구성합니다.
모드 1 :
1)로 사용자 인증을 증가
자명 다이제스트 addauth : 암호 평문

addauth digest user1:password1 

2) 권한 설정
SETACL / 경로 인증 : 사용자 이름 : 일반 텍스트 암호 : 권한이
SETACL / 경로 요약 : 아이디 : 비밀번호 암호문 : 권한

setAcl /test auth:user1:password1:cdrwa 

3)보기 설정 ACL이

getAcl /path 

추천

출처blog.csdn.net/baidu_39459954/article/details/90748332