[asp.net] https로 웹 사이트를 보호하는 방법

회사가 업무 데이터를 유지하기 위해 작은 웹앱을 만들어야하는데 … 사내 만 사용 하겠지만 퍼블릭 도메인에서 호스팅하여 직원들이 다양한 위치에서 앱에 접속할 수 있도록 할 계획입니다. . (지금까지 내부적으로 만 호스팅되는 웹 앱을 구축했습니다.)

보안 연결 (https)을 사용해야하는지 아니면 양식 인증만으로 충분한 지 궁금합니다.

https라고 말하면 몇 가지 질문이 있습니다.

  1. https 용 웹 사이트를 준비하려면 어떻게해야합니까? (코드 / 구성을 변경해야합니까?)
  2. SSL과 https는 하나이며 동일합니다 …
  3. 면허를 받기 위해 누군가에게 신청해야합니까?
  4. 내 모든 페이지를 보호해야합니까 아니면 로그인 페이지 만 보호해야합니까?

인터넷에서 답을 찾고 있었지만이 모든 사항을 얻을 수 없었습니다 … 백서 나 기타 참고 자료도 도움이 될 것입니다 …

더 많은 정보가 필요한 경우 언제든지 문의하십시오.

감사

  • 라자



답변

https 용 웹 사이트를 준비하려면 어떻게해야합니까? (코드 / 구성을 변경해야합니까?)

보안 코딩에 대한 모범 사례를 염두에 두어야합니다 (좋은 소개 : http://www.owasp.org/index.php/Secure_Coding_Principles ). 그렇지 않으면 SSL 인증서를 올바르게 설정하기 만하면됩니다.

SSL과 https가 하나이고 동일합니다 ..

네.

면허를 받기 위해 누군가에게 신청해야합니까?

인증 기관에서 SSL 인증서를 구입하거나 자체 서명 된 인증서를 사용할 수 있습니다. 구매할 수있는 제품은 연간 10 달러에서 수백 달러까지 가격이 매우 다양합니다. 예를 들어, 온라인 상점을 설정하는 경우 그 중 하나가 필요합니다. 자체 서명 된 인증서는 내부 애플리케이션을위한 실행 가능한 옵션입니다. 그중 하나를 개발에 사용할 수도 있습니다. 다음은 IIS 용 자체 서명 된 인증서를 설정하는 방법에 대한 좋은 자습서입니다. 자체 서명 된 인증서를 사용하여 IIS 7.0에서 SSL 활성화

내 모든 페이지를 보호해야합니까 아니면 로그인 페이지 만 보호해야합니까 ..

초기 사용자 로그인뿐만 아니라 모든 것에 HTTPS를 사용하십시오. 오버 헤드가 너무 크지는 않을 것이며 사용자가 원격으로 호스팅되는 애플리케이션에서주고받는 데이터를 가로 채면 외부에서 읽을 수 없습니다. 이제 Gmail도 기본적으로 HTTPS를 사용합니다.


답변

어떤 종류의 비즈니스 데이터 ? 영업 비밀이나 사람들이 보지 않기를 바라는 것들만 나오면 큰 문제가되지 않을까요? 영업 비밀, 재무 정보, 고객 정보 및 일반적으로 기밀 인 것들을 이야기하는 경우. 그런 다음 그 길을 따라 가지 마십시오.

보안 연결 (https)을 사용해야하는지 아니면 양식 인증만으로 충분한 지 궁금합니다.

항상 보안 연결을 사용하십시오.

코드 / 구성을 변경해야합니까?

예. 그렇지 않을 수도 있습니다. 전문가가이 작업을 수행 할 수 있습니다.

SSL과 https는 하나이며 동일합니다 …

대부분 그렇습니다. 사람들은 일반적으로 그런 것들을 같은 것으로 언급합니다.

면허를 받기 위해 누군가에게 신청해야합니까?

인증 기관에서 서명 한 인증서를 원할 수 있습니다. 귀하 또는 귀하의 고객에게 약간의 비용이들 것입니다.

내 모든 페이지를 보호해야합니까 아니면 로그인 페이지 만 보호해야합니까?

전체적으로 https를 사용하십시오. 사이트가 내부 사용자를위한 것이라면 성능은 일반적으로 문제가되지 않습니다.

인터넷에서 답을 찾고 있었지만이 모든 사항을 얻을 수 없었습니다 … 백서 나 기타 참고 자료도 도움이 될 것입니다 …

몇 가지 지침을 보려면 여기에서 시작하십시오. http://www.owasp.org/index.php/Category:OWASP_Guide_Project

SSL은 인터넷에서 액세스 할 수있게되면 웹 사이트를 안전하게 만드는 아주 작은 부분입니다. 대부분의 해킹을 막지는 못합니다.


답변

사이트 인증 및 SSL과 혼동되고 있다고 생각합니다.

사이트를 SSL로 가져와야하는 경우 웹 서버에 SSL 인증서를 설치해야합니다. 시만텍과 같은 곳에서 직접 인증서를 구입할 수 있습니다. 인증서에는 다른 것들과 함께 공개 / 개인 키 쌍이 포함됩니다.

소스 코드에서 아무것도 할 필요가 없으며 사이트에서 양식 인증 (또는 기타)을 계속 사용할 수 있습니다. 그저 웹 서버와 클라이언트간에 발생하는 모든 데이터 통신은 인증서를 사용하여 암호화되고 서명됩니다. 사람들은 보안 HTTP (https : //)를 사용하여 사이트에 액세스합니다.

자세한 내용은 여기를 참조하십시오-> http://en.wikipedia.org/wiki/Transport_Layer_Security


답변

비즈니스 데이터의 경우 데이터가 비공개이면 보안 연결을 사용하고 그렇지 않으면 폼 인증으로 충분합니다.

보안 연결을 사용하기로 결정한 경우 웹 사이트 보안에 대한 경험이 없으며 개인적인 경험에서 발생한 일을 철회하는 것입니다. 어쨌든 내가 틀렸다면 언제든지 수정하십시오.

https 용 웹 사이트를 준비하려면 어떻게해야합니까? (코드 / 구성을 변경해야합니까?)

웹 사이트에 SSL (Secure Sockets Layer) 을 활성화하려면 인증서를 설정해야합니다. 코드 또는 구성은 변경되지 않습니다.

이 온라인 자습서 에서 OpenSSLActivePerl 을 사용하여 내부 웹 서버에 SSL을 활성화했습니다 . 이것이 더 많은 청중 (내 청중이 10 명 미만 임)을 위해 사용되고 공개 영역에 있다면 전문적인 대안을 찾는 것이 좋습니다.

SSL과 https는 하나이며 동일합니다 …

정확히는 아니지만 그들은 손을 잡고 있습니다! SSL은 웹 사이트를 보는 동안 데이터가 암호화되고 암호 해독되도록 보장하며, https이는 보안 웹 사이트에 액세스하는 데 필요한 URI입니다. 액세스를 시도 http://secure.mydomain.com하면 오류 메시지가 표시됩니다.

면허를 받기 위해 누군가에게 신청해야합니까?

라이센스가 아니라 인증서를 얻을 필요가 있습니다. 예를 들어 VeriSign 과 같은 보안 웹 사이트를 통해 전문 서비스를 제공하는 회사를 살펴볼 수 있습니다 .

내 모든 페이지를 보호해야합니까 아니면 로그인 페이지 만 보호해야합니까?

해당하는 mydomain.com모든 페이지에 대해 인증서가 활성화되면 *.mydomain.com보안이 유지됩니다.


답변

4. 내 모든 페이지를 보호해야합니까 아니면 로그인 페이지 만 보호해야합니까?

https 아래에 로그인 페이지를 유지하십시오.

이렇게하면 다른 페이지를 탐색 할 때 오버 헤드가 없습니다. 조건은 웹 구성에서 올바른 인증 설정을 제공해야한다는 것입니다. 이는 로그인하지 않은 사용자가 인증이 필요한 페이지를 탐색 할 수 없도록하기위한 것입니다.


답변

@balalakshmi가 올바른 인증 설정에 대해 언급했습니다. 인증은 문제의 절반에 불과하고 나머지 절반은 인증입니다.

양식 인증 및 표준 컨트롤 <asp:Login>을 사용하는 경우 인증 된 사용자 만 보안 페이지에 액세스 할 수 있도록하려면 몇 가지 작업을 수행해야합니다.

에서는 web.config의 아래 <system.web>부분에는 기본적으로 비활성화 익명 액세스해야합니다 :

<authorization>
 <deny users="?" />
</authorization>

익명으로 액세스 할 모든 페이지 (예 : Login.aspx 페이지 자체)에는 익명 액세스를 다시 허용하는 재정의가 있어야합니다. 이것은 필요 <location>요소와에 위치해야합니다 <configuration>(레벨 외부<system.web> 과 같이 섹션) :

<!-- Anonymous files -->
<location path="Login.aspx">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

익명 페이지에서 사용하는 모든 스타일 시트 또는 스크립트에 대한 익명 액세스도 허용해야합니다.

<!-- Anonymous folders -->
<location path="styles">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

위치의 path속성은 web.config폴더에 상대적 이며 ~/대부분의 다른 경로 유형 구성 속성과 달리 접두어를 가질 수 없습니다 .


답변

다음과 같이 PHP에서 부트 디렉토리를 만들어보십시오.

<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
$privacy = ['BOOTSTRAP_CONFIG'];
$shell   = ['BOOTSTRAP_OUTPUT'];
enter code here
if $ip == $privacy {
function $privacy int $ip = "https://";
} endif {
echo $shell
}
?>

그것은 주로 그것입니다!