[완료] .NET의 데이트베이스 연결문자열(ConnectionString) 보안처리

ghostyak의 이미지

닷넷으로 개발하시는 분들 중에 어느정도 경지에 입성하신 분들은

[닷넷 리플렉터]라고 들어 보셨을 겁니다.

이 어플을 애용하는 유저 중 한 사람으로서

문득 걱정이 생겼습니다.

최근에 개인 프로젝트로 영화관련 웹 & 윈도우 어플을 개발하려고 봇을 만들어 DB에 데이터를 수집중인데요

웹은 문제가 되지 않으나..

닷넷 WinApp를 만들자면 DB 연결문자열(ConnectionString)에 들어가는 user id와 password가 공개가 되어버리니 처리를 어떻게 할지 고민입니다.

맨날 눈팅만 하다가 KLDP에 가입하여 활등을 시작하려는 새내기에게 도움을 주세요. ^^;

chadr의 이미지

딱히 방법이 없습니다.
클라이언트에 디비의 계정과 패스를 넣은 것 자체가 디비서버 잡아잡수쇼... 라는 소리입니다.

서버측에서 디비서버 앞에 간단히 디비 인증서버를 제작하여 두시고 이를 이용하여 한번 걸러주시는게 좋습니다.

그렇지 않다면 노출되는 디비 계정에 최소한의 권한만 주시고 디비서버 자체에 보안을 강화 하셔야합니다.

그래도 이미 외부에 노출된 디비서버는 원천적으로 방어하긴 힘듭니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

김동수의 이미지

저같은 경우는 아주 오래전에(5년쯤 전?) 비슷한 일을 겪었었는데..
아주 간단한 방법으로 해결하였습니다.

웹 인터페이스를 사용하고, 쿼리문은 모두 웹스크립트 안에 숨기고...
(app에 http커넥션을 만들고, 서버에 사용자 인증을 한 후(세션),

http://api.xxx.com/webapi/dbgate.php?query=5&...

형태로 쿼리를 날려서 결과값을 받는 아주 무식한 방법을 사용했었습니다.
지금 생각하니 좀 웃기는군요.

-------------------------------------
김동수 - Prototype for Evolution

김동수 - Prototype for Evolution

ghostyak의 이미지

예상은 했었지만 그 방법 밖에 없는건가요.
어차피 바이너리 안에 숨겨지고 암호화 되어도
메모리를 열어보면 커넥션스트링이 뜨겠거니 생각했더랬습니다.
두 분 다 비슷한 말씀을 하신 것 같은데
결국엔 중간에 DB연결을 담당하는 프록시를 두어야 한다는 말씀이시네요. ㅠㅠ

------------------------------------
아이디: ghostyak
필 명: 유령물소
이메일: ghostyak@gmail.com
블로그: www.blackfeel.net
사는곳:경남 창원

1000

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.