OpenSSH의 우수 사례

OpenSSH를 (Secure Shell 열기)는 다음을 사용하여 네트워크를 통해 암호화 된 통신을 허용하는 응용 프로그램 집합입니다. 프로토콜 SSH. 프로그램에 대한 자유롭고 개방적인 대안으로 만들어졌습니다. 보안 쉘, 이는 독점 소프트웨어입니다. « 위키 백과.

일부 사용자는 모범 사례가 서버에만 적용되어야한다고 생각할 수 있지만 그렇지 않습니다. 많은 GNU / Linux 배포판에는 기본적으로 OpenSSH가 포함되어 있으며 몇 가지 유의해야 할 사항이 있습니다.

보안

SSH를 구성 할 때 염두에 두어야 할 6 가지 가장 중요한 사항은 다음과 같습니다.

  1. 강력한 암호를 사용하십시오.
  2. SSH의 기본 포트를 변경합니다.
  3. 항상 SSH 프로토콜 버전 2를 사용하십시오.
  4. 루트 액세스를 비활성화합니다.
  5. 사용자 액세스를 제한합니다.
  6. 키 인증을 사용하십시오.
  7. 기타 옵션

강력한 암호

좋은 비밀번호는 영숫자, 특수문자, 공백, 대문자, 소문자 등을 포함하는 비밀번호입니다. 여기에서 DesdeLinux 우리는 좋은 비밀번호를 생성하는 몇 가지 방법을 보여주었습니다. 방문 가능 이 문서는 y 이 다른.

기본 포트 변경

SSH의 기본 포트는 22입니다. 변경하려면 파일을 편집하기 만하면됩니다. / etc / ssh / sshd_config. 우리는 다음과 같은 줄을 찾습니다.

#Port 22

주석 처리를 해제하고 22를 다른 숫자로 변경합니다. 예를 들면 다음과 같습니다.

Port 7022

컴퓨터 / 서버에서 사용하지 않는 포트를 알기 위해 터미널에서 실행할 수 있습니다.

$ netstat -ntap

이제 컴퓨터 나 서버에 액세스하려면 다음과 같이 -p 옵션을 사용하여 수행해야합니다.

$ ssh -p 7022 usuario@servidor

프로토콜 2 사용

SSH 프로토콜의 버전 2를 사용하고 있는지 확인하려면 파일을 편집해야합니다. / etc / ssh / sshd_config 다음과 같은 줄을 찾으십시오.

# 프로토콜 2

주석 처리를 제거하고 SSH 서비스를 다시 시작합니다.

루트로 액세스를 허용하지 마십시오

루트 사용자가 SSH를 통해 원격으로 액세스 할 수 없도록하려면 파일을 살펴 봅니다./ etc / ssh / sshd_config 라인 :

#PermitRootLogin no

주석을 제거합니다. 이 작업을 수행하기 전에 사용자에게 관리 작업을 수행하는 데 필요한 권한이 있는지 확인해야합니다.

사용자의 액세스 제한

또한 신뢰할 수있는 특정 사용자에게만 SSH를 통한 액세스를 허용하는 것도 문제가되지 않으므로 파일로 돌아갑니다. / etc / ssh / sshd_config 다음 줄을 추가합니다.

AllowUsers elav usemoslinux kzkggaara

분명히 사용자 elav, usemoslinux 및 kzkggaara가 액세스 할 수있는 사용자입니다.

키 인증 사용

이 방법이 가장 권장되지만 암호를 입력하지 않고 서버에 액세스 할 수 있으므로 특별히주의해야합니다. 즉, 사용자가 세션에 들어가거나 컴퓨터가 도난 당하면 문제가 발생할 수 있습니다. 그러나 방법을 살펴 보겠습니다.

첫 번째는 한 쌍의 키 (공개 및 개인)를 만드는 것입니다.

ssh-keygen -t rsa -b 4096

그런 다음 키를 컴퓨터 / 서버에 전달합니다.

ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7

마지막으로 파일에서 주석을 제거해야합니다. / etc / ssh / sshd_config 라인 :

AuthorizedKeysFile .ssh/authorized_keys

기타 옵션

Yukiteru의 기여

사용자가 시스템에 성공적으로 로그인 할 수있는 대기 시간을 30 초로 줄일 수 있습니다.

LoginGraceTime 30

TCP 스푸핑을 통한 ssh 공격을 방지하고 ssh 측을 최대 3 분 동안 암호화 된 상태로 두려면이 3 가지 옵션을 활성화 할 수 있습니다.

TCPKeepAlive 없음 ClientAliveInterval 60 ClientAliveCountMax 3

보안상의 이유로 사용하지 않는 것이 권장되는 rhosts 또는 shosts 파일의 사용을 비활성화합니다.

IgnoreRhosts 예 IgnoreUserKnownHosts 예 RhostsAuthentication 아니요 RhostsRSAAuthentication 아니요

로그인하는 동안 사용자의 유효 권한을 확인하십시오.

StrictModes yes

권한 분리를 활성화합니다.

UsePrivilegeSeparation yes

결론 :

이러한 단계를 수행하여 컴퓨터와 서버에 보안을 추가 할 수 있지만 중요한 요소가 있다는 사실을 절대 잊지 말아야합니다. 의자와 키보드 사이에 뭐가 있지. 그래서 나는 독서를 추천한다 이 문서는.

출처 : 위조하는 방법


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   유키 테루

    @elav의 우수한 게시물과 몇 가지 흥미로운 것을 추가합니다.

    로그인그레이스타임 30

    이를 통해 사용자가 시스템에 성공적으로 로그인 할 수있는 대기 시간을 30 초로 줄일 수 있습니다.

    TCPKeepAlive 아니요
    ClientAliveInterval 60
    ClientAliveCountMax 3

    이 세 가지 옵션은 TCP 스푸핑을 통해 ssh 공격을 방지하는 데 매우 유용하며 암호화 된 ssh 측에서 최대 3 분 동안 활성 상태를 유지합니다.

    예 IgnoreRhosts
    IgnoreUserKnownHosts 예
    RhostsAuthentication 번호
    RhostsRSAAuthentication 아니오

    보안상의 이유로 사용하지 말 것을 권장하는 rhosts 또는 shosts 파일의 사용을 비활성화합니다.

    StrictModes 예

    이 옵션은 로그인 중에 사용자의 유효 권한을 확인하는 데 사용됩니다.

    UsePrivilegeSeparation 예

    권한 분리를 활성화합니다.

    1.    엘라 브

      글쎄요, 잠시 후 글을 수정해서 글에 추가하겠습니다 😀

  2.   Eugenio

    라인을 변경하지 않도록 주석 해제는 중복됩니다. 주석 처리 된 줄은 각 옵션의 기본값을 표시합니다 (파일 자체의 시작 부분에있는 설명을 참조하십시오). 루트 액세스는 기본적으로 비활성화되어 있습니다. 따라서 주석을 제거해도 전혀 효과가 없습니다.

    1.    엘라 브

      # 함께 제공되는 기본 sshd_config의 옵션에 사용되는 전략
      # OpenSSH는 기본값으로 옵션을 지정하는 것입니다.
      # 가능하지만 댓글을 남겨주세요. 주석 처리되지 않은 옵션은
      # 기본값.

      예,하지만 예를 들어 프로토콜 버전 2 만 사용하고 있다는 것을 어떻게 알 수 있습니까? 1과 2를 동시에 사용할 수 있기 때문입니다. 마지막 줄에서 말했듯이 예를 들어이 옵션의 주석 처리를 제거하면 기본 옵션을 덮어 씁니다. 기본적으로 버전 2를 사용하고 있다면 괜찮습니다. 그렇지 않다면 YES 또는 YES를 사용합니다 😀

      의견 주셔서 감사합니다

  3.   슬리

    아주 좋은 기사, 나는 몇 가지를 알고 있었지만 나에게 결코 명확하지 않은 한 가지는 키의 사용, 실제로 그것이 무엇이며 어떤 이점이 있는지, 키를 사용하면 암호를 사용할 수 있습니까 ??? 그렇다면 보안이 강화되는 이유는 무엇이며 그렇지 않은 경우 다른 PC에서 어떻게 액세스합니까?

  4.   아디 안

    인사말, 데비안 8.1을 설치했는데 WINSCP를 사용하여 Windows PC에서 데비안으로 연결할 수 없습니다. 프로토콜 1을 사용해야합니까? 어떤 도움이 .. 감사합니다
    아디 안

  5.   프랑사나브리아

    openssh에 대한이 비디오에 관심이있을 수 있습니다. https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   타일

    나는 여기에서 몇 가지를 시도하고 싶습니다. 몇 가지는 Arch Wiki 덕분에 이미 시도했으며 다른 것은 게으름이나 무지로 인해 시도했습니다. RPi를 시작할 때 저장합니다.