Apr 052012
 

공공 개발을 하다 보면 행정 시스템과 연동해서 개발해야 하는 경우가 발생합니다.

기본적으로 행정 시스템에 직접 접속할수 없기 때문에 SOAP 기반의 웹서비스(WSDL)을 기반으로 데이타를 요청하고, 수신해야 합니다.

이를 위해서는 담당 공무원이 새올행정 통합지원센터를 통해서 연계아이디를 발급받고, 코드를 발급받아야 합니다.
그리고 연동 담당자와 각 서비스별로 담당자와 연계 쿼리를 발급받고, 해당 정보를 담아서 서비스로 받아야 합니다.
(여기서부터 자연스럽게 연계담당자와 통화를 좀 많이 하셔야 합니다. -_-)

나머지는 메뉴얼을 보고 연계를 하면 되지만, 처음 개념을 알지 못하면 정말 힘든 작업입니다.
그리고 중요한 것은 웹서비스(WSDL)로 통신을 하기 때문에 요청할떄 MIME 유형과 encoding 형태를 잘 맞춰야 합니다.

많이 사용하는 AXIS등을 사용하기 위해서는 웹서버의 환경과 연계서버의 환경을 잘 고려해야 합니다.
(초기에 연계서버를 개발할때 개발용 PC환경, 개발서비스 시스템과 실서비스가 환경이 모두 달라서 여러 경험을 했었습니다. 만약 해당 사항이 맞지 않으면 HTTP 500 Response가 나오기 때문에 무엇 때문에 오류인지도 모르고 고생하는 경우가 발생됩니다.)

무식한 저는 이런 고생을 많이 했고, 짧은 기간에 프로젝트를 완료해야 했기 때문에 서버의 상태를 검증하기 보다는 프로젝트 완료를 빨리 진행하기 위해서 웹클라이언트를 만들어서 처리를 빨리 했습니다. -_-

아래와 같이 Connection을 만들고, 직접 XML을 생성해서 보내는 방식이죠.

URL url = new URL(“http://”);
URLConnection con = url.openConnection();
con.addRequestProperty(“SOAPAction”,”");
con.setRequestProperty(“Content-Type”,”text/xml; charset=euc-kr”);
con.setDoOutput(true);

다시 받은 데이타도 XML을 파싱루틴도 만들어서 처리를 하면 됩니다.

하지만 또 하나의 난관은 개인정보가 될만한 사항이 있는 것은 GPKI 통신을 해야 합니다.
이를 위해서는 추가적으로 GPKI 서버용 인증 코드를 발급받아서 새올연동 서버에 등록을 해야 합니다.
그리고는 LDAP을 통해서 연계할 서버의 공개키블 받아서 저장해두고, 해당 키들로 초기화를 해야 합니다. 그런 다음 만든 XML의 일부분을 GPKI encode를 해서 전달하고, 받은 데이타의 일부분을 decode 해서 확인을 해야 합니다.
(샘플 프로그램에도 있지만, 암호화되 데이타는 base64로 encode를 해야 하며, 복호화할때에도 base64로 decode를 먼저 한 다음에 해야 합니다.)

주의할 점은 Java용 GPKI 모듈은 JNI 를 사용하기 때문에 OS에 맞는 버전으로 설치를 해야 하며, 서버에 미리 설치해서 검증을 할 수 있습니다.
또 새올행정 서버의 공개키를 받을때는 샘플 프로그램을 이용하는 방법도 있지만, LDAP 클라이언트를 하나 구해서 저장하는 방식이 더 편리합니다.
(저는 잘 몰라서 2가지 방법 모두 했습니다. -_-)

실제로 개발보다는 연동을 하기 위해서 연계팀과 진행해야 할 부분이 많으며, 경험이 있다면 쉽지만, 그렇지 않으면 처음에는 조금 고생을 하셔야 합니다.

Apr 052012
 

지금 운영중인 BIND중에서 가장 안정화 버전이라고 할수 있는 9.7.x가 오늘 업데이트가 되었습니다.
9.8.x와 9.9.x가 있지만, 아직까지는 9.7이 가장 좋을것 같네요.

소스를 확인해보니 작년 11월에 릴리즈된 9.7.4-P1 과는 변경된 부분이 상당히 많네요.

Introduction

BIND 9.7.5 is the most recent production release of BIND 9.7.

This document summarizes changes from BIND 9.7.4 to BIND 9.7.5.
Please see the CHANGES file in the source code release for a
complete list of all changes.

Download

The latest versions of BIND 9 software can always be found on our
web site at http://www.isc.org/downloads/all. There you will find
additional information about each release, source code, and
pre-compiled versions for Microsoft Windows operating systems.

Support

Product support information is available on
http://www.isc.org/services/support for paid support options.
Free support is provided by our user community via a mailing list.
Information on all public email lists is available at

https://lists.isc.org/mailman/listinfo.

Security Fixes

+ BIND 9 nameservers performing recursive queries could cache an
invalid record and subsequent queries for that record could
crash the resolvers with an assertion failure. [RT #26590]
[CVE-2011-4313]

Feature Changes

+ It is now possible to explicitly disable DLV in named.conf by
specifying “dnssec-lookaside no;”. This is the default, but the
ability to configure it makes it clearly visible to administrators.
[RT #24858]

+ –enable-developer, a new composite argument to the configure
script, enables a set of build options normally disabled but
frequently selected in test or development builds, specifically:
enable_fixed_rrset, with_atf, enable_filter_aaaa, enable_rpz_nsip,
enable_rpz_nsdname, and with_dlz_filesystem (and on Linux and
Darwin, also enable_exportlib) [RT #27103]

Bug Fixes

+ Named could dereference a NULL pointer in zmgr_start_xfrin_ifquota
if the zone was being removed. [RT #28419]

+ A parser bug could cause named to crash while reading a malformed
zone file. [RT #28467]

+ Fixed a problem preventing proper use of 64 bit time values in
libbind. [RT # 26542]

+ isccc/cc.c:table_fromwire could fail to free an allocated object on
error, leading to a possible memory leak condition. [RT #28265]

+ Fixed a build error on systems without ENOTSUP. [RT #28200]

+ The header file isc/hmacsha.h is now installed when building BIND.
[RT #28169]

+ Resolves spurious test failures in ans.pl by updating it to work
correctly with Net::DNS 0.68 [RT #28028]

+ Corrects a potential overflow problem in the computation of
RRSIG expiration times. [RT #23311]

+ The managed key maintenance timer could fail to restart after ‘rndc
reconfig’ resulting in managed keys not being properly added to
managed-keys.bind [RT #27686]

+ The maximum number of NSEC3 iterations for a DNSKEY RRset was
not being properly computed. [RT #26543]

+ Error reporting has been improved for failures encountered
when sending or receiving network packets. In particular
some memory allocation failures were being logged as “unexpected
error” – these will now be reported accurately. A new
ISC_R_UNSET result code has also been added to cover those
situations where there is no error code returned by the OS
sockets implementation. [RT #27336]

+ Corrects an INSIST failure by addressing race conditions in
the handling of rbtnode.deadlink. [RT #27738]

+ SOA refresh queries could be treated as cancelled despite
succeeding over the loopback interface. [RT #27782]

+ When replacing an NS RRset, BIND now restricts the TTL of the
new NS RRset to no more than that of the NS RRset it replaces
to fix a timing problem that can arise when removing a delegation.
[RT #27792/27884]

+ Raw zones with with more than 512 records in a RRset previously
failed to load. [RT #27863]

+ Make sure automatic key maintenance is started when “rndc reconfig”
is issued if “auto-dnssec maintain” is turned on. [RT #26805]

+ Windows builds are now restricted to a single listener thread
until incompatibility with the multiple listeners code can be
addressed [RT #27696]

+ AAAA responses could be returned in the additional section even
when filter-aaaa-on-v4 was in use. [RT #27292]

+ Some query patterns could cause responses not to be returned
in cyclic order though “rrset-order cyclic” was set. [RT
#27170/27185]

+ named-compilezone now longer emits “dump zone to ” message
when writing to stdout. [RT #27109]

+ Sets isc_socket_ipv6only() on the IPv6 control channels. This
addresses IPv6 socket binding problems that can occur in some
configurations when bindv6only=1 is set globally. [RT #22249]

+ named now reports a syntax error when a TXT record longer than
255 characters is configured. [RT #26956]

+ Addresses race conditions in the resolver code that can cause
named to abort. [RT #26889]

+ Fixed a bug that could cause named to crash while loading a
zone with invalid DNSKEY records. [RT #26913]

+ Prevents dig -6 +trace from terminating with an error when
encountering a root nameserver without an AAAA record. RT #26906]

+ Prevents DNSKEY state change events from being missed by ensuring
that the timestamps used to determine which keys are in use are
set appropriately. [RT #26874]

+ When processing a list of keys, named now consistently compares
them with the same timestamp. [RT #26883]

+ Fixed a corner case race condition in the validator that may
cause an assert in a multi-threaded build of BIND. [RT #26478]

+ Poor error handling could cause named to hang during shutdown.
[RT #26372]

+ named now correctly validates DNSSEC positive wildcard responses
from NSEC3 signed zones. [RT #26200]

+ The order in which we process the reactivation of a dead node
in cache and the incrementing of its reference count created a
small timing window during which an inconsistency could be
detected and an assert occur in a multi-threaded environment.
This should no longer occur. [RT #23219]

+ Master servers that had previously been marked as unreachable
because of failed zone transfer attempts will now be removed
from the “unreachable” list (i.e. considered reachable again)
if the slave receives a NOTIFY message from them. [RT #25960]

+ Fixes a bug in zone.c where failure to delete signatures could
lead to an assertion failure and subsequent abort. [RT #25880]

+ Corrects a problem validating root DS responses. [RT #25726]

+ Fixes a problem whereby “rndc dumpdb” could cause an assertion
failure and abort by attempting to print an empty rdataset [RT
#25452]

+ Improves scalability by allocating one zone task per 100 zones
at startup time. [RT #25541]

+ Fixes a problem with the computation of tags for revoked keys.
[RT #26186]

+ ‘dig -y’ would crash when passed an unknown TSIG algorithm. dig
now handles unknown TSIG algorithms more gracefully. [RT #25522]

+ Servers that received negative responses from a forwarder were
failing to cache the answers correctly, resulting in multiple
queries for the same non-existent name being sent to the
forwarders instead of answers being provided to clients from
cache (until TTL expiry). [RT #25380]

+ named would log warnings that empty zones may fail to transfer
to slaves due to serial number 0. These spurious errors have
now been silenced. [RT #25079]

+ corrected memory leaks and out of order operations that could
cause named to crash during a normal shutdown. [RT #25210]

+ Per RFC 6303, RFC 1918 reverse zones are now part of the built-in
list of empty zones. [RT #24990]

+ Corrected a bug which could cause a slave server with
“allow-update-forwarding” set to become unresponsive if the
master it is trying to reach is off-line or unreachable. [RT
#24711]

+ If allow-new-zones was set to yes and ACLs were given names,
issuing ‘rndc reconfig’ could cause named to crash. [RT #22739]

+ Socket errors during during recursion were sometimes not handled
correctly which could lead to a named assert when an associated
query structure was used after it had already been freed [RT
#22208]

+ The logging level for DNSSEC validation failures due to expired
or not-yet-valid RRSIGs has been increased to log level “info”
to make it easier to diagnose these problems. Examples of the
new log messages are given below:

03-Nov-2011 22:40:55.335 validating @0x7fccc401e5a0:
pastdate-A.test.dnssec-tools.org A: verify failed due to bad
signature (keyid=19442): RRSIG has expired

03-Nov-2011 22:41:31.335 validating @0x12b5d80:
futuredate-A.test.dnssec-tools.org A: verify failed due to
bad signature (keyid=19442): RRSIG validity period has not
begun

[RT #21796]

+ This change can reduce the time when a server is unavailable
during “rndc reconfig” for servers with large and complex
configurations. This is achieved by completing the parsing of
the configuration files in entirety before entering the exclusive
phase. (Note that it does not reduce the total time spent in
“rndc reconfig”, and it has no measurable impact on server
initial start-up times.) [RT #21373]

+ Direct queries for type RRSIG or SIG (sometimes used while
testing) could be handled incorrectly in the case where there
is no answer available. [RT #21050]

+ dnssec-signzone -t now records timestamps just before and just
after signing, improving the accuracy of signing statistics.
[RT #16030]

Thank You

Thank you to everyone who assisted us in making this release
possible. If you would like to contribute to ISC to assist us in
continuing to make quality open source software, please visit our
donations page at http://www.isc.org/supportisc.

(c) 2001-2012, Internet Systems Consortium
_______________________________________________
bind-announce mailing list
bind-announce@lists.isc.org

https://lists.isc.org/mailman/listinfo/bind-announce

Plugin from the creators of Brindes :: More at Plulz Wordpress Plugins