More

    CISCO 스위치 SSH 접속 및 포트변경방법

    보안을 위한 SSH 접속 및 22번 포트가 아닌 타 포트로 변경하는 방법입니다.

    여기에 ACL 까지 설정해주면 완벽하게 관리할 수 있습니다.

    대상장비 : CISCO C9300-24P

    소프트웨어 버전 : CAT9K_ISOXE 17.05.01

    1. HOST명 설정

    SWITCH> enable
    SWITCH#
    SWITCH(config)# hostname ITGOIT
    ITGOIT(config)#

    2. 도메인 네임 설정

    RSA 키 생성 전 도메인 네임을 설정해야 RSA키를 설정할 수 있습니다.

    ITGOIT(config)# ip domain name itgoit.com                // 도메인 네임으로 사용할 도메인 지정
    ITGOIT(config)#

    3. RSA 키 생성하기

    ※ Privilege, Global 모두 가능
    
    ITGOIT# crypto ket generate rsa                                                 // SSH의 RSA 키 생
    The name for the keys will be : ITGOIT.itgoit.com                               // 호스트네임.도메인
    (기 설정 시)         % You already have RSA keys defined named ITGOIT.itgoit.com
    (기 설정분이 있을 시) % Do you really want to replace them? [yes/no]: y          // yes를 눌러 설정 변경
    Choose the sizq of the key modulus in the range of 512 to 4096 for your
      General Purpose Keys. Choosing a key modulus greater than 512 may take
      a few minutes.
    
    How many bits in the modulus [1024]: 1024                                       // CISCO 권고사항인 RSA 키값을 1024비트로 설
    # Generating crypto RSA keys in background ...
    
    ITGOIT#

    암호 설정 방법


    4. 계정 생성

    장비에 콘솔 및 원격 접속을 위한 계정을 생성합니다.

    혹시 모를 사태를 대비하여 저는 항상 2개의 계정을 생성합니다.

    계정 생성 시 password-encryption을 하지 않는다면 secret을 사용하여 암호를 만들어줍니다.

    password를 사용하여 show run 시 비밀번호가 그대로 노출되니 꼭 secret으로 생성 혹은 password 사용 후 encryption 해주시기 바랍니다.

    ※ enable password 와 enable secret를 동시에 설정할 경우 secret가 우선 적용됨

    ITGOIT(config)# username user1 secret itgo!t00                 // ID : user1  P/W : itgo!t00  계정 생성
    ITGOIT(config)# username user2 secret itgo!t00                 // ID : user2  P/W : itgo!t00  계정 생성
    ITGOIT(config)# enable secret itgo!t00                         // 관리자 모드 (Privilege mode) 진입 비밀번호 설정
    ITGOIT(config)#

    5. ACL 설정 및 포트 설정

    ITGOIT(config)# ip ssh port 2200 rotary 1                           // ssh 포트번호를 rotary 그룹 1에 설정
    ITGOIT(config)# ip access-list extended ssh                         // 확장형 ACL 생성 ssh (이름은 원하는 이름 가능)
    ITGOIT(config-ext-nacl)# permit tcp host 10.10.10.20 any eq 2200    // 10.10.10.20 host에서 2200번 포트만 접속 허용
    ITGOIT(config-ext-nacl)# deny ip any any                            // 위 허용된 정보 외 모든 IP 차단
    ITGOIT(config-ext-nacl)# exit
    ITGOIT(config)# 

    6. 추가 보안설정

    ITGOIT(config)# ip ssh version 2                              // SSH 버전 설정 (CISCO 권고사항인 V2 설정)
    ITGOIT(config)# ip ssh time-out 120                           // SSH 접속 후 120초 동안 움직임이 없으면 접속 종료. 30초~120초 설정 가능
    ITGOIT(config)# ip ssh authentication-retries 5
    ITGOIT(config)#

    7. 장비 접속 설정

    line은 장비와 PC 혹은 노트북이 연결된 선이라고 생각하면 됩니다.

    콘솔의 경우 콘솔 케이블로 직접 연결되며, vty의 경우 Virtual Teminal로 주로 외부에서 많이 접속합니다.

    항상 host의 경로를 잘 확인해야 한다. interface, line 등 host 상세경로가 표시되지 않으니 유의하며 설정하세요.

    1) 콘솔 접속 설정
    ITGOIT(config)# line console 0                                // 콘솔 0번 설정
    ITGOIT(config-line)# login local                              // 내부 계정으로 접속. 이 부분이 누락되면 위 계정으로 로그인 안됩니다.
    ITGOIT(config-line)# exec-timeout 5                           // SSH 접속 후 120초 동안 움직임이 없으면 접속 종료. 0-35791분
    ITGOIT(config-line)#
    2) 터미널 접속 설정
    ITGOIT(config)# line vty 0 4                                       // 원격접속용 터미널 0~4번 설정
    ITGOIT(config-line)# rotary 1                                      // 위에 설정해놓은 2200번 포트 rotary 1 적용 (누락 시 2200번 포트 접속 안됨)
    ITGOIT(config-line)# access-class ssh in                           // 생성된 확장형 ACL 이름 ssh의 정책을 적용
    ITGOIT(config-line)# exec-timeout 5                                // SSH 접속 후 120초 동안 움직임이 없으면 접속 종료. 0-35791분
    ITGOIT(config-line)# login local                                   // 내부 계정으로 접속. 이 부분이 누락되면 위 계정으로 로그인 안됩니다.
    ITGOIT(config-line)# transport input ssh                           // 장비 접속 시 SSH로만 접속 허용
                                                                          다중 설정 가능 - all: All, none: No, ssh: TCP/IP SSH, telnet: TCP/IP telnet
    ITGOIT(config)#
    3) 접속 테스트 진행
    22번 포트 접속 시도
    PuTTY
    Network error: Connection refused                                        // PuTTY를 이용하여 22번 포트로 접속 시 접속거부
    SecureCRT
    The remote system refused the connection.                                // SecureCRT를 이용하여 22번 포트로 접속 시 접속거부
    
    변경한 2200번 포트 접속 시도                                               // ssh 2200번 포트를 사용하여 접속
    Username: user1
    Password: itgo!t00
    ITGOIT> enable
    Password: itgo!t00
    ITGOIT#
    
    특정 호스트만 접속 부분을 제거하려면 ACL 설정에서 특정 host를 any로 변경하면 됨
    ITGOIT(config-ext-nacl)# permit any any eq 2200                           // 2200번 포트만 접속 허용

    WR. 잊지 말자 저장

    ITGOIT(config)# exit
    ITGOIT# write memory
    Building configuration...
    [OK]
    ITGOIT#

    Subscribe

    댓글 남기기