curl에 wget과 같은 --no-check-certificate 옵션이 있습니까?


446

자체 서명 된 SSL 인증서로 개발 사이트를 실행하는 로컬 개발 서버 중 하나에 컬 요청을하려고합니다. 커맨드 라인에서 curl을 사용하고 있습니다.

등 - 좀 블로그 게시물은 인증서 목록에 추가하거나 (자체 서명) 유효로 인증서를 특정을 지정하지만, SSL 용 인증서 "를 확인하지"말의 포괄 방법이 할 수있는 언급했다 --no-check-certificate그 wget이 있습니까?


답변:


594

예. 로부터 :

-k,-안전하지 않은

(TLS) 기본적으로 모든 SSL 연결 컬은 안전한 것으로 확인됩니다. 이 옵션을 사용하면 불안정한 것으로 간주되는 서버 연결에서도 curl이 진행되고 작동 할 수 있습니다.

서버 인증서는 서버 인증서에 올바른 이름이 포함되어 있는지 확인하고 인증서 저장소를 사용하여 성공적으로 확인합니다.

자세한 내용은이 온라인 리소스를 참조하십시오 : https://curl.haxx.se/docs/sslcerts.html

--proxy-unsecure 및 --cacert도 참조하십시오.

참조 맨 페이지 항목에 언급은 특정 행동에 대해 설명합니다 -k.

이러한 동작은 BadSSL.com의curl 페이지 테스트 요청에서 확인할 수 있습니다.

curl -X GET https://wrong.host.badssl.com/
curl: (51) SSL: no alternative certificate subject name matches target host name 'wrong.host.badssl.com'

curl -k -X GET https://wrong.host.badssl.com/
..returns HTML content...

11
한 글자로 된 짧은 옵션이 있다는 사실을 좋아하십시오
kizzx2

curl config 에이 옵션을 기본값으로 설정하는 방법이 있습니까?
수상

4
@Wins, 그건 끔찍한 생각 일 것입니다. 별칭을 반복해서 사용해야하는 경우에는 별칭을 사용하므로 암호의 기능을 알고 실수로 비밀번호를 암호화되지 않은 상태로 보내지 않습니다. alias insecure-curl="curl -k"
Alexander Huszagh

2
@AlexanderHuszagh 직장에서는 자체 서명 인증서가있는 단일 서버의 curl 만 사용합니다. 완전한 인증서 확인을 수행 할 시간이 없습니다. 대부분의 경우 무언가가 끔찍한 생각처럼 보인다고해서 그것이 항상 그런 것은 아닙니다.
Daniel H

4
@DanielH 이것이 별명을 제안한 이유입니다. 따라서 안전하지 않다는 명백한 지식으로 편의를 추가 할 수 있습니다. 워크 플로 변경 : 편의를 위해 보안을 거래 할 때는 여전히 제한된 방식으로 알고 있어야합니다.
Alexander Huszagh 2016

36

다음 명령을 사용하여 모든 연결에 대한 변경 사항을 적용 할 수 있습니다.

$ echo insecure >> ~/.curlrc

Windows에서 단지 만들 _curlrc당신의 거기에 '불안'텍스트와 텍스트 파일 %HOME%, %CURL_HOME%, %APPDATA%, %USERPROFILE%또는 %USERPROFILE%\Application Data디렉터리를.

위의 솔루션을 사용하면 모든 curl명령에서 작동한다는 장점이 있지만 안전하지 않은 호스트와 신뢰할 수없는 호스트에 연결하여 MITM 공격 이 발생할 수 있으므로 권장되지 않습니다 .


72
이는 사용자별로 구성을 통해 직접 수행하더라도 모든 연결에 대해 이러한 검사를 비활성화하는 것이 기본값이되어서는 안됩니다. 보안 검사를 억제해야하는 경우 최소한 단편적으로 수행하십시오.
Christopher Schultz

4
curl을 사용할 때마다 상대방을 제어하거나 신뢰합니다.
Eric Hartford

11
@EricHartford : 글쎄, 당신에게 좋지만 여전히 좋은 조언이 아닙니다. 예를 들어 osx에서 homebrew를 다운로드 할 때 curl을 사용할 수 있습니다.이 기능은 기본적으로 맹목적으로 활성화 되었기 때문에 수정 된 버전의 도구로 끝납니다.
ereOn

10
또한 @EricHartford 당신은 항상 신뢰할 수있는 컬 물건을합니까? 인터넷에서 bash 설치 스크립트를 실행 한 적이 있습니까? 어쨌든 당신은 어쨌든 검은 색이 될 수 있지만 이것은 기회를 증가시킵니다.
Zlatko

이것이 실제 @EricHartford입니다. 이전 메시지는 나를 가장 한 다른 사람이 게시했습니다. 모든 기계를 신뢰했기 때문에 ;-)
Anand Rockzz

5

자체 서명 된 인증서를 사용하고 있습니다. 신뢰할 수있는 CA 번들 (Linux)에 CA를 추가하거나 신뢰할 수있는 인증서 저장소 (Windows)에 추가하지 않는 이유는 무엇입니까? 또는 --cacert /Path/to/file신뢰할 수있는 자체 서명 인증서 파일의 내용과 함께 사용 하십시오.

다른 답변은 wget비교할 수 있는 질문에 대한 답변 입니다. 그러나 진정한 질문은을 사용하여 자체 서명 된 인증서와의 신뢰할 수있는 연결을 유지하는 방법 curl입니다. 많은 의견을 바탕으로 보안은 이러한 답변 중 하나의 최고 관심사이며, 가장 좋은 대답은 자체 서명 인증서를 신뢰하고 curl보안 검사를 그대로 두는 것 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.