2006/04/06

C# 보안 권장 사항

다음 목록은 잠재적인 보안 문제를 빠짐없이 망라한 것이 아닙니다. 이 목록에서는 C# 개발자가 주의해야 할 몇 가지 일반적인 문제만을 중점적으로 설명합니다.

# checked 키워드를 사용하여 정수 계열 형식의 산술 연산 및 변환에 대한 오버플로 검사 컨텍스트를 제어해야 합니다.

# 매개 변수에 대해서 항상 가장 제한적인 데이터 형식을 사용해야 합니다. 예를 들어, 메서드에 데이터 구조의 크기를 나타내는 값을 전달하는 경우 정수 대신 부호 없는 정수를 사용합니다.

# 파일의 이름을 기준으로 판단해서는 안 됩니다. 파일 이름의 표현 방식은 다양하며, 특정 파일만을 대상으로 하는 테스트는 우회될 수 있습니다.

# 암호나 기타 중요한 정보를 절대로 응용 프로그램에 하드코딩하지 말아야 합니다.

# SQL 쿼리를 생성하는 데 사용되는 입력에 대해서 항상 유효성을 검사해야 합니다.

# 메서드에 대한 모든 입력에 대해서 유효성을 검사해야 합니다. System.Text.RegularExpressions 네임스페이스의 정규식 메서드는 전자 메일 주소와 같은 경우에 입력 값의 형식이 올바른지 확인하는 데 유용합니다.

# 예외 정보를 표시해서는 안 됩니다. 이러한 정보는 공격자에게 중요한 단서를 제공할 수 있습니다.

# 가능한 한 최소한의 권한으로 응용 프로그램이 실행되도록 해야 합니다. 사용자가 관리자 권한으로 로그인해야 하는 응용 프로그램은 거의 없습니다.

# 자체 암호화 알고리즘을 사용하지 말고 System.Security.Cryptography 클래스를 사용해야 합니다.

# 어셈블리에 강력한 이름을 부여해야 합니다.

# 중요한 정보를 XML이나 기타 구성 파일에 저장하지 말아야 합니다.

# 네이티브 코드를 래핑하는 관리 코드를 주의 깊게 검사해야 합니다. 특히 버퍼 오버런과 관련하여 네이티브 코드가 안전한지 확인할 필요가 있습니다.

# 응용 프로그램 외부에서 전달되는 대리자를 사용할 때는 주의해야 합니다.

# FxCop을 실행하여 어셈블리가 Microsoft .NET Framework 디자인 지침을 준수하고 있는지 확인합니다. 또한 FxCop에서는 200가지 이상의 코드 결함을 찾아내어 경고할 수 있습니다.

FxCop는 http://www.gotdotnet.com/team/fxcop/ 에서 다운로드 가능하며, 상당히 괜찮은 툴입니다.

출처: MSDN

2006/03/30

SQLDMO 객체

다음코드는 닷넷에서 SQLDMO 객체를 이용해서 SQL서버에 접근해서 DB목록을 가져오는 샘플코드이다.

잘아시다시피,. SQLServer의 관리툴인 EM도 이 SQLDMO 를 이용하고 있다.

SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();

srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text);

foreach(SQLDMO.Database db in srv.Databases)
{
    if(db.Name!=null)
    {
        Console.WriteLine(db.Name);
    }
}

SQLDMO 에서는 다음과 같은 클래스를 제공한다.

SQLDMO.Application
SQLDMO.SQLServer
SQLDMO.Database
SQLDMO.NameList


클래스에 대한 상세는, VS의 오브젝트 브라우져를 참고하면 될듯 하다.

그러나, 닷넷환경이라면,. 그리고 Master DB에 접근권한이 있는 계정이라면 굳이 위 SQLDMO를 이용하지 않고도 ADO.NET 으로 왠만한 작업은 거의 가능하다.SQLDMO 에서는 다음과 같은 클래스를 제공한다.
 

2006/03/11

[공지] 서버주무르기 MSN 메신져 Alerts 서비스 추가.

안녕하세요.^^

개인 홈피인,.. 서버주무르기.. 컨텐츠중 Tip&Tech 의 신규 컨텐츠가 등록될 경우

MSN서비스인  을 통해서 업데이트 되는 내용을 통보해 드립니다.




 신청은 홈페이지 메뉴 아래  아이콘을 클릭하시면 구독 페이지로 이동하게 됩니다.

물론,.. 구독할려면   패스포트   계정이 있어야 합니다.,.

MSN메신져 또는 핫메일 계정이 있음 가능합니다.^^

http://im.msn.co.kr/Fun/Tab/fun_tab1.asp 여기 설명을 참조하시면 될듯...

Tip&Tech 가 업데이트면 즉시, MSN 메신져의 알람 통보가 됩니다..

가장 많이 본 글