JP2011059847A - Program release management system - Google Patents
Program release management system Download PDFInfo
- Publication number
- JP2011059847A JP2011059847A JP2009206768A JP2009206768A JP2011059847A JP 2011059847 A JP2011059847 A JP 2011059847A JP 2009206768 A JP2009206768 A JP 2009206768A JP 2009206768 A JP2009206768 A JP 2009206768A JP 2011059847 A JP2011059847 A JP 2011059847A
- Authority
- JP
- Japan
- Prior art keywords
- release
- server
- terminal
- production
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004519 manufacturing process Methods 0.000 claims abstract description 78
- 238000012546 transfer Methods 0.000 claims abstract description 71
- 238000011161 development Methods 0.000 claims abstract description 54
- 238000003860 storage Methods 0.000 claims abstract description 52
- 238000012544 monitoring process Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 13
- 238000012790 confirmation Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
この発明はプログラムリリース管理システムに係り、特に、プログラムのリリース時期の選択を開発者に委ねながらも、悪意の開発者による不正プログラムのリリースを有効に防止可能とする技術に関する。 The present invention relates to a program release management system, and more particularly to a technique that can effectively prevent the release of a malicious program by a malicious developer while leaving the choice of the release time of the program to the developer.
大規模システムの開発においては、完成した多数のプログラムモジュールを本番環境に移設する作業が不可欠であり、これに多くの手間と時間を取られることはもちろんであるが、新旧バージョンの取り違い等、様々な人為的ミスの温床ともなっていた。 In the development of a large-scale system, it is indispensable to move a large number of completed program modules to the production environment. Of course, it takes a lot of time and effort, but the difference between the old and new versions, It was also a hotbed for various human error.
このような状況を改善するためのものとして、特許文献1に記載のプログラム管理システムが既に提案されている。
このプログラム管理システムは、それまで紙ベースで行われていたプログラムのリリース管理を、データベースを用いたコンピュータシステムに移行させると共に、手作業で行っていた開発プログラムの本番機への実装を自動で実行する機能をも備えているため、開発者の負担や人為的ミスを削減することが可能となる。
This program management system automatically shifts the release management of programs that were previously done on a paper basis to a computer system that uses a database, and automatically implements development programs that were manually performed on the production machine. Since it also has a function to do so, it becomes possible to reduce the burden on the developer and human error.
しかしながら、この特許文献1のプログラム管理システムの場合、開発者が仮登録場所に保管したプログラムに対して、承認者が全ての試験が完了しているか否かをチェックし、承認者によって承認情報がシステムに入力された時点で物件管理機能がプログラムを本登録場所に自動的に移動させる仕組みであるため、本番リリースの時期を柔軟に制御できないという問題があった。 However, in the case of the program management system of Patent Document 1, the approver checks whether or not all tests have been completed for the program stored in the temporary registration place by the developer, and the approval information is provided by the approver. Since the property management function automatically moves the program to the main registration location when it is entered into the system, there is a problem that the time of the actual release cannot be controlled flexibly.
すなわち、顧客企業の都合により、リリース時期が二転三転することは希でなく、通常は開発者が窓口となって最終的なリリースのタイミングが調整される。このため、開発者としてはリリースの準備だけは事前に完了しておきつつも、最終的なリリースについては、自らの操作によって実現したいという希望がある。
上記のプログラム管理システムのように、承認者による承認情報が入力された時点で自動的にリリースされるというのでは、この開発者の希望を叶えることはできず、不便であった。
In other words, it is not uncommon for the release timing to change from time to time for the convenience of the client company, and the final release timing is usually adjusted by the developer as a contact. For this reason, the developer wants to realize the final release by his own operation, while only preparing for the release in advance.
Like the program management system described above, when the approval information by the approver is automatically released, it is inconvenient because the developer's hope cannot be fulfilled.
これに対し、承認者による承認が出た後、直ちにプログラムをリリースするのではなく、必要な時期が到来するまで仮登録場所に保管しておき、最終的なリリースは開発者に委ねるようにすると、今度はセキュリティ上の問題が懸念される。
すなわち、開発者は自由に仮登録場所にアクセスできるため、悪意の開発者によって仮登録場所に保管された承認済みのプログラムが不正なものに差し替えられた場合、これがそのまま本番環境に移されてしまう危険性が生じる。
On the other hand, instead of releasing the program immediately after approval by the approver, keep it in a temporary registration location until the required time arrives, and leave the final release to the developer. This time, there are concerns about security issues.
In other words, the developer can freely access the temporary registration location, so if an approved program stored in the temporary registration location is replaced by an unauthorized one by a malicious developer, it will be transferred to the production environment as it is. There is a danger.
例えば、ECサイトの会員による電子決済の都度、端額を開発者の口座に振り込ませるロジックを組み込んだ改竄モジュールを仮登録場所に保管した場合、当該ECサイトのサービスインと同時に改竄モジュールが起動し、不正送金が開始されることとなる。 For example, each time an electronic payment is made by a member of an EC site, if a falsification module that incorporates logic to transfer the amount of money to the developer's account is stored in a temporary registration location, the falsification module is activated at the same time as the service in the EC site Unauthorized remittance will be started.
昨今、いわゆる日本版SOX法の整備に伴い、企業の内部統制強化が求められており、システム開発者による不正を未然に防止できる仕組みをシステム的に担保しておくことの重要性が指摘され始めている。 In recent years, with the development of the so-called Japanese version of the SOX law, there has been a need for strengthening internal control of companies, and it has begun to point out the importance of ensuring a system that can prevent fraud by system developers. Yes.
この発明は、このような現状の課題を解決するために案出されたものであり、最終的なリリース操作を開発者自身に委ねながらも、悪意の開発者による不正リリースを有効に防止可能な管理システムを提供することを目的としている。 The present invention has been devised to solve such a current problem, and it is possible to effectively prevent unauthorized release by a malicious developer while entrusting the final release operation to the developer himself. The purpose is to provide a management system.
上記の目的を達成するため、請求項1に記載したプログラムリリース管理システムは、開発側領域及び本番側領域に区画された記憶装置と制御部を備えたネットワーク接続ストレージと、プログラムの開発者が操作する開発者端末と、プログラムの承認者が操作する承認者端末と、開発者及び承認者の属する部署とは独立した部署に属するライブラリアンが操作するライブラリアン端末と、上記開発者が操作するリリース端末と、開発済のプログラムがリリースされる本番機と、上記ライブラリアン端末からのコマンド入力に基づいて、上記開発側領域に格納された特定のプログラムファイルを本番側領域に転送させるためのコマンドを上記ネットワーク接続ストレージに発行する転送サーバと、上記リリース端末からのコマンド入力に基づいて、上記本番側領域に格納されたプログラムファイルを取得するためのコマンドを上記ネットワーク接続ストレージに発行すると共に、取得したプログラムファイルを上記本番機に転送するリリースサーバとから構成され、上記ネットワーク接続ストレージの制御部が、以下の(1)〜(3)の処理を実行することを特徴としている。
(1)上記開発者端末、承認者端末及び転送サーバからの、上記開発側領域へのアクセスを許可する。
(2)上記転送サーバからのコマンドを受けて、開発側領域に格納されたプログラムファイルを本番側領域に移動させる。
(3)上記リリースサーバからのコマンドを受けて、本番領域に格納されたプログラムファイルを当該リリースサーバに転送する。
In order to achieve the above object, a program release management system according to claim 1 includes a storage device partitioned by a development side area and a production side area, a network connection storage having a control unit, and a program developer operating the program release management system. The developer terminal to be operated, the approver terminal operated by the approver of the program, the librarian terminal operated by the librarian belonging to a department independent of the department to which the developer and the approver belong, and the release operated by the developer A command for transferring a specific program file stored in the development side area to the production side area based on a command input from the terminal, the production machine where the developed program is released, and the librarian terminal. Based on the transfer server issued to the network-attached storage and the command input from the release terminal And issuing a command for acquiring the program file stored in the production-side area to the network-connected storage, and a release server for transferring the acquired program file to the production machine, the network-connected storage The control unit performs the following processes (1) to (3).
(1) Permit access to the developer side area from the developer terminal, approver terminal and transfer server.
(2) In response to the command from the transfer server, the program file stored in the development area is moved to the production area.
(3) Upon receiving a command from the release server, the program file stored in the production area is transferred to the release server.
請求項2に記載したプログラムリリース管理システムは、請求項1に記載のシステムであって、さらに、上記ライブラリアン端末と転送サーバとの間に代理サーバが介装されており、ライブラリアン端末はこの代理サーバを介してコマンドを転送サーバに発行し、上記リリース端末とリリースサーバとの間にアクセス監視サーバが介装されており、リリース端末はこのアクセス監視サーバを介してコマンドをリリースサーバに発行し、上記代理サーバ及びアクセス監視サーバは、アクセスログを記録する機能を備えていることを特徴としている。 The program release management system according to claim 2 is the system according to claim 1, further comprising a proxy server interposed between the librarian terminal and the transfer server. A command is issued to the transfer server via the proxy server, and an access monitoring server is interposed between the release terminal and the release server. The release terminal issues a command to the release server via the access monitoring server. The proxy server and the access monitoring server have a function of recording an access log.
請求項3に記載したプログラムリリース管理システムは、請求項2に記載のシステムであって、さらに、相互に独立したネットワークセグメントとして、開発セグメント、本番アクセスセグメント、DMZセグメント、本番セグメントを少なくとも備えており、上記開発者端末、承認者端末及びライブラリアン端末は開発セグメントに属しており、上記リリース端末は本番アクセスセグメントに属しており、上記代理サーバ、転送サーバ、アクセス監視サーバはDMZセグメントに属しており、上記本番機及びリリースサーバは本番セグメントに属しており、上記ネットワーク接続ストレージの開発側領域は開発側セグメントに接続され、本番側領域はDMZセグメントに接続されており、上記リリース端末のアクセス先を上記アクセス監視サーバに限定する機能、このアクセス監視サーバのアクセス先を上記リリースサーバに限定する機能、上記ネットワーク接続ストレージの本番領域へのアクセス元を上記リリースサーバに限定する機能を果たすファイアウォールを備えたことを特徴としている。 The program release management system according to claim 3 is the system according to claim 2, and further includes at least a development segment, a production access segment, a DMZ segment, and a production segment as mutually independent network segments. The developer terminal, approver terminal, and librarian terminal belong to the development segment, the release terminal belongs to the production access segment, and the proxy server, transfer server, and access monitoring server belong to the DMZ segment. The production machine and release server belong to the production segment, the development side area of the network connection storage is connected to the development side segment, the production side area is connected to the DMZ segment, and the access destination of the release terminal is Access monitoring above A firewall that fulfills the function of limiting the access destination of the access monitoring server to the release server and the function of limiting the access source to the production area of the network-connected storage to the release server. It is a feature.
請求項4に記載したプログラムリリース管理システムは、開発側領域及び本番側領域に区画された記憶装置と制御部を備えたネットワーク接続ストレージと、プログラムの開発者が操作する開発者端末と、プログラムの承認者が操作する承認者端末と、上記開発者が操作するリリース端末と、開発済のプログラムがリリースされる本番機と、上記開発者端末から送信された申請データに含まれる対象プログラムの特定情報と、上記承認者端末から送信された承認データに含まれる対象プログラムの特定情報とを比較し、両者が一致する場合に対象プログラムを開発側領域から本番側領域に転送することを求めるコマンドを発行するコマンド発行サーバと、このコマンド発行サーバからのコマンドに基づいて、上記開発側領域に格納されたプログラムファイルを本番側領域に転送させるためのコマンドを上記ネットワーク接続ストレージに発行する転送サーバと、上記リリース端末からのコマンド入力に基づいて、上記本番側領域に格納されたプログラムファイルを取得するためのコマンドを上記ネットワーク接続ストレージに発行すると共に、取得したプログラムファイルを上記本番機に転送するリリースサーバとから構成され、上記ネットワーク接続ストレージの制御部が以下の(1)〜(3)の処理を実行することを特徴としている。
(1)上記開発者端末及び承認者端末からの、上記開発側領域へのアクセスを許可する。
(2)上記転送サーバからのコマンドを受けて、開発側領域に格納されたプログラムファイルを本番側領域に移動させる。
(3)上記リリースサーバからのコマンドを受けて、本番領域に格納されたプログラムファイルを当該リリースサーバに転送する。
According to a fourth aspect of the present invention, there is provided a program release management system comprising: a storage device partitioned in a development side area and a production side area; a network connection storage including a control unit; a developer terminal operated by a program developer; Approver terminal operated by the approver, release terminal operated by the developer, production machine from which the developed program is released, and target program specific information included in the application data transmitted from the developer terminal And the specific information of the target program included in the approval data sent from the above approver terminal, and if both match, issue a command to transfer the target program from the development side area to the production side area Based on the command issuing server to be executed and the command from this command issuing server, A transfer server that issues a command for transferring a ram file to the production-side area to the network-connected storage, and a program file stored in the production-side area based on a command input from the release terminal. It is composed of a release server that issues commands to the network-attached storage and transfers the acquired program file to the production machine, and the controller of the network-attached storage executes the following processes (1) to (3) It is characterized by doing.
(1) Permit access to the developer-side area from the developer terminal and approver terminal.
(2) In response to the command from the transfer server, the program file stored in the development area is moved to the production area.
(3) Upon receiving a command from the release server, the program file stored in the production area is transferred to the release server.
請求項1に記載したプログラムリリース管理システムによれば、転送サーバからのコマンドに基づいてネットワーク接続ストレージの開発側領域から本番側領域にプログラムファイルが移送された後は、リリースサーバからのコマンドに基づいて本番機に移送する場合を除き、当該プログラムファイルを操作することが一切禁じられるため、開発者はその内容を改竄することが不可能となる。
一方で、開発者はリリース端末からリリースサーバに対してコマンドを発行することにより、本番側領域に格納されたプログラムファイルを本番機に転送させることができるため、プログラムのリリース時期を開発者自らが制御可能となる。
According to the program release management system of the first aspect, after the program file is transferred from the development side area of the network-attached storage to the production side area based on the command from the transfer server, the program release management system is based on the command from the release server. Unless it is transferred to the production machine, it is forbidden to manipulate the program file at all, so the developer cannot tamper with the contents.
On the other hand, the developer can issue the command from the release terminal to the release server to transfer the program file stored in the production area to the production machine. Control becomes possible.
このシステムにおいて承認者は、承認者端末からネットワーク接続ストレージの開発側領域にアクセスし、開発済みのプログラムファイルに不正なロジックが混入されていないこと等を確認し、ライブラリアンにプログラムファイルの移送に関し承認を与える。この際、承認者はプログラムファイルのファイル名やファイルサイズ、タイムスタンプ等の特定情報をライブラリアンに伝達する。
これを受けたライブラリアンは転送サーバにアクセスし、開発側領域に格納されているプログラムファイルの一覧情報をライブラリアン端末のディスプレイ上でチェックし、ファイル名やファイルサイズ、タイムスタンプに基づいて承認の下りたプログラムファイルを特定し、その移送を求めるコマンドを発行する。
このように、承認者が開発側領域に格納されたプログラムファイルの特定情報をライブラリアンに伝達し、ライブラリアンがこの情報に基づいて転送対象となるプログラムファイルを選択することにより、承認者による承認直後から本番側領域への転送完了までの僅かな間に、開発側領域に格納されたプログラムファイルに対し、開発者がファイルサイズやタイムスタンプの変更を伴う改竄行為を行うことを牽制することができる。
In this system, the approver accesses the development side area of the network-attached storage from the approver terminal, confirms that no illegal logic is mixed in the developed program file, and transfers the program file to the librarian. Give approval. At this time, the approver transmits specific information such as the file name, file size, and time stamp of the program file to the librarian.
Upon receiving this, the librarian accesses the transfer server, checks the list of program files stored in the development area on the display of the librarian terminal, and approves based on the file name, file size, and timestamp. Specify the downloaded program file and issue a command to request its transfer.
In this way, the approver communicates the program file specific information stored in the development area to the librarian, and the librarian selects the program file to be transferred based on this information, so that the approver approves it. Immediately after the completion of the transfer to the production side area, it is possible to restrain the developer from falsifying the program file stored in the development side area with changing the file size and time stamp. it can.
請求項2に記載したプログラムリリース管理システムの場合、ライブラリアン端末と転送サーバ間のデータのやり取りが代理サーバに逐一記録され、またリリース端末とリリースサーバ間のデータのやり取りがアクセス監視サーバに逐一記録されるため、ライブラリアンや開発者による不正行為を抑止することが可能となる。 In the program release management system according to claim 2, data exchange between the librarian terminal and the transfer server is recorded in the proxy server one by one, and data exchange between the release terminal and the release server is recorded in the access monitoring server one by one. Therefore, it is possible to suppress fraud by librarians and developers.
請求項3に記載したプログラムリリース管理システムにあっては、開発セグメントと本番セグメントとの間に緩衝地帯として機能するDMZセグメントが設けられており、開発セグメント及び本番アクセスセグメントから本番セグメントに対する直接的なアクセスがファイアウォールによって規制されているため、本番機に対する不正行為をより有効に防止できる。 In the program release management system according to claim 3, a DMZ segment functioning as a buffer zone is provided between the development segment and the production segment, and the development segment and the production access segment directly connect to the production segment. Since access is regulated by a firewall, fraudulent acts on the production machine can be prevented more effectively.
請求項4に記載したプログラムリリース管理システムの場合、コマンド発行サーバが申請データと承認データを突き合わせ、両者が一致する場合にプログラムファイルの転送コマンドが転送サーバに対して自動的に発行される仕組みを備えているため、処理の効率化を実現することが可能となる。 In the case of the program release management system according to claim 4, the command issuing server matches the application data and the approval data, and when both match, the program file transfer command is automatically issued to the transfer server. Since it is provided, it becomes possible to realize the processing efficiency.
図1は、この発明に係るプログラムリリース管理システム10の全体構成を示すネットワーク構成図であり、開発者の操作する開発者端末12と、承認者の操作する承認者端末14と、ライブラリアンの操作するライブラリアン端末16と、開発者の操作するリリース端末18と、開発中のプログラムが実装される開発機20と、代理サーバ(プロキシサーバ)22と、転送サーバ24と、ネットワーク接続ストレージ(NAS)26と、アクセス監視サーバ28と、ファイアウォール30と、リリースサーバ32と、開発済のプログラムが実装される本番機34とを備えている。
FIG. 1 is a network configuration diagram showing the overall configuration of a program
上記のネットワーク接続ストレージ26は、制御部36と、開発側領域38と、本番側領域40とを備えている。制御部36は、ネットワーク接続ストレージ26のCPUが、ROMに格納されたOS及び制御プログラムに従って動作することにより、実現される。開発側領域38及び本番側領域40は、ネットワーク接続ストレージ26に搭載されたハードディスクよりなり、制御部36によって論理的に仕切られている。開発側領域38は、制御部36を介して開発セグメント42と接続されている。また、本番側領域40は、制御部36を介してDMZ(DeMilitarized Zone/非武装地帯)セグメント44に接続されている。
The
一般に、ネットワーク接続ストレージ(NAS)には、ネットワークケーブルの接続ポートが複数用意されている。通常は、耐障害性向上のため、同一セグメントに複数のネットワークケーブルを接続する冗長構成を取るのに用いられるものであるが、この実施形態においては、ネットワークケーブルの一方を開発セグメント42に、他方をDMZセグメント44に接続するよう工夫することにより、ネットワーク接続ストレージ26を上記の位置に容易に配置することに成功している。
Generally, a network connection storage (NAS) has a plurality of connection ports for network cables. Usually, in order to improve fault tolerance, it is used to take a redundant configuration in which a plurality of network cables are connected to the same segment. In this embodiment, one of the network cables is connected to the
上記の開発者端末12、承認者端末14、ライブラリアン端末16、及び開発機20は、開発セグメント42上に設置されている。
また、上記の代理サーバ22、転送サーバ24、アクセス監視サーバ28は、DMZセグメント44上に設置されている。
上記のリリース端末18は、本番アクセスセグメント48上に設置されている。
上記のリリースサーバ32及び本番機34は、本番セグメント51上に設置されている。
The
The
The
The
なお、アクセス監視サーバ28を上記のようにDMZセグメント44上に設置する代わりに、本番アクセスセグメント48とファイアウォール30との間の経路上(図中のαの位置)に設置してもよい。
Instead of installing the
プログラムの開発者は、開発者端末12を用いてプログラムのコーディングを行い、開発機20上で単体テストや結合テストを完了した後、プログラムのオブジェクトファイルをネットワーク接続ストレージ26の開発側領域38に格納する。
つぎに開発者は、直属の上司等である承認者に対して、開発済のプログラムファイルをネットワーク接続ストレージ26の開発側領域38に格納した事実を伝達する。
The program developer uses the
Next, the developer informs the approver who is a direct manager or the like that the developed program file is stored in the
これを受けた承認者は、承認者端末14からネットワーク接続ストレージ26にアクセスし、開発側領域38に格納された対応のプログラムファイルを読み出す。
つぎに承認者は、このプログラムファイルの中身をチェックし、仕様書通りの機能を備えていることや、規定のテスト項目を全てクリアしていること、不正なモジュールが含まれていないことを確認する。
この結果、問題がないと判断した承認者は、開発者に対して承認した旨を伝達する。
Upon receiving the request, the approver accesses the
Next, the approver checks the contents of this program file and confirms that it has the functions according to the specifications, that all specified test items have been cleared, and that no illegal modules are included. To do.
As a result, the approver who has determined that there is no problem notifies the developer of the approval.
これを受けた開発者は、上記プログラムを本番側領域40に転送することを求める申請書46を作成し、ライブラリアンに提出する。
ここでライブラリアンとは、開発者や承認者の属する部署からは完全に独立した第三者機関に属する専門職を意味している。
上記の申請書には、開発したプログラムファイルのファイル名、ファイルサイズ、格納場所(開発側領域38におけるディレクトリ)、タイムスタンプ(格納日時)等が記載されている。
Upon receiving the request, the developer creates an
Here, the librarian means a profession belonging to a third party that is completely independent from the department to which the developer or approver belongs.
In the above application form, the file name, file size, storage location (directory in the development area 38), time stamp (storage date and time), etc. of the developed program file are described.
これと前後して承認者も、上記プログラムの転送を認める承認書47を作成し、ライブラリアンに提出する。この承認書には、承認したプログラムファイルのファイル名、ファイルサイズ、格納場所(開発側領域におけるディレクトリ)、タイムスタンプ(格納日時)等が記載されている。
Before and after this, the approver also creates an
申請書と承認書を受け取ったライブラリアンは、両書類の記載内容を比較し、ファイル名、ファイルサイズ、格納場所、タイムスタンプが一致していることを確認した後、プログラムファイルの転送手続に移行する。
以下、図2のタイミングチャートに従い、このシステム10におけるプログラムファイルの転送手順を説明する。
The librarian who receives the application form and approval form compares the contents of both documents, confirms that the file name, file size, storage location, and time stamp match, and then proceeds to the program file transfer procedure. To do.
The program file transfer procedure in the
まずライブラリアンは、ライブラリアン端末16から代理サーバ22にアクセスし、転送依頼コマンドを発行する(S10)。この転送依頼コマンドには、ライブラリアン端末16のIPアドレス、転送対象となるプログラムファイルのファイル名、格納場所が含まれている。
First, the librarian accesses the
これを受けた代理サーバ22は、上記の転送依頼コマンドに含まれるIPアドレスが、予め設定されたライブラリアン端末16のIPアドレスと一致することをチェックした後(S12)、転送依頼コマンドを転送サーバ24に転送する(S14)。
この後、代理サーバ22はライブラリアン端末16との間におけるデータのやり取りを、ログファイルに記録する(S16)。
この代理サーバ22に対しては、ライブラリアン端末16のみが認証可能となり、開発者端末12及び承認者端末14からアクセスしても代理サーバ22によって認証不可と判定される。
Upon receiving this, the
Thereafter, the
Only the
上記の転送依頼コマンドを受け取った転送サーバ24は、転送依頼コマンドに含まれるIPアドレスが、予め設定された代理サーバ22のIPアドレスと一致することをチェックした後(S18)、転送依頼コマンドをネットワーク接続ストレージ26に発行する(S20)。
Upon receiving the transfer request command, the
これを受けたネットワーク接続ストレージ26の制御部36は、この転送コマンドに含まれるIPアドレスが、予め設定された転送サーバ24のIPアドレスと一致することをチェックした後(S22)、該当のプログラムファイルを開発側領域38から本番側領域40に転送する(S24)。
転送完了後、転送完了通知がネットワーク接続ストレージ26→転送サーバ24→代理サーバ22→ライブラリアン端末16へと送信される(S26、S28、S30)。
Receiving this, the
After the transfer is completed, a transfer completion notification is transmitted from the
この本番側領域40に一旦転送されたプログラムファイルに対しては、後述のようにリリースサーバ32からの転送コマンド以外は受け付けられず、開発者端末12や承認者端末14、ライブラリアン端末16からのアクセスは制御部36によって一切拒絶される。
このため、悪意の開発者がリリース前のプログラムファイルに不正なモジュールを組み込むことは、一切できない。
As will be described later, the program file once transferred to the
For this reason, a malicious developer cannot embed an unauthorized module in a program file before release.
なお、ライブラリアンが転送依頼コマンドを代理サーバ22経由で転送サーバ24に発行するに際しては、転送サーバ24から開発側領域38の特定のディレクトリに格納されたプログラムファイルの一覧情報が、代理サーバ22経由でライブラリアン端末16に送信される。
これに対しライブラリアンは、ディスプレイに表示されたプログラムファイルのリストを目視し、目的のプログラムファイルのタイムスタンプやファイルサイズが承認書47に記載されたものと一致するか否かを確認した上で、転送依頼コマンドを発行する。
この結果、承認者による承認直後から本番側領域40への転送完了までの僅かな間に、開発側領域38に格納されたプログラムファイルに対し、開発者がファイルサイズやタイムスタンプの変更を伴う改竄行為を行ったとしても、転送前にこれを検知することが可能となり、不正リリースを有効に防止できる。
When the librarian issues a transfer request command to the
The librarian, on the other hand, looks at the list of program files displayed on the display and confirms whether the time stamp and file size of the target program file match those described in the
As a result, immediately after approval by the approver and until transfer to the
つぎに、図3のタイミングチャートに従い、このシステム10におけるプログラムファイルのリリース手順を説明する。
Next, a procedure for releasing a program file in the
まず開発者は、ガラス張りのリリース端末室49に移動し、そこに設置されたリリース端末18からアクセス監視サーバ28にアクセスし、リリース依頼コマンドを発行する(S32)。
First, the developer moves to the glass-covered
これを受けたアクセス監視サーバ28は、リリース依頼コマンドに含まれるIPアドレスが予め設定されたリリース端末18のIPアドレスと一致することをチェックした後(S34)、リリース依頼コマンドをリリースサーバ32に転送する(S36)。
この後、アクセス監視サーバ28はリリース端末18との間におけるデータのやり取りを、ログファイルに記録する(S38)。
Receiving this, the
Thereafter, the
アクセス監視サーバ28からのリリース依頼コマンドを受けたリリースサーバ32は、リリース依頼コマンドに含まれるIPアドレスが、予め設定されたアクセス監視サーバ28のIPアドレスと一致することをチェックした後(S40)、該当のプログラムファイルの転送依頼をネットワーク接続ストレージ26に送信する(S42)。
Upon receiving the release request command from the
これを受けたネットワーク接続ストレージ26の制御部36は、プログラム転送依頼に含まれるIPアドレスが予め設定されたリリースサーバ32のIPアドレスと一致することをチェックした後(S44)、該当のプログラムファイルを本番側領域40から取り出し、リリースサーバ32に転送する(S46)。
In response to this, the
これを受けたリリースサーバ32は、本番機34の予め決められたディレクトリに、プログラムファイルを転送する(S48)。この結果、本番機34に対するプログラムファイルのリリースが完了する(S50)。
この後、リリースサーバ32からライブラリアンの電子メールアドレスに宛てて、リリース完了通知(電子メール)50が送信される。
Receiving this, the
Thereafter, a release completion notification (e-mail) 50 is transmitted from the
これを受けたライブラリアンは、自らが移送したプログラムファイルが本番機34に反映されたことを確認し、リリース管理全体を管理する。
また、リリース予定日になっても本番機34にリリースされない場合、開発者に状況を確認し、リリース延期や中止時には本番側領域40に移送したプログラムファイルを削除するコマンドを発行する。削除されたプログラムファイルを再度リリースしたい場合、開発者は申請書作成から手続きをやり直す。
Upon receiving this, the librarian confirms that the program file transferred by the librarian is reflected in the
If the release date is not released to the
ファイアウォール30のフィルタリング機能により、リリース端末18はアクセス監視サーバ28経由でのみ、リリースサーバ32にリリース依頼コマンドを送信でき、直接送ることはできない。
そして、アクセス監視サーバ28においてアクセスログが逐一記録されるため、悪意の開発者がリリース端末18を介して不正なプログラムを本番機34にリリースさせることは不可能となる。
Due to the filtering function of the
Since access logs are recorded one by one in the
上記においては、開発者から提出された申請書46の記載内容と、承認者から提出された承認書47の記載内容を、ライブラリアンが目視によって突き合わせ、内容(ファイル名、ファイルサイズ、タイムスタンプ)が完全に一致し、開発者による改竄がなされていないことを確認した上で、ライブラリアン端末16から代理サーバ22に対して転送依頼コマンドが発行される例を示したが、両書類の突き合わせ及び転送依頼コマンドの発行を自動化することもできる。
In the above, the librarian visually matches the description contents of the
図4は、この場合のシステム構成例を示すものであり、開発セグメント42上にコマンド発行サーバ52が設けられている以外、図1のシステム構成例と異ならない。
この場合、開発者は開発者端末12からコマンド発行サーバ52にネットワーク経由でアクセスし、申請データ54を送信する。この申請データ54には、少なくともプログラムのファイル名、タイムスタンプ、サイズが含まれている。また承認者は、承認者端末14からコマンド発行サーバ52にネットワーク経由でアクセスし、承認データ56を送信する。この承認データ56にも、プログラムのファイル名、タイムスタンプ、サイズが少なくとも含まれている。
FIG. 4 shows a system configuration example in this case, and is not different from the system configuration example of FIG. 1 except that a
In this case, the developer accesses the
以下、図5のフローチャートに従い、このコマンド発行サーバ52の処理手順を説明する。
まず、コマンド発行サーバ52は、開発者端末12からの申請データ54及び承認者端末14からの承認データ56を受信すると(S60、S62)、申請データと承認データを比較し(S64)、ファイル名、タイムスタンプ、サイズが一致している場合には(S66/Y)、コマンド発行の確認画面をライブラリアン端末16のディスプレイに表示させる(S70)。この確認画面には、図示は省略したが、申請データ54の記載内容と承認データ56の記載内容が列記されている。
The processing procedure of the
First, when receiving the
これに対し、ライブラリアンが画面上の確認ボタンをクリックすると(S72/Y)、コマンド発行サーバ52は転送依頼コマンドを代理サーバ22に対して発行する(S74)。
あとは、図2に示した手順に従い、目的のプログラムファイルがネットワーク接続ストレージ26の開発側領域38から本番側領域40に転送される。
On the other hand, when the librarian clicks the confirmation button on the screen (S72 / Y), the
After that, the target program file is transferred from the
申請データ54と承認データ56の内容が不一致の場合には(S66/N)、エラー画面がライブラリアン端末16のディスプレイに表示される(S68)。
このエラー画面においては、一致しないデータ項目がハイライト表示されており、ライブラリアンは開発者及び承認者に連絡を取り、該当箇所に関し事実関係を確認する。
If the contents of the
On this error screen, the data items that do not match are highlighted, and the librarian contacts the developer and approver to confirm the facts regarding the location.
なお、ファイル名、タイムスタンプ、サイズが一致している場合に、上記のようにコマンド発行の確認画面をライブラリアン端末16のディスプレイに表示させ、ライブラリアンによる確認入力を待つことなく、直ちに転送依頼コマンドを発行するようにコマンド発行サーバ52を制御してもよい。
If the file name, time stamp, and size match, the command issue confirmation screen is displayed on the display of the
10 プログラムリリース管理システム
12 開発者端末
14 承認者端末
16 ライブラリアン端末
18 リリース端末
20 開発機
22 代理サーバ
24 転送サーバ
26 ネットワーク接続ストレージ
28 アクセス監視サーバ
30 ファイアウォール
32 リリースサーバ
34 本番機
36 制御部
38 開発側領域
40 本番側領域
42 開発セグメント
44 DMZセグメント
46 申請書
47 承認書
48 本番アクセスセグメント
49 リリース端末室
51 本番セグメント
52 コマンド発行サーバ
54 申請データ
56 承認データ
10 Program release management system
12 Developer terminal
14 Approver terminal
16 Librarian terminal
18 Release terminal
20 Development machine
22 Proxy server
24 Transfer server
26 Network attached storage
28 Access monitoring server
30 Firewall
32 release server
34 Production machine
36 Control unit
38 Development side
40 Production area
42 Development segment
44 DMZ segment
46 Application Form
47 Approval Form
48 Production access segment
49 Release terminal room
51 Production segment
52 Command issuing server
54 Application data
56 Approval data
Claims (4)
プログラムの開発者が操作する開発者端末と、
プログラムの承認者が操作する承認者端末と、
開発者及び承認者の属する部署とは独立した部署に属するライブラリアンが操作するライブラリアン端末と、
上記開発者が操作するリリース端末と、
開発済のプログラムがリリースされる本番機と、
上記ライブラリアン端末からのコマンド入力に基づいて、上記開発側領域に格納された特定のプログラムファイルを本番側領域に転送させるためのコマンドを上記ネットワーク接続ストレージに発行する転送サーバと、
上記リリース端末からのコマンド入力に基づいて、上記本番側領域に格納されたプログラムファイルを取得するためのコマンドを上記ネットワーク接続ストレージに発行すると共に、取得したプログラムファイルを上記本番機に転送するリリースサーバとから構成され、
上記ネットワーク接続ストレージの制御部が、以下の(1)〜(3)の処理を実行することを特徴とするプログラムリリース管理システム。
(1)上記開発者端末、承認者端末及び転送サーバからの、上記開発側領域へのアクセスを許可する。
(2)上記転送サーバからのコマンドを受けて、開発側領域に格納されたプログラムファイルを本番側領域に移動させる。
(3)上記リリースサーバからのコマンドを受けて、本番領域に格納されたプログラムファイルを当該リリースサーバに転送する。 A network-attached storage with a storage device and a control unit partitioned into a development-side area and a production-side area;
A developer terminal operated by the program developer,
An approver terminal operated by the approver of the program,
A librarian terminal operated by a librarian belonging to a department independent of the department to which the developer and approver belong;
A release terminal operated by the developer,
The production machine where the developed program will be released,
A transfer server that issues a command for transferring a specific program file stored in the development-side area to the production-side area to the network-connected storage based on a command input from the librarian terminal;
A release server that issues a command for acquiring a program file stored in the production-side area to the network-connected storage based on a command input from the release terminal and transfers the acquired program file to the production machine And consists of
A program release management system, wherein the control unit of the network-attached storage executes the following processes (1) to (3).
(1) Permit access to the developer side area from the developer terminal, approver terminal and transfer server.
(2) In response to the command from the transfer server, the program file stored in the development area is moved to the production area.
(3) Upon receiving a command from the release server, the program file stored in the production area is transferred to the release server.
上記リリース端末とリリースサーバとの間にアクセス監視サーバが介装されており、リリース端末はこのアクセス監視サーバを介してコマンドをリリースサーバに発行し、
上記代理サーバ及びアクセス監視サーバは、アクセスログを記録する機能を備えていることを特徴とする請求項1に記載のプログラムリリース管理システム。 A proxy server is interposed between the librarian terminal and the transfer server, and the librarian terminal issues a command to the transfer server via the proxy server,
An access monitoring server is interposed between the release terminal and the release server, and the release terminal issues a command to the release server via the access monitoring server.
The program release management system according to claim 1, wherein the proxy server and the access monitoring server have a function of recording an access log.
上記開発者端末、承認者端末及びライブラリアン端末は開発セグメントに属しており、
上記リリース端末は本番アクセスセグメントに属しており、
上記代理サーバ、転送サーバ、アクセス監視サーバはDMZセグメントに属しており、
上記本番機及びリリースサーバは本番セグメントに属しており、
上記ネットワーク接続ストレージの開発側領域は開発側セグメントに接続され、本番側領域はDMZセグメントに接続されており、
上記リリース端末のアクセス先を上記アクセス監視サーバに限定する機能、このアクセス監視サーバのアクセス先を上記リリースサーバに限定する機能、上記ネットワーク接続ストレージの本番領域へのアクセス元を上記リリースサーバに限定する機能を果たすファイアウォールを備えたことを特徴とする請求項2に記載のプログラムリリース管理システム。 As a network segment independent from each other, it has at least a development segment, production access segment, DMZ segment, production segment,
The above developer terminal, approver terminal and librarian terminal belong to the development segment,
The above release terminal belongs to the production access segment,
The proxy server, transfer server, and access monitoring server belong to the DMZ segment.
The above production machine and release server belong to the production segment,
The development side area of the network attached storage is connected to the development side segment, and the production side area is connected to the DMZ segment.
A function for limiting the access destination of the release terminal to the access monitoring server, a function for limiting the access destination of the access monitoring server to the release server, and limiting an access source to the production area of the network-connected storage to the release server The program release management system according to claim 2, further comprising a firewall that performs a function.
プログラムの開発者が操作する開発者端末と、
プログラムの承認者が操作する承認者端末と、
上記開発者が操作するリリース端末と、
開発済のプログラムがリリースされる本番機と、
上記開発者端末から送信された申請データに含まれる対象プログラムの特定情報と、上記承認者端末から送信された承認データに含まれる対象プログラムの特定情報とを比較し、両者が一致する場合に対象プログラムを開発側領域から本番側領域に転送することを求めるコマンドを発行するコマンド発行サーバと、
このコマンド発行サーバからのコマンドに基づいて、上記開発側領域に格納されたプログラムファイルを本番側領域に転送させるためのコマンドを上記ネットワーク接続ストレージに発行する転送サーバと、
上記リリース端末からのコマンド入力に基づいて、上記本番側領域に格納されたプログラムファイルを取得するためのコマンドを上記ネットワーク接続ストレージに発行すると共に、取得したプログラムファイルを上記本番機に転送するリリースサーバとから構成され、
上記ネットワーク接続ストレージの制御部が以下の(1)〜(3)の処理を実行することを特徴とするプログラムリリース管理システム。
(1)上記開発者端末及び承認者端末からの、上記開発側領域へのアクセスを許可する。
(2)上記転送サーバからのコマンドを受けて、開発側領域に格納されたプログラムファイルを本番側領域に移動させる。
(3)上記リリースサーバからのコマンドを受けて、本番領域に格納されたプログラムファイルを当該リリースサーバに転送する。 A network-attached storage with a storage device and a control unit partitioned into a development-side area and a production-side area;
A developer terminal operated by the program developer,
An approver terminal operated by the approver of the program,
A release terminal operated by the developer,
The production machine where the developed program will be released,
The target program specific information included in the application data transmitted from the developer terminal is compared with the target program specific information included in the approval data transmitted from the approver terminal. A command issuing server that issues a command requesting transfer of the program from the development side area to the production side area;
Based on the command from this command issuing server, a transfer server that issues a command for transferring the program file stored in the development side area to the production side area to the network connection storage;
A release server that issues a command for acquiring a program file stored in the production-side area to the network-connected storage based on a command input from the release terminal and transfers the acquired program file to the production machine And consists of
A program release management system, wherein the control unit of the network-attached storage executes the following processes (1) to (3).
(1) Permit access to the developer-side area from the developer terminal and approver terminal.
(2) In response to the command from the transfer server, the program file stored in the development area is moved to the production area.
(3) Upon receiving a command from the release server, the program file stored in the production area is transferred to the release server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009206768A JP5253336B2 (en) | 2009-09-08 | 2009-09-08 | Program release management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009206768A JP5253336B2 (en) | 2009-09-08 | 2009-09-08 | Program release management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011059847A true JP2011059847A (en) | 2011-03-24 |
JP5253336B2 JP5253336B2 (en) | 2013-07-31 |
Family
ID=43947421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009206768A Expired - Fee Related JP5253336B2 (en) | 2009-09-08 | 2009-09-08 | Program release management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5253336B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7297200B2 (en) | 2019-06-17 | 2023-06-26 | 株式会社野村総合研究所 | System using blockchain |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0683606A (en) * | 1992-09-02 | 1994-03-25 | Sharp Corp | Control system for registration of source program |
JP2002287969A (en) * | 2001-03-28 | 2002-10-04 | Nec Soft Ltd | Program control system and method |
JP2009020624A (en) * | 2007-07-10 | 2009-01-29 | Canon Software Inc | Management server, control method therefor, program, and recording medium |
-
2009
- 2009-09-08 JP JP2009206768A patent/JP5253336B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0683606A (en) * | 1992-09-02 | 1994-03-25 | Sharp Corp | Control system for registration of source program |
JP2002287969A (en) * | 2001-03-28 | 2002-10-04 | Nec Soft Ltd | Program control system and method |
JP2009020624A (en) * | 2007-07-10 | 2009-01-29 | Canon Software Inc | Management server, control method therefor, program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP5253336B2 (en) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5294951B2 (en) | Image processing apparatus, bibliographic information server and control method thereof in pull print system | |
KR101621128B1 (en) | Data transit control between distributed systems in terms of security | |
CN106991035A (en) | A kind of Host Supervision System based on micro services framework | |
US20090033990A1 (en) | Printing apparatus and method of controlling printing | |
JP2004310420A (en) | Server for storing maintenance/diagnostic data, system for storing/acquiring maintenance/diagnostic data, and system for storing/presenting maintenance/diagnostic data | |
US20050160259A1 (en) | Digital certificate management system, apparatus and software program | |
JP6248641B2 (en) | Information processing system and authentication method | |
JP2007148854A (en) | Security printing system, security printing program, recording medium, and security printing method | |
CN102934101A (en) | Transparent access mechanism for local and remote data | |
JP2009258917A (en) | Proxy server, authentication server, and communication system | |
US8885197B2 (en) | Information processing system, image forming apparatus, management apparatus, information processing method, and storage medium for deleting or retreating image forming apparatus data | |
JP2014021726A (en) | Distribution device, image forming device, system, control method, and computer program | |
JP2009245268A (en) | Business management system | |
JP5253336B2 (en) | Program release management system | |
JP6989592B2 (en) | Computer system for generating authentication data | |
JP6351061B2 (en) | Management system, management method, program, and user terminal | |
JP2018120366A (en) | Time stamp management system, time stamp management method, and time stamp management program | |
JP4191239B2 (en) | Access authority control system | |
JP6942578B2 (en) | Management system and control method | |
JP5535998B2 (en) | Data management system and data management method | |
JPWO2002033543A1 (en) | Software rental system | |
EP3142320B1 (en) | Remote modification of a document database by a mobile telephone device | |
JP7346313B2 (en) | Database management systems, cloud provision systems, data replication systems, and programs | |
JP4787524B2 (en) | Content update system, content update method, update server, and content update program | |
JP2011070427A (en) | Security maintenance support system and information terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130327 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5253336 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160426 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |