웹 팜 사이트의 web.config에 machineKey 추가
당사(IT 파트너)는 최근 웹 양식 사이트의 일부 DNS를 변경하여 두 프로덕션 서버 간에 라운드 로빈 DNS 스위칭을 수행했습니다.에는 실제로 WebResource.axd
파일입니다. 스위치가 활성 공개 URL을 누르면 다음과 같은 오류가 발생합니다.
암호화 예외
패딩이 잘못되어 제거할 수 없습니다.
우리가 특정 서버를 직접 공격하면 서버가 정상적으로 로딩됩니다.문제를 조사해 봤는데 두 서버 간에 자산을 공유하기 때문에 일관성을 유지해야 하는 것 같습니다.machineKey
에 시대에web.config
서버 간에 암호화 및 암호 해독을 일관되게 수행할 수 있도록 각 서버에 대해 설정합니다.제 질문은 다음과 같습니다.
- 할 수 ?
machineKey
서버의 도구를 통해, 또는 이를 위해 코드를 작성해야 합니까? - 다음을 추가하면 됩니까?
machineKey
에▁web.config
두 함께 제가 ( 각서에또두는함둘작제록까니한생수십야각하다고해행다작을가다업도른동하버께서가버서▁(둘▁on?까▁(니▁to십▁think다▁else▁do▁orboth)▁anything하생각▁each▁server▁i▁you▁work▁server▁make▁do▁to'▁the한▁two▁together고다▁need야?해)web.config
님은 현재 을(를) 가지고 있지 않습니다.machineKey
)
다음과 같이 대답해야 합니다.
방법: ASP.NET 2.0에서 MachineKey 구성 - 웹 팜 배치 고려 사항
웹 팜 배포 고려 사항
웹 팜에 응용 프로그램을 배포하는 경우 각 서버의 구성 파일이 해시 및 암호 해독에 각각 사용되는 ValidationKey 및 decryptionKey에 대해 동일한 값을 공유하는지 확인해야 합니다.이것은 어떤 서버가 연속적인 요청을 처리할지 보장할 수 없기 때문에 필요합니다.
수동으로 생성된 키 값의 경우 설정은 다음 예제와 유사해야 합니다.
<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7 AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B" decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F" validation="SHA1" decryption="AES" />
응용 프로그램을 동일한 서버의 다른 응용 프로그램에서 분리하려면 팜의 각 서버에 있는 각 응용 프로그램에 대한 Web.config 파일에 를 배치합니다.각 응용프로그램에 대해 별도의 키 값을 사용하지만 팜의 모든 서버에서 각 응용프로그램의 키를 복제해야 합니다.
간단히 말해서, 기계 키를 설정하려면 다음 링크를 참조하십시오.컴퓨터 키 설정 - 오차드 문서.
IIS 관리자를 사용하여 시스템 키 설정
Orchard가 설치된 서버의 IIS 관리 콘솔에 액세스할 수 있는 경우 컴퓨터 키를 설정하는 가장 쉬운 방법입니다.
관리 콘솔을 시작한 다음 웹 사이트를 선택합니다.컴퓨터 키 구성을 엽니다.
기계 키 제어판의 설정은 다음과 같습니다.
유효성 검사 키와 암호 해독 키 모두에 대해 "실행 시 자동으로 생성" 선택을 취소합니다.
패널 오른쪽의 "수행"에서 "키 생성"을 누릅니다.
적용을 클릭합니다.
그리고 다음 행을 추가합니다.web.config
모든 것을 철하다webservers
아래system.web
태그가 없는 경우 태그를 지정합니다.
<machineKey
validationKey="21F0SAMPLEKEY9C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7
AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="ABAASAMPLEKEY56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>
컴퓨터 키의 영구 백업이 있는지 확인하십시오.web.config
파일
IIS 7.5 이상을 사용하는 경우 IIS에서 시스템 키를 생성하여 웹 팜 내의 web.config에 직접 저장할 수 있습니다. 그러면 새 web.config를 각 서버에 복사하기만 하면 됩니다.
- IIS 관리자를 엽니다.
- 모든 응용 프로그램에 대해 MachineKey를 생성하고 저장해야 하는 경우 왼쪽 창에서 서버 이름을 선택합니다. 이 경우 루트 web.config 파일(이 파일은 .NET 프레임워크 폴더에 있음)을 수정합니다.특정 웹 사이트/응용 프로그램에 대한 MachineKey를 만들려면 왼쪽 창에서 웹 사이트/응용 프로그램을 선택합니다.이 경우 당신은 다음을 수정할 것입니다.
web.config
응용프로그램 파일입니다. - 가운데 창의 ASP.NET 설정에서 Machine Key 아이콘을 두 번 클릭합니다.
- MachineKey 섹션은 구성 파일에서 읽혀지고 UI에 표시됩니다.특정 MachineKey를 구성하지 않았는데 자동으로 생성되는 경우 다음 옵션이 표시됩니다.
- 이제 오른쪽 창에서 키 생성을 클릭하여 임의의 컴퓨터 키를 생성할 수 있습니다.Apply(적용)를 클릭하면 모든 설정이
web.config
파일.
자세한 내용은 @ MachineKey를 생성하는 가장 쉬운 방법 – 팁 및 트릭: ASP.NET, IIS 및 .NET 개발을 참조하십시오.
방금 발생한 패딩 오라클 asp.net 취약성(패치를 적용한 것 맞죠?...)에서 학습하고 보호된 섹션을 사용하여 시스템 키 및 기타 중요한 구성을 암호화해야 합니다.
다른 옵션은 시스템 수준 web.config에 설정하여 웹 사이트 폴더에도 포함되지 않도록 하는 것입니다.
생성하려면 David의 답변에 있는 링크된 기사와 동일하게 수행합니다.
언급URL : https://stackoverflow.com/questions/3855666/adding-machinekey-to-web-config-on-web-farm-sites
'programing' 카테고리의 다른 글
동일한 페이지에서 다른 버전의 jQuery를 실행하려면 어떻게 해야 합니까? (0) | 2023.06.14 |
---|---|
MariaDB 쿼리가 너무 느립니다. (0) | 2023.06.14 |
MariaDB는 함수 인덱스(함수 기반 인덱스)를 만들 수 있습니까? (0) | 2023.06.09 |
전력 쿼리에서 COALESCE를 수행하려면 어떻게 해야 합니까? (0) | 2023.06.09 |
응답 svg xmlns:xlink 식별자가 필요합니다. (0) | 2023.06.09 |