ASP가 유연하고 단순하고 실용적이며 강력한 기능으로 글로벌 웹 사이트에서 빠르게 인기를 얻었을 때, 일부 자체의 결함과 취약점은 이전 기사, 일부 IIS 시스템 취약점과 ASP의 보안 문제를 위협하고 있습니다. 우리는이 문제에서 최신 ASP 및 IIS 보안 취약점에 대한 자세한 토론을 수행 할 것입니다.
이달 초 Microsoft는 다시 웹 서버 소프트웨어의 보안에 더 많은 관심을 기울이지 않았다는 비난을 받았습니다. Microsoft의 인기있는 제품 IIS Sever 4.0에서 불법 HTR 요청이라는 결함이 발견되었습니다. Microsoft에 따르면이 결함은 특정 상황에서 서버 측에서 모든 코드를 실행하게됩니다. 그러나 인터넷 보안 회사 인 Eeye의 CEO 인 Firas Bushnaq의 말에 따르면 취약점을 발견 한 것은 빙산의 일각 일뿐입니다. Bushnaq는 Microsoft 가이 취약점을 사용하여 IIS 서버를 완전히 제어 할 수있는 해커와 같은 일부 상황을 숨겼으며 많은 전자 상거래 사이트 가이 시스템을 기반으로한다고 말했다.
이 IIS 시스템 취약점의 세부 사항은 다음과 같습니다.
IIS의 최신 보안 취약성
영향을받는 시스템 :
Internet InformationServer4.0 (IIS4)
Microsoft Windows NT 4.0 SP3 옵션 팩 4
Microsoft Windows NT 4.0 SP4 옵션 팩 4
Microsoft Windows NT 4.0 SP5 옵션 팩 4
출판 날짜 : 6.8.1999
Microsoft는 취약점을 확인했지만 아직 패치를 사용할 수 없습니다.
Microsoft Security 발표 (MS99-019) :
주제 : 비정상적인 HTR 요청 취약점
출시 시간 : 6.15.1999
요약:
Microsoft는 릴리스 된 웹 서버 제품 인 Internet Information Server 4.0에서 심각한 시스템 취약성을 확인하여 IIS 서버에 대한 서비스가 거부됩니다.이 경우 모든 이진 코드가 서버에서 실행될 수 있습니다. 이 취약점 패치는 가까운 시일 내에 출시 될 예정이며 모든 IIS 사용자에게 세심한주의를 기울이십시오.
취약성 소개 :
IIS는 ASP, ASA, IDC 및 HTR과 같은 서버 측 처리가 필요한 다양한 파일 유형을 지원합니다. 그러나 HTR 파일을 처리하는 파일 인 ISM.DLL에는 심각한 보안 취약점이있었습니다. (참고 : HTR 파일 자체는 사용자 비밀번호를 원격으로 관리하는 데 사용됩니다)
이 취약점에는 ISM.DLL에 검증되지 않은 버퍼가 포함되어 있으며 웹 서버의 보안 작업에 두 가지 위협이 될 수 있습니다. 먼저, 서비스 거부 공격의 위협이있어 .htr 파일에서 .htr 파일에 대한 요청은 캐시 오버 플로우를 일으켜 IIS 충돌이 발생하면 서버를 다시 시작할 필요가 없습니다. 그러나 IIS 웹 서버는 다시 시작해야합니다. 또 다른 위협은 잘 지어진 파일 요청을 사용함으로써 두통을 유발하는 것입니다. 표준 캐시 오버 플로우 수단을 활용하여 BIN 코드가 서버 측에서 실행되도록하는 경우, 어떤 경우에는 어떤 일이 발생할 수 있습니다! 취약점에는 사용자 암호를 관리하는 기능을 제공하는 .htr 파일이 포함되어 있지 않습니다.
원칙 분석 :
하나 이상의 IIS 확장 (예 : ASP, IDC, HTR)에는 오버플로가 있습니다. 우리는 IIS가 확장을 처리하기 위해 전체 URL을 DLL에 전달할 때 오버플로가 발생할 것이라고 추측합니다. ISAPI DLL에 올바른 확인 제한 범위가 없으면 inetinfo.exe에서 오버플로가 발생하면 사용자는 원격 끝에서 이진 코드를 실행합니다. 공격 방법 : IIS에 다음 HTTP 요청을 보내십시오. 여기에서 [오버플로]는 3K 길이의 코드 일 수 있습니다.
.htr 파일에 익숙하지 않을 수 있습니다. 실제로 IIS는 NT 사용자가 웹 디렉토리 /IISADMPWD /를 통해 암호를 변경할 수 있습니다. 이 기능은 .htr 파일 세트와 Isapi : ism.dll의 확장 DLL에 의해 구현됩니다. 완전한 URL이 ISM.DLL로 전달되면 적절한 크기 제한 사항을 점검하지 않으면 오버플로가 발생하여 서버가 충돌합니다. htr/ism.dll isapi는 IIS4의 기본 설치입니다.
해결책:
Microsoft는 사용할 수있는 패치를 공개하지 않았으므로 비상 예방 만 할 수 있습니다.
1. Isapi dlls 목록에서 .htr 확장을 삭제합니다.
NT 데스크탑에서 시작 -> 프로그램 -> Windows NT 4.0 옵션 팩 -> 마이크를 클릭하십시오.
Rosoft Internation Server-인터넷 정보 서버를 두 번 클릭하고 주요 속성 드롭 다운 메뉴를 선택하고 홈 디렉토리 폴더를 선택하십시오 버튼 구성을 클릭하고 응용 프로그램 매핑 목록 상자에서 .htr의 관련 매핑을 선택하고 삭제를 선택하고 확인하십시오.
2. Microsoft에서 제공 한 패치 설치, 다음 웹 사이트에주의를 기울이십시오.
http://www.microsoft.com/security
http://www.microsoft.com/security/products/iis/checklist.asp
일부 친구는 당황 스러울 수 있습니다. 왜 ASP의 17 일과 18 일 문제에 IIS와 ASP의 보안 문제에 중점을 두었습니다. 내 의도. 우리는 물론 자체 웹 사이트를 개발하고 구축하기 위해 네트워크 프로그래밍을 수행하고 대화식 웹 사이트를 개발합니다 보호, 웹 사이트 서버의 안전하고 정상적인 운영을 보장, 사용자 정보의 보안 및 인증 등을 보장합니다. 전자 상거래가 미래에 진정으로 광범위한 비즈니스 운영 방법이되면 보안이 훨씬 중요합니다. 많은 친구들은 또한 네트워크 관리자의 책임이므로 ASP 프로그래머로서 시스템 운영에 익숙하고 시스템 취약점을 적시에 이해하고 가능한 빨리 보안 문제를 해결해야합니다. 따라서이 기사에서 마지막에 저자는 NT 및 IIS 시스템 구성에 대한 몇 가지 보안 제안을 작성하여 도움을주기를 바랍니다.
1. 최신 버전의 Microsoft Internet Information Server 4.0을 사용하고 최신 버전의 NT Service Pack5를 설치하십시오.
2. IIS에서 샘플, 스크립트, IISADMIN 및 MSADC와 같은 웹 디렉토리를 설정하여 익명 액세스를 금지하고 IP 주소를 제한하십시오. Microsoft가 패치를 제공하기 전에 ISM.DLL과 관련된 응용 프로그램 매핑을 삭제하십시오.
3. 가능하면 방화벽 메커니즘을 사용하십시오. 가장 간단한 것은 프론트 데스크에서 웹 서비스를 열고 디렉토리가 백 데스크에 배치됩니다.
4. 웹 디렉토리, CGI 디렉토리, 스크립트 디렉토리 및 WINNT 디렉토리와 같은 중요한 디렉토리는 NTFS 기능을 포함하여 관리자가 완전히 제어 할 수 있도록해야하며 일반 사용자 읽기 전용 허가는 안됩니다. 사용하십시오. 관리자를 제외한 시스템과 관련된 모든 중요한 파일의 경우 다른 계정을 모든 사람/전체 제어가 아닌 읽기 전용 권한으로 설정해야합니다.
5. 필요한 서비스를 열고 NetBios Port 139와 같이 열리지 말아야 할 모든 포트를 차단하십시오. 방화벽을 사용하는 것 외에도 NT의 TCP/IP 설정은이 기능을 제공합니다. 제어판 - 네트워크 - 프로토콜 - TCP/IP- 속성 - 고급 - 보안 메커니즘 - 구성, TCP 및 UDP 포트를 제공합니다 프로토콜 제한 기능.
6. 관리자의 계정을보다 복잡하게 설정해야하며 특수 문자를 추가하는 것이 좋습니다.
7. FTP와 Telnet의 TCP 포트를 비표준 포트로 변경하십시오
8. 프린터 공유 및 ICP $, admin $ 등과 같은 숨겨진 주식을 포함하여 삭제할 수있는 모든 주식을 삭제합니다. Microsoft는 이러한 특수 공유 리소스가 중요하며 대부분의 경우 삭제할 수 없지만 실제로 배치 된 기계는 삭제할 수 없다고 말합니다. 인터넷에서는 크다. 대부분은 공유 할 필요가 없다.
IPC $ : 컴퓨터의 원격 관리 및 공유 리소스보기에 적합합니다.
admin $ : 실제로 C :/Winnt이고 공유 할 필요가 없습니다.
C $ : 관리자에 로그인 한 사용자 및 백업 기능은 // 컴퓨터 이름/C $에 의해 C 드라이브에 액세스 할 수 있지만 원격 해커는 LAN의 로그인 사용자로 자신을 위장 할 수있는 방법이 있습니다. 꺼져 있어야합니다.
인쇄 $ : 이것은 프린터 드라이버가 배치되는 디렉토리이며 위의 것과 같은 매우 위험한 항목입니다.
NETLOGON : 이것은 도메인 로그인 요청을 처리하는 공유입니다. 컴퓨터가 기본 도메인 컨트롤러이고 로그인하려는 도메인에 다른 컴퓨터가있는 경우 삭제하지 마십시오. 그렇지 않으면 여전히 삭제할 수 있습니다.
이 주식을 끄는 방법? 서버 관리자 -> 공유 디렉토리 -> 공유 중지를 사용하십시오
9. ASP 프로그램 디렉토리에 대한 자세한 액세스 권한을 중앙으로 관리하고 읽기 권한을 사용하지 않는 것이 좋습니다.
10. Winnt에서 Sam._ 파일의 이름을 변경하십시오
, Practice는 비밀번호를 누출 할 수있는이 파일을 삭제하지 않고 삭제할 수 있음을 증명했습니다.
11. 알려진 NT 보안 취약점의 경우 테스트 및 수표를 자신의 컴퓨터에서 수행해야합니다. 패치를 적시에 설치합니다.
12. 필요한 경우 IIS4.0에서 제공하는 SSL 보안 통신 메커니즘을 사용하여 온라인으로 데이터가 차단되지 않도록하십시오.