비밀번호 대신 임의의 URL을 사용해도 되나요? [닫은]


12

이와 같은 임의의 문자로 구성된 URL을 사용하는 것이 "안전한"것으로 간주됩니까?

http://example.com/EU3uc654/Photos

소규모 사용자 그룹 만 액세스 할 수있는 웹 서버에 일부 파일 / 사진 갤러리를 배치하고 싶습니다. 내 주요 관심사는 내 사이트를 둘러 보는 검색 엔진이나 호기심 많은 고급 사용자가 파일을 가져 오지 않아야한다는 것입니다.

http://user:pass@url/링크 를 클릭하면 일부 브라우저 / 이메일 클라이언트에서 제대로 작동하지 않아 컴퓨터를 많이 사용하지 않는 사용자를 혼동하는 대화 상자 및 경고 메시지가 표시되는 것을 확인하기 위해 .htaccess 파일을 설정했습니다 .


아니요.이 방법을 사용할 수 있지만 유일한 또는 기본 인증 메커니즘으로 사용할 수는 없습니다.
Andrew Smith

1
나는 이것을 실험으로 여러 번 시도했으며, 검색 엔진에서 링크가 끊어 질 때마다. 나는 방법을 모른다. 그러나 나는 그것이 일어나는 것을 안다.
David Schwartz

경고를 중지하도록 SSL을 구성 할 수 있습니다. startssl.com 에서 무료 인증서를 얻을 수 있으며 SSL이 더 이상 계산 집약적이지 않습니다 (올바르게 구성된 경우).
Hubert Kario

이 질문은 고전적인 "비 구조적"예입니다. 우리는 당신이 당신의 사진의 보안을 얼마나 소중하게 생각하는지 모릅니다. 보안의 중요성을 전달할 수있는 유일한 방법은 해당 그림에 대한 액세스를 보호하기 위해 구현하는 인증 방법입니다. 당신이 가진 것은 "답변"의 형태로 "논쟁 논쟁"입니다. 그러나 그들 중 누구도 현대 보안 및 기술적 영향에 대한 전체 조사는 아닙니다. 플랫폼에서 제공하는 보안 방법을 읽고 상황에 맞는 보안 방법을 평가해야합니다. 한 번 더 질문이 있으면 다시 질문하십시오.
Chris S

답변:


17

"괜찮아"여부는 이미지의 감도에 따라 다릅니다.

SSL을 사용하지 않는 경우 URL, HTML 및 이미지 자체가 사용자 컴퓨터에 캐시됩니다. 이것은 누출 될 수 있지만 가능성은 거의 없습니다.

브라우저 툴바, 특히 Alexa 및 Netcraft와 같은 크롤러를 실행하는 회사가 만든 툴바는 방문한 URL을 상위 사이트에 다시보고하여 봇이 나중에 크롤링 할 수 있도록합니다.

HTTP 인증 또는 POST 변수와 같은 적절한 인증은 이러한 방식으로 캐시 가능하거나 상위 웹 사이트에 다시보고해서는 안됩니다.

또 다른 기술은 독특하고 수명이 짧은 URL을 사용하는 것입니다. 그렇게하면 누출이 있어도 별 문제가되지 않습니다. 물론 합법적 인 새 URL 사용자를 계속 업데이트해야합니다.


브라우저 툴바를 언급하면 ​​+1입니다.
Hubert Kario

23

아니요, 실제로는 보안 이 아닌 모호함통한 보안입니다. 어떤 형태의 실제 보호없이 인터넷에서 직접 액세스 할 수있는 모든 것을 찾아서 색인화하고 캐시합니다.


10
어쨌든 모든 암호가 보안을 통해 보안되지는 않습니까?
Winston Ewert

4
@WinstonEwert : 암호 자체는 설계 / 구현의 비밀과 관련된 모호함을 통한 보안과 관련이 없습니다. 예를 들어 Apache 기본 인증의 경우 모든 사람이 볼 수 있도록 디자인 / 구현이 완전히 열려 있습니다.
user9517

10
넌센스-모든 것이 모호함을 통한 보안입니다. 요점은 거기에 도달하기에는 추측하기 어려운 정보가 필요하다는 것입니다. "불안을 통한 보안"이라는 문구는 지나치게 과장되어 있습니다. 임의의 URL 조각은 URL에 "암호"를 넣는 것과 정확히 같습니다. 유일한 질문은-누가 그것을 볼 수 있는지, 그리고 내 의견에 넣을 때의 대답은 "중간 프록시이며, 스눕 할 수있는 사람은 http입니다"
Bron Gondwana

1
아파치 설정과 디렉토리에서 한 가지 실수 (또는 기본 구성으로 돌아 가기)는 손바닥이 아닌 모든 파일과 디렉토리의 색인을 보여줍니다.
Hubert Kario

4
모호함을 통한 보안은 "디자인 / 구현의 비밀"과 관련이 있다고 말합니다. 그러나 임의 URL은 디자인 / 구현의 비밀과 관련이 없습니다. 따라서 오류가 무엇이든 임의 URL은 모호성을 통해 보안으로 분류 될 수 없습니다.
Winston Ewert

6

그들은 길을 따라 모든 프록시에 기록됩니다. 누군가가 실제로 링크를 게시하지 않는 한 호기심 많은 고급 사용자 및 검색 엔진으로부터 안전합니다.

그리고 물론 발전기의 무작위성을 조심하십시오.

나는 당신이 여기에 초 높은 보안을 찾고 있지 않다고 생각합니다.


누군가가 URL을 게시하면 아무 것도 암호를 게시하지 못하게됩니다. 지식에 의한 요소 인증은 항상 이와 같이 "속여"될 수 있습니다.
Manuel Faux

@ManuelFaux : 의도적이라면 물론입니다. 그러나 우발적 일 수도 있습니다. 예를 들어, 방문한 URL을 확인하여 악의적 인 것으로보고되었는지 확인하는 도구를 사용할 수 있습니다. 도구는 암호를 비밀로 유지해야한다는 것을 알고 있습니다. URL의 매개 변수가 민감 할 수 있음을 알고 있습니다. 그러나 그들은 URL의 경로가 무엇인지 알지 못합니다. (예 : http referer )
David Schwartz

5

암호 URL은 일회용 다운로드에는 유용하지만 실제 보호 기능은 제공하지 않습니다. 당신은 너무가있는 경우 사이트 내의 링크 어디 그것이 폴더 위장에 이르는, 모든 로봇은 robots.txt에 파일을 존중 것을 인식해야 합니다 일부 검색 엔진에 의해 색인이 그 시작하면 더가는 다시 없다.

대신 간단한 .htaccess 기반 인증 시스템을 사용하거나 제안하는 것을 사용하는 것이 좋습니다.


5

이 예제와 같이 난독 처리 된 URL에 대해 더 무서운 관점을 추가하고 싶습니다. 실수로 URL을 공유하지 않더라도 다음을 통해 URL을 검색 엔진에 제출할 수 있습니다.

  • 방문자의 ISP. ISP가 HTTP 방문을 수집하고, 데이터를 수집하며, 때로는 제 3 자에게 직접 판매하는 경우도 있습니다.
  • 방문자의 클라우드 스토리지. 브라우저 설치간에 동기화 할 수 있도록 북마크와 기록을 저장하는 많은 서비스가 있습니다. 모질라처럼 데이터를 사전 암호화하지 않는 한 동일한 데이터 마이닝 관행을 암시 할 수 있습니다.

YMMV.


오 예-또는 관련 사이트를 찾거나 사용자가 페이지에 대한 메모를 공유 할 수있는 브라우저 플러그인으로
Bron Gondwana

2

과거에는 비슷한 방법을 사용하여 사용자가 문서 관리 시스템에서 공유 공간을 만들 수있었습니다. 공유 컨텐츠는 극비가 아니 었으므로 시스템이 매우 안전 할 필요는 없었습니다.

방금 각 사용자 URL에 만료 시간 소인과 이메일의 MD5를 포함 시켰습니다.

따라서 URL은 다음과 같습니다.

http://my-url.com/1343689677-cba1f2d695a5ca39ee6f343297a761a4/

위와 같이, 사용자가 7 월 30 일 이전에 이메일 user@gmail.com을 입력 한 경우 사용하는 것이 좋습니다.

정확히 군사 등급의 보안은 아니지만 일을했습니다.


0

이것은 URL에 sessionID를 저장하는 것과 동일한 취약점을 공유합니다. 누군가 실수로 다른 사람의 링크를 복사하여 붙여 넣기하거나, 스크린 샷에서 링크를 검열하거나, 비밀번호와 같이 별표로 표시되지 않아 다른 사람이 찾도록 할 수 있습니다.

또한 일부 컨텐츠가 비밀번호로 보호 된 경우, 로그인하여 비밀번호가 비밀임을 알고 있습니다. 링크가 있으면 쉽게 잊을 수 있습니다.

또 다른 것은 사용자 권한을 제거하는 것입니다. 더 이상 로그인 할 수 없지만 링크를 사용하여 사용자를 삭제할 수 있습니다. 모든 사용자를 변경하고 삭제 된 사용자를 제외한 모든 사람에게 새 URL을 보내야합니다.

이것들이 단지 이미지라면 나쁘지 않다고 생각합니다. 그러나 이것들이 당신이 정말로 공유하고 싶지 않은 이미지라면;) 나는 당신이 제시 한 데이브 전자와 같이 더 긴 임의의 단어를 사용하는 것이 좋습니다.

편집 : URL에? DO_NOT_SHARE_THIS_LINK를 추가하십시오 : http://example.com/DO_NOT_SHARE_THIS_LINK/EU3uc654-this-should-be-longer/Photos?DO_NOT_SHARE_THIS_LINK

Kongregate는 다른 곳에서 호스팅되는 게임을 임베드 할 때 수행합니다 (인증서 자격 증명을 프레임의 URL에 넣습니다). BTW, Kongregate는 게시되지 않은 게임에 대해 게스트 액세스 링크를 사용합니다.


실제로 세션은 시간이 지나면 만료되므로 세션 ID보다 훨씬 나쁩니다. 로그인 된 세션 ID를 가져 오는 검색 엔진은 일반적으로 데드 링크를 표시하거나 세션에 로그인하지 않은 결과를 초래합니다. 또는 서버가 신경 쓰지 않으면 많은 사용자의 세션을 동기화 할 수 있으며 그 중 하나가 로그인하면 모두 수행됩니다. 어쨌든, 영구적으로 로그인 한 URL만큼 나쁘지는 않습니다 :-)
korkman

물론 더 나쁩니다. 먼저 sessid를 url로 가져 오려면 먼저 로그인해야하며 IP가 변경된 경우 세션을 삭제할 수 있습니다.
Markus von Broady
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.