user : password @ host를 사용하지 않고 xmlrpc 서버 (P2P 네트워크의 노드에서 실행 됨)에 인증을 추가하려고합니다. 모든 공격자에게. 인증은 기본적으로 개인 네트워크를 생성하여 권한이없는 사용자가 액세스하지 못하게합니다.(파이썬) 트위스트 xmlrpc 서버에 인증을 추가하는 방법
내 솔루션은 this과 매우 비슷한 도전 응답 시스템을 만드는 것이지만 xmlrpc 서버 코드에이를 추가하는 방법을 알지 못합니다. 유사한 질문 (사용자 지정 인증이 필요한 곳) here가 있습니다.
그래서 클라이언트가 서버에 연결될 때마다 호출되는 모듈을 만들려고했습니다. 이것은 클라이언트에서 실행중인 시도 응답 서버에 연결되며 클라이언트가 올바르게 응답하면 True를 반환합니다. 유일한 문제는 모듈을 한 번 호출하면 원자로를 다시 시작할 수 없다는 것입니다. 그래서 "check()"함수가 호출되어 연결할 때마다 클래스를 가질 수있는 방법이 있습니까?
SSL을 사용하여 연결하는 것이 가장 간단한 방법일까요? 그건 비밀 번호를 보호할까요? 모든 노드에 대해 SSL 인증서를 생성하지 않아도되기 때문에이 솔루션이 최적은 아니지만.
유일한 문제는 서버가 신뢰할 수 있다고 가정합니다. P2P 노드가 실수로 공격자의 IP를 받았다면 user : pass @ host를 사용하여 로그인 세부 정보를 제공합니다.내 인증은 상호이므로 서버가 암호를 알고 있음을 보장합니다. – bradleyjkemp
다이제스트 인증은 일반 텍스트 암호를 서버에 표시하지 않습니다. 그러나 SSL을 사용하는 것이 더 나을 것 같습니다. 모든 노드에 대해 SSL 인증서를 생성하는 것은 그렇게 어렵지 않으며 훨씬 강력한 보증을 제공합니다. –
내가하고 싶은 것은 연결하려는 노드가 네트워크의 일부가 될 수 있는지 확인하는 것입니다. SSL에서 이렇게하려면 모든 인증서에 서명하고 그 인증서 만 신뢰하는 인증 기관이 필요합니다. 병렬 Python은 내가 만들려고하는 것과 유사한 시스템을 가지고 있지만 어떻게 구현되는지는 확신 할 수 없습니다. – bradleyjkemp