오늘은 신규 프로젝트에 투입되어 펌뱅킹(Firm Banking) 시스템을 처음부터 새로 구축해야 하는 상황일때 무엇을 해야 하는지 정리해보려고 합니다. 개발 착수 전에 처리해야 할 행정적인 준비 작업이 생각보다 많은데, 이 순서를 제대로 안 잡아두면 나중에 개발은 다 됐는데 방화벽이 안 열려서, 혹은 계좌 정리가 덜 끝나서 테스트 자체를 못 하는 상황이 벌어집니다.
이번 글에서는 펌뱅킹 신규 구축 프로젝트에서 개발 착수 전까지 해둬야 하는 준비 작업을, 실제로 진행했던 순서 그대로 정리해봤습니다. 계좌정리부터 시작해서 업체코드 등록, 네트워크(방화벽) 신청, 각종 계정 신청까지가 이번 편의 범위이고, 통신모듈(CF_Communication) 세팅처럼 본격적인 기술 작업은 펌뱅킹 데몬 통신모듈 세팅 편에서 다룰 예정입니다.
왜 계좌정리부터 시작해야 할까
펌뱅킹 구축이라고 하면 다들 통신모듈이나 인터페이스 개발부터 떠올립니다. 그런데 실제로는 계좌 정리를 먼저 해야 합니다. 이유는 간단합니다. 어떤 계좌를 어떤 서비스로 쓸지가 정해져야, 그 계좌에 맞는 은행 업체코드를 발급받고 약정을 맺을 수 있고, 그래야 다음 단계인 Van사 업체코드 등록으로 넘어갈 수 있기 때문입니다.
계좌정리 단계에서는 고객사 자금운영팀으로부터 요청하여 목록을 받되, 관련하여 기준을 잡고 정리를 해야 합니다. 이게 지급용인지, 수금용인지 등을 말이죠. 그리고 계좌별로 사용하고자 하는 펌뱅킹 서비스를 표기하도록 하여, 서비스 신청을 위한 사전 확인 작업을 진행해야 합니다.
여기서 대부분 놓치는 부분이 하나 있는데요. 계좌정리가 끝났다고 바로 개발로 넘어가면 안 됩니다. 정리된 계좌로 실제 어떤 서비스(입금조회, 자동이체, 급여이체 등)를 이용할지 최종 확정하는 이용서비스정리 단계를 한 번 더 거쳐야 합니다. 이 순서를 건너뛰고 은행 공문부터 보내면, 공문을 다시 보내야 하는 불상사가 생길 수 있습니다.
계좌정리 → 이용서비스정리, 이 두 단계는 반드시 순서대로 진행해야 합니다. 급하다고 이용서비스정리를 건너뛰면 은행 공문을 다시 보내는 상황이 생깁니다.
계좌 정리의 예시
이용서비스정리까지 끝내야 그제야 은행 쪽에 공문을 보낼 수 있습니다. 펌뱅킹 약정이 필요한 은행에 약정 공문과, 신규 ERP 테스트를 위한 테스트 공문을 함께 요청해야 합니다.
은행 공문을 보낸 다음, Van사 업체코드 등록
은행 공문은 자금운영팀에 요청하여 보내달라고 해야 합니다. 펌뱅킹을 사용하고자 하는 은행에 공문 전송이 끝나면, 그 다음 순서로 Van사(예: LG CNS)에 업체코드 등록을 요청해야 합니다. 여기서 포인트는 테스트 업체코드와 운영 업체코드를 둘 다 요청해야 한다는 것입니다. 테스트 업체코드 없이 개발을 진행하면 나중에 통합테스트 단계에서 또 한 번 밴사 쪽 등록 절차를 밟느라 일정이 밀릴 수 있습니다.
은행의 현업담당자가 현업에서 전달한 공문 내용을 확인하고, 현재 프로젝트를 수행하는 TR 컨설턴트에게 내용을 확인하는 연락을 합니다. 그리고 내용이 확인되면 우리FIS 같은 전산팀에 내용을 전달하여 업체코드 등의 생성을 요청하게 되지요.
업체코드는 은행전산팀에서 발급하여 현업에게 전달해주면, 현업이 프로젝트 수행 TR 컨설턴트에게 다시 전달해주는 흐름입니다.
업체코드는 이후 통신모듈 설정(CF_Communication.xml)에서도 계속 참조하게 되는 값이라, 이 시점에 정확하게 확정해두는 것이 중요합니다. 이 부분은 나중에 펌뱅킹 데몬 통신모듈 설정 편에서 더 자세히 다뤄보겠습니다.
네트워크 준비 — 방화벽 신청이 생각보다 많습니다
여기서부터가 사실 제일 시간을 많이 잡아먹는 구간입니다. 그룹사 환경에서 펌뱅킹을 구축하면 방화벽 신청 건이 최소 세 개는 나옵니다.
먼저 VAN사 방화벽 등록 신청서를 작성해야 합니다. 이건 EFT(리얼타임)와 BATCH 두 종류를 각각 따로 작성해야 합니다. 신규 서버가 업체코드별로 붙기 때문에, 담당자도 리얼타임 쪽과 배치 쪽이 나뉘어 있었습니다. 이번 프로젝트에서는 리얼타임은 담당자 A, 배치는 담당자 B가 각각 맡았습니다.
두 번째는 ERP와 그룹망 사이, 그리고 그룹망과 VAN사 간 구간방화벽을 여는 신청입니다. 전자결재로 진행하는데, 이게 승인 라인을 타는 데 시간이 걸리는 편이라 최대한 일찍 올려두는 것이 좋습니다.
세 번째는 펌뱅킹 Config 설정을 위해 컨설턴트가 펌뱅킹 통신모듈이 설정된 서버에 접근할 수 있는 권한을 여는 방화벽 신청입니다. 이것도 전자결재 건이고, 22번 포트와 80XX번 포트를 열어달라고 명시해서 신청해야 합니다.
이 부분이 처리가 안 되면 OS 내 계정으로 접근을 못해서 펌뱅킹 통신모듈의 Configuration 설정 자체가 어려워집니다. 반드시 함께 신청해야 하는 부분입니다.
방화벽 신청 세 건 — LG CNS 등록, ERP↔그룹망 구간, Config용 개발서버 접근 — 은 성격이 다 다릅니다. 하나로 퉁치려고 하면 담당 부서가 달라서 반려당하기 십상입니다. 처음부터 세 건으로 나눠서 각각 올리는 것을 추천드립니다.
네 번째로, 세 번째 요청인 컨설턴트 → 펌뱅킹 통신모듈이 설정된 서버 접근 방화벽이 통과되면, 서버 접근을 위한 ACL 등록을 담당자에게 한 번 더 요청해야 합니다.
ACL이 막혀 있으면 어떤 증상이 나타날까
서버에서 말하는 ACL(Access Control List, 접근 제어 목록)은 쉽게 말하면 “누가 이 서버의 어떤 자원에 어떤 방식으로 접근할 수 있는지 정해 놓은 허용/차단 규칙표”입니다.
혹시 이런 증상 보신 분 계신가요? ACL이 차단되어 있으면 보통 다음과 같은 현상이 나타납니다.
telnet IP PORT 접속 실패
Connection timed out
Connection refused
SAP RFC/JCo 통신 실패
Socket connection 오류
java.net.SocketTimeoutException
Socket closed
ACL이 등록되지 않은 경우, 해당 계정으로 접속을 시도하면 Access Denied가 발생합니다.
ACL이 등록이 안되면 Access denied 처리가 된다.
다만 여기서 하나 짚고 넘어가야 할 게 있는데요, Connection refused는 ACL 차단보다는 대상 서버에서 해당 포트를 Listen하지 않는 경우가 많고, Connection timed out은 ACL/방화벽/라우팅 차단 가능성이 상대적으로 높습니다. 이 둘을 구분해서 봐야 원인 파악이 빨라집니다.
계정신청 — 어디에 뭘 요청해야 하나
방화벽까지 정리되면 이제 각종 계정을 신청해야 합니다. 신청 대상과 요청처가 계정마다 다 다르기 때문에, 정리해두지 않으면 나중에 이걸 누구한테 요청했었는지 헷갈리는 순간이 옵니다.
신청 항목
요청처
비고
Telnet Firmbank 계정
BC
예: firmbank / {password} (실제 비밀번호는 별도 관리)
RFC용 SAP 계정
BC
파일 생성, 읽기, 복사 등 모든 권한 필요
통신모듈 CF_Communication 계정 (원화/외화/배치)
Van사
원화, 외화, 배치용을 각각 나눠서 신청
Van Site 개발/운영 계정
Van사
개발계정, 운영계정 각각 신청
이 중에서 특히 RFC용 SAP 계정은 권한을 넉넉하게 받아두는 것이 좋습니다. 파일 생성·읽기·복사 권한이 부족하면 통신모듈이 전문(電文) 파일을 못 읽어서, 나중에 원인 파악하느라 애먹을 수 있습니다.
여기까지가 준비 단계입니다
정리하면 이렇습니다. 계좌정리 → 이용서비스정리 → 은행 공문 전송 → Van사 업체코드 등록 요청 → 방화벽 신청(LG CNS, ERP↔그룹망, Config 개발서버 접근) → 각종 계정신청.
이 순서를 지키지 않으면 뒷단에서 병목이 생길 수 있습니다. 특히 은행 공문과 방화벽은 승인까지 시간이 걸리는 항목이라, 개발 일정이 촉박하다면 이 부분부터 최대한 앞당겨서 진행하는 것을 권해드립니다.
다음 편에서는 실제로 펌뱅킹 데몬을 세팅하는 과정 — CF_jcopool_property.xml, CF_Accept.xml, CF_Communication.xml 설정부터 ZF_RFC_SEND, ZF_RFC_RECV 같은 RFC 함수 세팅, 서버 기본 셋팅까지 — 다룰 예정입니다. 펌뱅킹 통신모듈 세팅 편에서 이어가겠습니다.