SSH 보안을 개선하기위한 흥미로운 팁

이번에는 짧고 간단한 팁 개선하는 데 도움이됩니다. 보안 원격 연결 중 SSH.


SSH 연결을 처리하기 위해 GNU / Linux 시스템에서 제공하는 패키지 인 OpenSSH에는 다양한 옵션이 있습니다. 책 읽기 SSH 보안 쉘 그리고 man 페이지에서 나는 SSH 클라이언트가 / etc / ssh 디렉토리에서 기본적으로 발견되는 것과 다른 구성 파일을 사용하도록 지시하는 -F 옵션을 찾았습니다.

이 옵션을 어떻게 사용합니까?

다음과 같이 :

ssh -F / path / to_your / config / file user @ ip / host

예를 들어 데스크톱에 my_config라는 사용자 지정 구성 파일이 있고 사용자 Carlos를 IP 192.168.1.258로 컴퓨터에 연결하려는 경우 다음과 같은 명령을 사용합니다.

ssh -F ~ / 데스크탑 / my_config carlos@192.168.1.258

연결 보안에 어떻게 도움이됩니까?

시스템 내부에있는 공격자는 관리자 권한이없는 경우 즉시 관리자 권한을 얻으려고 시도하므로 ssh를 실행하여 네트워크의 나머지 시스템에 연결하는 것이 매우 쉽습니다. 이를 방지하기 위해 / etc / ssh / ssh_config 파일을 잘못된 값으로 구성 할 수 있으며 SSH를 통해 연결하려는 경우 우리 만 알고있는 위치에 저장 한 구성 파일을 사용합니다. 저장 장치), 그것은 우리가 어둠 속에서 보안을 가질 것이라고 말합니다. 이런 식으로 공격자는 SSH를 사용하여 연결할 수없고 기본 구성 파일에 지정된 내용에 따라 연결을 시도한다는 사실을 알고 당혹스러워서 무슨 일이 일어나고 있는지 파악하기 어려울 것입니다. 일을 많이 복잡하게 만들 것입니다.

이것은 SSH 서버의 수신 포트 변경, SSH1 비활성화, 서버에 연결할 수있는 사용자 지정, 서버에 연결할 수있는 IP 또는 IP 범위 및 우리가 찾을 수있는 기타 팁을 명시 적으로 허용하기 위해 추가되었습니다. http://www.techtear.com/2007/04/08/trucos-y-consejos-para-asegurar-ssh-en-linux 이를 통해 SSH 연결의 보안을 강화할 수 있습니다.

위에서 설명한 모든 작업을 한 줄로 수행 할 수 있습니다. 내 취향에 따라 SSH를 통해 원격 PC에 로그인하려고 할 때마다 여러 옵션이있는 큰 줄을 작성해야하는 것은 매우 지루할 것입니다. 예를 들어 다음은 제가 말하는 샘플입니다.

ssh -p 1056 -c 복어 -C -l carlos -q -i 나 자신 192.168.1.258

-p 원격 호스트에서 연결할 포트를 지정합니다.
-c 세션이 암호화되는 방법을 지정합니다.
-C 세션이 압축되어야 함을 나타냅니다.
-l 원격 호스트에 로그인 할 사용자를 나타냅니다.
-q 진단 메시지가 표시되지 않음을 나타냅니다.
-i (개인 키)로 식별 할 파일을 나타냅니다.

또한 필요할 때마다 전체 명령을 입력 할 필요가 없도록 터미널의 기록을 사용할 수 있다는 점을 기억해야합니다. 공격자가 활용할 수있는 기능이므로 최소한 사용하는 경우에는 권장하지 않습니다. SSH 연결.

보안 문제가이 옵션의 유일한 장점은 아니지만 연결하려는 각 서버에 대한 구성 파일이있는 것과 같은 다른 항목을 생각할 수 있으므로 연결할 때마다 옵션을 작성하지 않습니다. 특정 구성을 가진 서버 SSH.

-F 옵션을 사용하면 구성이 다른 여러 서버가있는 경우 매우 유용 할 수 있습니다. 그렇지 않으면 모든 설정을 기억해야하므로 사실상 불가능합니다. 해결책은 각 서버의 요구 사항에 따라 완벽하게 준비된 구성 파일을 보유하여 해당 서버에 대한 액세스를 용이하게하고 보장하는 것입니다.

이 링크에서 http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config SSH 클라이언트 구성 파일을 편집하는 방법을 찾을 수 있습니다.

이것은 SSH를 보장하기 위해 찾을 수있는 수백 가지 팁 중 하나에 불과하므로 안전한 원격 연결을 원할 경우 OpenSSH가 제공하는 가능성을 결합해야합니다.

지금은 여기까지입니다.이 정보가 도움이되고 다음 주 SSH 보안에 대한 또 다른 게시물을 기다리시기 바랍니다.

참고 : "SSH The Secure Shell"책을 읽으려면 OpenSSH에서 지원하는 옵션이 상당히 뒤쳐져 있으므로 설치 한 버전의 매뉴얼 페이지를 참조하십시오.
기여 해주신 Izkalotl에게 감사드립니다!
관심 기부하다?

9 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

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

*

*

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

  1.   HacKan & CuBa 공동.

    뭐? 나는 당신이 언급 한 것을 이해하지 못하기 때문에 다른 게시물을 참조한다고 생각합니다. 이 게시물은 컴퓨터와의 연결을 설정할 때 적용 할 작은 팁을 제공합니다. 컴퓨터의 구성을 변경하는 것과 관련이 없으며 누군가가 들어 오면 문제를 해결하는 것이 아닙니다. 아이디어는 적절한 수준의 보안을 제공하지 않을 수있는 기본 매개 변수를 우회하여 컴퓨터 간의 통신을 안전하게 만드는 것입니다.
    포트 노킹은 공격을 제한하는 데 흥미 롭습니다 (완전히 막지는 못하지만 그 일을합니다). 사용하기가 조금 불편하지만 ... 그에 대한 경험이 많지 않을 수도 있습니다.
    잘못된 로그인이 감지되면 ip의 액세스를 차단하기 위해 로그를 스캔하는 여러 프로그램이 있습니다.
    가장 안전한 방법은 키 파일을 사용하여 암호없는 로그인을 사용하는 것입니다.

    안녕하십니까!

  2.   HacKan & CuBa 공동.

    뭐? 나는 당신이 언급 한 것을 이해하지 못하기 때문에 다른 게시물을 참조한다고 생각합니다. 이 게시물은 컴퓨터와의 연결을 설정할 때 적용 할 작은 팁을 제공합니다. 컴퓨터의 구성을 변경하는 것과 관련이 없으며 누군가가 들어 오면 문제를 해결하는 것이 아닙니다. 아이디어는 적절한 수준의 보안을 제공하지 않을 수있는 기본 매개 변수를 우회하여 컴퓨터 간의 통신을 안전하게 만드는 것입니다.
    포트 노킹은 공격을 제한하는 데 흥미 롭습니다 (완전히 막지는 못하지만 그 일을합니다). 사용하기가 조금 불편하지만 ... 그에 대한 경험이 많지 않을 수도 있습니다.
    잘못된 로그인이 감지되면 ip의 액세스를 차단하기 위해 로그를 스캔하는 여러 프로그램이 있습니다.
    가장 안전한 방법은 키 파일을 사용하여 암호없는 로그인을 사용하는 것입니다.

    안녕하십니까!

  3.   HacKan & CuBa 공동.

    또한 ssh는 ~ / .ssh / config에서 기본 사용자 구성을 찾습니다.
    데몬이 구성되지 않은 경우에는 기본적으로 구성됩니다.
    -m 옵션과 함께 해시에 사용되는 알고리즘을 고려하는 것이 중요합니다. 최고의 보안을 제공하는 제품이기 때문에 hmac-sha2-512, hmac-sha2-256, hmac-ripemd160을 추천합니다. 기본적으로 MD5 (또는 sha1)를 사용하므로주의하세요 !! 이해되지 않는 것들입니다….
    어쨌든 다음과 같이 실행하는 것이 좋습니다.
    ssh -p 포트 -c aes256-ctr -m hmac-sha2-512 -C IP
    -c를 사용하여 ctr (카운터 모드)이 가장 권장되는 암호화 알고리즘 (aes256-ctr 및 aes196-ctr)을 지정하고 cbc (암호 블록 체인)가 아닌 경우 aes256-cbc, aes192- cbc를 지정합니다. , 복어 -cbc, cast128-cbc

    안녕하십니까!

  4.   HacKan & CuBa 공동.

    또한 ssh는 ~ / .ssh / config에서 기본 사용자 구성을 찾습니다.
    데몬이 구성되지 않은 경우에는 기본적으로 구성됩니다.
    -m 옵션과 함께 해시에 사용되는 알고리즘을 고려하는 것이 중요합니다. 최고의 보안을 제공하는 제품이기 때문에 hmac-sha2-512, hmac-sha2-256, hmac-ripemd160을 추천합니다. 기본적으로 MD5 (또는 sha1)를 사용하므로주의하세요 !! 이해되지 않는 것들입니다….
    어쨌든 다음과 같이 실행하는 것이 좋습니다.
    ssh -p 포트 -c aes256-ctr -m hmac-sha2-512 -C IP
    -c를 사용하여 ctr (카운터 모드)이 가장 권장되는 암호화 알고리즘 (aes256-ctr 및 aes196-ctr)을 지정하고 cbc (암호 블록 체인)가 아닌 경우 aes256-cbc, aes192- cbc를 지정합니다. , 복어 -cbc, cast128-cbc

    안녕하십니까!

  5.   이반11

    내가 원했던 것은 아무도 내 PC에 액세스하여 원격으로 제어 할 수 없다는 것입니다.
    그런 다음 나는 당신의 말로 내가 항구를 열지 않으면 적어도 이런 식으로 접근 할 수 없다는 것을 이해합니다.

    응답 해 주셔서 감사합니다!

  6.   이반11

    holaa
    나는 몇 가지 트릭을 따랐고 질문이 있습니다! 내가 또한 변경 한 옵션 중에서
    기존 포트와 다른 포트입니다. 라우터에서 해당 포트를 열지 않으면 내 PC에 연결할 수 없습니까? 아니면 다른 포트로 리디렉션됩니까?

    원격 연결을 할 필요가 없기 때문에 포트를 열거 나 차단 한 상태로두면 더 효과적인 방법을 알고 싶었습니다.

    나는 대답을 기다린다!

  7.   세르지오 바이 제네거

    > 가장 안전한 방법은 키 파일을 사용하여 비밀번호없이 로그인하는 것입니다.
    다른 컴퓨터에 로그인하는 유일한 방법은 목에 매달린 펜 드라이브에있는 키를 사용하는 것뿐입니다 😉
    공격자는 무차별 암호 해독을 시도하는 데 평생을 낭비 할 수 있으며, 암호가 아닌 XD 파일이 필요하다는 사실을 결코 깨닫지 못할 것입니다.

  8.   izkalotl 리눅스

    저는 보안 및 네트워크 전문가는 아니지만 암호없는 로그인으로 보안 시스템을 위반하려면 마운트하는 순간 펜 드라이브에 저장된 키를 복사하는 스크립트를 작성하는 것만으로도 충분하므로 몇 초 만에 가능합니다. 서버 원격에 대한 자신의 키로 액세스 할 수 있습니다 (물론 암호가 필요하지 않음). 암호가없는 문제는 스크립트에서 몇 줄로 볼 수 있듯이 보안이 잘못되었다는 것입니다. 원격 서버를 제어하기가 매우 쉽습니다. 보안을 침해 할 수있는 더 짧은 방법이있는 경우 공격자는 암호를 해독하는 데 시간이나 리소스를 낭비하지 않을 것입니다. SSH를 통해 TCP Wrappers, 좋은 방화벽과 같은 것을 구성하고 추가 할 수있는 옵션 중 최소 20 개를 사용하는 것이 좋습니다. 그래도 서버가 100 % 보호되지 않고 보안 문제의 가장 큰 적은 신뢰할 수 있습니다.

  9.   골록

    진짜 이점은 확실하지 않지만 공격자가 이미 팀에 합류했을 때 상황을 조금 어렵게 만들고 관리자에게 복잡성을 더하는 것에 대해 이야기하고 있다는 점이 흥미 롭습니다.
    의심스러운 활동이나 공격자의 행동을 제한하는 샌드 박스 유형에 대해 알리고 조치를 취하는 데 더 유용한 허니팟 기술이 있습니다.
    또는 포트 노킹과 같이 진입을 방지하는 다른 유형의 기술을 찾습니다.
    또한 그것을 공유하고 토론을 열어 주셔서 감사합니다.