SSH 보안 · 3 min read · Jan 18, 2026

WiKID 이중 인증으로 SSH 배포 보안 강화

WiKID 이중 인증으로 SSH 배포 보안 강화

SSH는 서버의 원격 관리에 대해 매우 안전한 채널을 제공합니다. 그러나 Visa/Mastercard PCI와 같은 규제 또는 비즈니스 요구 사항에 대한 감사에 직면할 경우, 감사에서 문제를 일으킬 수 있는 몇 가지 잠재적인 인증 관련 단점을 인식해야 합니다. 예를 들어:

  • 어떤 사용자가 공개 키 승인을 가지고 있는지 제어할 방법이 없습니다.
  • 비밀번호 복잡성을 강제할 방법이 없습니다(또는 비밀번호가 사용되고 있는지 확신할 수 없습니다).
  • 공개 키를 만료시킬 방법이 없습니다.

이 문서에서는 WiKID의 이중 인증을 SSH 게이트웨이 서버와 호스팅된 개인 키와 결합하여 매우 안전하고 감사 가능하며 사용하기 쉬운 원격 액세스 솔루션을 만드는 방법을 보여줍니다. WiKID 강력 인증 시스템은 상업적/오픈 소스 이중 인증 솔루션입니다. 먼저 WiKID 서버에 도메인을 구성한 다음, 서버를 WiKID 서버의 네트워크 클라이언트로 추가하고, 마지막으로 게이트웨이 박스와 대상 서버를 구성합니다 - 이 경우 Fedora Core 6 서버입니다.

WiKID 서버에 도메인 추가하기

Createdomain.jpg

네트워크 클라이언트 생성하기

도메인 정보를 저장한 후, Network Client 탭을 클릭하고 Create New Network Client를 클릭합니다. 이 클라이언트의 이름과 내부 네트워크의 SSH 게이트웨이 IP 주소를 입력합니다. 프로토콜로 Radius를 선택하고 위에서 생성한 도메인을 선택합니다.

Createnetworkclient.jpg

클릭

Add

다음 페이지로 이동하고 Radius의 공유 비밀을 입력합니다.

Createnetworkclient2.jpg

네트워크의 각 서버에 대해 이 프로세스를 반복해야 합니다.

SSH 게이트웨이 구성하기

이제 중앙 SSH 게이트웨이를 구성합니다. 이 리눅스 박스는 농장의 모든 프로덕션 서버에 대한 게이트웨이/프록시입니다. 불필요한 소프트웨어나 서비스가 실행되지 않도록 철저히 잠가야 합니다. 외부 연결을 위한 외부 인터페이스와 내부 연결을 위한 내부 인터페이스가 있어야 합니다. 먼저, SSH 사용자의 강력한 인증을 위해 WiKID를 사용하도록 게이트웨이 박스를 구성합니다. /etc/pam.d/sshd 파일을 다음과 같이 편집합니다:

#%PAM-1.0   
auth       sufficient   /lib/security/pam_radius_auth.so   
auth       include      system-auth   
account    required     pam_nologin.so   
account    include      system-auth   
password   include      system-auth   
session    include      system-auth   
session    required     pam_loginuid.so 

WiKID 서버를 /etc/raddb/server 파일에 추가하고, WiKID 서버의 내부 IP 주소와 네트워크 클라이언트 생성 페이지에 입력한 공유 비밀을 사용합니다:

# server[:port] shared_secret      timeout (s)   
127.0.0.1       secret             1   
xxx.xxx.xxx.xx  wikidserver_secret 3 

SSH 구성에 보안을 추가합시다. /etc/ssh/sshd_config(근처의 ssh_config 파일이 아님)를 열고 다음 구성 옵션을 추가합니다:

#Protocol 2,1   
#Check that only protocol 2 is allowed:   
Protocol 2   
#Disallow root login:   
PermitRootLogin no   
#Disallow accounts without passwords:   
PermitEmptyPasswords no 

포트를 변경하고 싶다면 변경할 수 있습니다. 공격자를 막지는 못하지만 스크립트 키디로 인해 발생하는 로그 이벤트를 줄일 수 있습니다. 이 게이트웨이 박스는 이제 SSH 인증을 위해 WiKID 일회용 비밀번호를 사용하도록 설정되었습니다. 모든 사용자는 WiKID 서버에 등록되어야 하며, 누구도 root로 로그인할 수 없습니다. 이 박스를 떠나기 전에 조금 다른 작업을 수행할 것입니다 - 사용자가 게이트웨이에서 RSA 개인 키를 생성하도록 하겠습니다. 각 사용자가 WiKID로 박스에 로그인하면 키를 생성하도록 합니다:

ssh-keygen -t rsa

제 생각에는 이러한 키에 대한 비밀번호는 중복적입니다. 이들은 서버 농장에 대한 단일 로그인 기능을 생성하기 위해 존재합니다. 분명히, 사용자가 다른 키에 접근할 수 없도록 주의해야 합니다.

대상 서버 구성하기

명백히, 우리는 이러한 서버가 게이트웨이에서 오는 SSH 요청만 수락하도록 구성합니다. 우리는 내부 주소에 대해 포트 22의 접근을 제한하여 이를 수행합니다. /etc/sysconfig/iptables를 편집하고 포트 22에 대한 SSH의 줄을 추가하거나 편집합니다:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT 

아마도 공개 키 인증을 허용하는 sshd_config의 표준 설정을 사용할 수 있을 것입니다. 그래서, 우리는 완료되었습니다!

결론

원격 SSH는 이제 매우 안전합니다. 어떤 사용자도 WiKID 서버에서 일회용 비밀번호를 받지 않고는 서버 농장에 접근할 수 없습니다. 인증의 두 가지 요소는 WiKID 토큰(및 그 암호화 키)의 소유와 PIN에 대한 지식입니다. PIN이 WiKID 서버에서 검증되므로 사용자를 비활성화하는 것이 매우 쉽습니다. 모든 것이 기록되며, 어떤 감사자도 매우 만족할 것입니다.

추가로, 내부 머신에서 root 접근을 위해 WiKID 일회용 비밀번호를 요구할 수 있습니다. su에 대한 새로운 도메인을 생성하고 /etc/pam.d/su를 적절하게 편집하면 됩니다. 이렇게 하면 서버를 관리하기 위해 서로 다른 그룹으로 나눌 수 있습니다. 예를 들어, 특정 관리자만 root 접근 권한이 있는 HR용 서버 세트가 있다면, 특정 WiKID 도메인에 대해 구성할 수 있습니다 - 세밀한 접근 제어와 강력한 인증을 허용합니다. WiKID 웹사이트에서 이중 인증에 대한 더 많은 정보를 얻으십시오.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.