컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - CentOS를 예로 들어 SSH 보안 액세스 구성 방법을 요약합니다.

CentOS를 예로 들어 SSH 보안 액세스 구성 방법을 요약합니다.

비용을 절감하거나 성능을 향상시키기 위해 많은 사람들의 독립형 컴퓨터와 VPS는 관리되지 않는 베어 메탈을 기반으로 하며 모든 것을 스스로 DIY해야 합니다. 이때 보안 정책의 구현은 여전히 ​​중요합니다. 다음 기사에서는 CentOS를 예로 들어 SSH 보안 액세스를 구성하는 방법을 간략하게 요약하겠습니다. Linux SSH 보안 전략 1: 관련 없는 포트를 닫습니다. 네트워크에 있는 대부분의 손상된 호스트는 대규모 스캐닝을 수행하기 위해 스캐닝 도구를 사용하는 해커의 표적이 됩니다. 따라서 스캔을 피하기 위해서는 Web, FTP, SSH 등 꼭 필요한 포트를 제외하고 나머지는 모두 닫아야 합니다. ICMP 포트를 닫고 ICMP 패킷을 삭제하도록 규칙을 설정하는 것이 좋습니다. 이렇게 하면 다른 사람들이 귀하의 서버에 ping을 보낼 수 없으며 위협은 자연스럽게 절반으로 줄어듭니다. icmp 패킷을 삭제하려면 iptables에 다음을 추가합니다. -A INPUT -p icmp -j DROP Linux SSH 보안 정책 2: 기본 SSH 포트는 22입니다. 10,000 이상으로 변경하는 것이 좋습니다. 이런 방식으로 다른 사람이 포트를 스캔할 가능성이 크게 줄어듭니다. 수정 방법: # /etc/ssh/ssh_config 편집 vi /etc/ssh/ssh_config # Host * 아래에 새 Port 값을 추가합니다. 18439를 예로 들어 보겠습니다(아래 동일): Port 22 Port 18439 # /etc/ssh/sshd_config 편집 vi /etc/ssh/sshd_config # 새 포트 값 추가 Port 22 Port 18439 # 저장 후 SSH 서비스를 다시 시작합니다. service sshd 여기에서 다시 시작합니다. 주로 수정 오류로 인해 SSH에 로그인할 수 없는 것을 방지하기 위해 두 개의 포트를 설정했습니다. SSH 클라이언트(예: Putty)의 연결 포트를 변경하고 연결을 테스트합니다. 새 포트가 성공적으로 연결되면 위의 두 파일을 편집하고 포트 22의 구성을 삭제합니다. 연결에 실패하면 포트 22를 사용하여 연결한 후 재구성하세요. 포트가 성공적으로 설정되면 iptables에서 포트 22도 삭제하고 새로 구성된 18439를 추가한 후 iptables를 다시 시작해야 합니다. SSH 로그인 비밀번호가 취약한 경우 복잡한 비밀번호를 설정해야 합니다. 비밀번호 보안을 강조하는 기사가 Google 블로그에 있습니다. Linux SSH 보안 전략 3: 고정 IP로 서버에 연결할 수 있는 경우 비밀번호만 허용하도록 설정할 수 있습니다. 특정 IP 로그인 서버. 예를 들어, 저는 자체 VPN을 통해 서버에 로그인합니다. 설정은 다음과 같습니다: # /etc/hosts.allowvi /etc/hosts.allow# 편집 예를 들어 123.45.67.89만 sshd:123.45.67.89에 로그인하도록 허용됩니다. Linux SSH 보안 정책 4: 인증서를 사용하여 로그인 SSH로 로그인하기 위해 비밀번호를 사용하는 것에 비해 인증서를 사용하는 것이 더 안전합니다. Tap Water Makes Coffee는 자세한 튜토리얼을 작성했으며 그의 허가를 받아 다음과 같이 재현했습니다. CentOS에 대한 SSH 인증서 로그인 확인 구성 회사의 네트워크 관리자가 메일 서버인 CentOS 5.1을 원격으로 감지하고 원격 관리를 위해 OpenSSH를 사용할 수 있도록 지원합니다. . 보안 로그를 확인해 보니 지난 며칠 동안 거의 매일 수많은 IP들이 비밀번호를 추측하러 찾아온 것으로 나타났습니다. 로그인 인증 방식을 수정하여 인증서 인증으로 변경해야 할 것 같습니다. 혹시라도 구성을 끝내지 못해도 문제가 생기지 않도록 일시적으로 VNC를 시작하고 만족스러울 때 sshd를 다시 시작했습니다. (나중에 중복되는 것을 발견했습니다. 미리 퍼티를 열고 닫지 마십시오.) 다음은 간단한 단계입니다. 1) 먼저 유지 관리 계정을 추가합니다: msa2) 그런 다음 su - msa3) ssh-keygen -t rsa가 지정합니다. 키 경로와 비밀번호를 입력하면 /home/msa/.ssh/에 공개키와 개인키가 생성됩니다: id_rsa id_rsa.pub4) cat id_rsa.pub >>authorized_keys 이 파일이 생성되는 이유는 다음과 같습니다. sshd_config에 쓰여진 내용입니다. 그런 다음 chmod 400 authenticate_keys를 사용하여 약간 보호합니다.

5) psftp를 사용하여 id_rsa를 로컬로 다시 가져온 다음 서버에서 id_rsa 및 id_rsa.pub를 종료합니다. 6) /etc/ssh/sshd_configProtocol 2ServerKeyBits 1024PermitRootLogin no #그냥 루트 로그인을 금지합니다. .더 안전하게 만들기 위해 추가합니다. #다음 세 줄에는 변경할 내용이 없습니다. RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keysPasswordAuthentication noPermitEmptyPasswords no7) sshd/sbin/service sshd restart8) 인증서를 변환합니다. 포맷하고, putty를 수용하고, puttygen을 실행하고, id_rsa를 putty의 ppk 인증서 파일로 변환합니다. 9) 로그인하도록 putty를 구성합니다. 연결--SSH--Auth에서 찾아보기를 클릭하고 방금 변환한 인증서를 선택합니다. 그런 다음 연결 데이터에 자동 로그인 사용자 이름을 입력합니다. 예를 들어 세션에서 서버의 IP 주소를 입력합니다. 10) 약간의 문제를 해결하면 됩니다. 이 단계에 도달하면 헛된 일이 될 수 있습니다. 이때 신나게 로그인했지만 로그인하지 못할 수도 있습니다. 지원되는 인증 방법이 없습니다. 이때 sshd_config를 수정하고 PasswordAuthentication no를 임시로 변경할 수 있습니다. : PasswordAuthentication yes, sshd를 다시 시작하면 성공적으로 로그인할 수 있습니다. 로그아웃 후, PasswordAuthentication 값을 no로 변경하고 sshd를 다시 시작하면 됩니다. 앞으로 로그인할 때 정상적으로 키 파일의 비밀번호를 물어보게 되는데, 정답을 맞히시면 즐겁게 로그인하실 수 있습니다. psftp 명령의 경우 -i 매개변수를 추가하고 인증서 파일 경로를 지정하면 됩니다. 위 구성을 수정하기 위해 서버를 원격으로 운영하는 경우 모든 단계에서 주의를 기울이고 실수하지 않도록 주의하세요. 구성이 잘못되어 SSH 연결이 불가능할 경우 실패하게 됩니다. 기본적으로 위의 네 가지 사항에 따라 구성한 후에는 Linux에서의 SSH 액세스가 비교적 안전합니다.

上篇: JD.COM 쿠폰을 어떻게 사용합니까? 下篇: 호스트 TCP 는 어디에서 찾았습니까?
관련 내용