이것저것 정리하는 블로그

요즘 IT쪽에 보안 문제가 큰 화두가 되고있습니다. 물론 보안은 아주 기본적인 요구사항입니다. 하지만 제 경험상 보안 솔루션 도입은 비용과 운용상의 불편함을 이유로 검토 후 보류해버리는 경우가 많았습니다.

요즘 수 많은 사건사고로 인해서 보안 솔루션 도입에 꽤 적극적이 된 회사의 모습을 보면, 역시 어디서 한 건 터지고, 법으로 규제해야 기업체가 돈을 쓴다는걸 다시한번 머리속에 새깁니다. (기업이 돈을 많이 남기면 재투자하고, 고용을 확대해서 서민 경제가 좋아진다는 얘기는 어느나라 얘기일지...)

티베로 엔지니어를 통해서 확인한 티베로를 지원하는 DBMS 접근제어 솔루션들입니다.

1. 피앤피시큐어의 DBSafer

2. 웨어벨리의 Shakra(샤크라)
샤크라 맥스는 아직 티베로를 지원하지 않고 샤크라만 티베로를 지원한다고 합니다.

그리고 제작사측에서 티베로를 지원한다고 연락이 온 DBMS 접근제어 솔루션이 있습니다.
1. 신시웨이의 Petra(페트라)

아직 확인이 안된게 많습니다. 내용 확인이 되는대로 추가하겠습니다.

iPhone 에서 작성된 글입니다.

Comment +0

IBM DW에 올라온 글 중에 [안전한 PHP 응용 프로그램을 작성하는 일곱 가지 습관]이라는 글을 소개합니다.
앞으로 PHP에 손댈 일이 많아질것 같아서 여기저기 뒤지다보니 찾게된 문서입니다. 혹시나 이 문서를 나중에 못 찾을까봐 즐겨찾기 해놓는 기분으로요. ^^

원문보러가기 : 안전한 PHP 응용 프로그램을 작성하는 일곱 가지 습관

PHP 응용 프로그램을 짤 때는 원격 보안과 지역 보안을 모두 고려해야 합니다. 이 기사에서는 두 가지 측면 모두에서 PHP 프로그램 보안을 높여줄 개발자를 위한 일곱 가지 프로그래밍 습관을 소개합니다.

보안을 고려할 때는 실제 플랫폼과 운영체제 보안뿐만 아니라 응용 프로그램 보안 유지도 중요하다. 즉, 프로그래머는 안전한 프로그램을 짜야 한다. PHP 프로그램을 작성한다면 다음 일곱 가지 습관으로 프로그램 보안을 최대로 높여보자.

  • 입력을 검증하라.
  • 파일 시스템을 보호하라.
  • 데이터베이스를 보호하라.
  • 세션 정보를 보호하라.
  • XSS(Cross-Site Scripting) 취약점을 방어하라.
  • 폼 정보를 보호하라.
  • CSRF(Cross-Site Request Forgeries)를 방어하라.

Comment +0

 이번엔 DeveloperWorks의 [리눅스, 오픈소스]관련 문서중 [OpenSSL[각주:1] API를 이용한 보안 프로그래밍, Part 1: API의 개요 (한글)]을 소개하려합니다. 필자가 C에 대한 이해와 실무 경력이 부족한 관계로 이 문서가 실제로 얼마나 도움이 될지는 모르겠습니다. 그러나 리눅스에서 보안 프로그래밍에 관심이 있는 유저라면 한번쯤 읽어볼만한 문서라고 생각합니다.

원문 : OpenSSL API를 이용한 보안 프로그래밍, Part 1: API의 개요 (한글)

 필자인 Kenneth는 MediNotes Corp.(West Des Moines, Iowa)의 소프트웨어 엔지니어입니다. 페루, 나브라스카에 있는 Peru State College에서 경영학 학사 학위를 받았고, Southwestern Community College에서 컴퓨터 프로그래밍의 Associate of Science도 보유하고 있습니다.

아래는 원문의 서론부분입니다. 한번 읽어보시고 맘에 드시면 위쪽의 원문 링크를 클릭하셔서 전체 내용을 보세요.

보안 통신용 오픈 라이브러리인 OpenSSL용 API를 사용하는 방법을 배운다는 것은 힘든 일입니다. 문서화가 아직 덜 되어있기 때문입니다. 이 글을 통해서 이를 극복해 봅시다. 기본 연결을 설정한 후에, OpenSSL의 BIO 라이브러리를 사용하여 보안/비보안 연결을 구축하는 방법을 배워봅시다. 에러 탐지에 대한 부분도 설명합니다.

OpenSSL API와 관련한 문서는 약간 모호하다. OpenSSL의 사용법에 대한 튜토리얼도 많지 않으므로, 애플리케이션에서 이를 실행하는 것은 초보자에게는 힘든 일이다. 그렇다면, OpenSSL을 사용하여 기본 보안 연결을 어떻게 구현할 것인가? 이 가이드에서 이러한 문제를 풀어보자.

OpenSSL을 구현하는 방법을 배우는 것과 관련된 문제 중 하나는 문서화가 덜 되어있다는 점이다. 불완전한 API 문서는 개발자가 API를 사용할 수 없게 한다. 하지만, OpenSSL은 여전히 존재하고 강력하다. 왜일까?

OpenSSL 은 보안 통신용 오픈 라이브러리로 유명하다. Google에서 "SSL library"를 검색하면 OpenSSL이 상위로 리턴된다. Eric Young과 Tim Hudson이 개발한 SSLeay 라이브러리에서 파생하여, 1998년에 시작되었다. 다른 SSL 툴킷으로는 GNU General Public License하에서 배포되는 GNU TLS와, Mozilla Network Security Services (NSS) (참고자료)가 있다.

그렇다면, OpenSSL이 GNU TLS, Mozilla NSS 등 보다 나은 점은 무엇인가? 라이센싱이 한 몫을 한다. (참고자료) 게다가, GNS TLS는 TLS v1.0과 SSL v3.0만 지원한다. 그 이상은 지원하지 않는다.

Mozilla NSS는 Mozilla Public License와 GNU GPL 하에서 배포되고, 개발자가 선택할 수 있다. Mozilla NSS는 OpenSSL보다 크고, 라이브러리를 구현하려면 다른 외부 라이브러리가 필요하다. 하지만 OpenSSL은 독립적이다. OpenSSL과 마찬가지로, 대부분의 NSS API는 문서화가 되어있지 않다. Mozilla NSS는 PKCS #11 지원을 갖고 있는데, 이는 Smart Cards 같은 암호 토큰에 사용된다. OpenSSL은 이러한 지원이 부족하다.

조건

이 글을 충분히 활용하려면,

  • C 프로그래밍에 능숙해야 한다.
  • 인터넷 통신에 대해 잘 알고 있어야 하고, 인터넷에서 실행되는 애플리케이션을 작성할 수 있어야 한다.

OpenSSL에 대한 완벽한 이해가 전적으로 필요한 것은 아니다. SSL에 대한 간략한 설명은 나중에 제공하겠다. SSL에 대한 상세한 설명은 참고자료 섹션을 참조하라. 암호법에 대해 알고 있어도 도움이 되지만, 필수적인 것은 아니다.


Comment +1

  • 류한주 입니다. 날씨 쌀쌀한데 잘 지내시죠?
    블로그 스킨이 바뀌었네요..
    그래서인지 본문 글자가 잘 안 보여요... 흐린 바탕에 흰색이라서 그런지..