
많은 분들이 저와 같은 상황이 아닐까 싶습니다. 저는 노트북을 가지고 출장을 갑니다. 그리고 사무실(제 경우에는 집)에서 파일에 안전하게 액세스해야 합니다.
내 질문의 짧은 버전:
SSH/SFTP를 어떻게 만들 수 있나요?정말한 사람만 한 대의 노트북에서 서버에 연결해야 할 때 보안이 유지됩니까? 이 상황에서 다른 사람이 서버에 온라인으로 액세스하는 것을 거의 불가능하게 만드는 특별한 단계는 무엇입니까?
더 많은 세부정보:
저는 노트북(KDE)과 집/사무실 서버 모두에서 Ubuntu Linux를 사용합니다. 연결에는 문제가 없습니다. 필요한 경우 휴대폰 연결을 테더링할 수 있습니다. 많은 수의 파일(약 300GB)에 액세스해야 합니다. 한꺼번에 모두 필요하지는 않지만 어떤 파일이 필요할지 미리 알 수 없습니다. 이러한 파일에는 기밀 클라이언트 정보와 신용 카드 번호와 같은 개인 정보가 포함되어 있으므로 안전해야 합니다.
따라서 저는 이러한 모든 파일을 Dropbox나 Amazon AWS 또는 이와 유사한 곳에 저장하고 싶지 않습니다. 어쨌든 그 비용은 정당화될 수 없습니다(Dropbox는 100GB 이상의 요금제에 대해서는 가격을 공개하지 않으며 보안이 문제가 됩니다). 그러나 나는 적절한 해결책을 찾기 위해 기꺼이 돈을 쓸 의향이 있습니다. 예를 들어 VPN 서비스가 솔루션의 일부일 수 있습니까? 아니면 다른 상용 서비스인가요? PogoPlug에 대해 들어본 적이 있지만 보안 문제를 해결할 수 있는 비슷한 서비스가 있는지 모르겠습니다.
노트북에는 공간이 있기 때문에 모든 파일을 노트북에 복사할 수 있었습니다. 하지만 집에 있는 컴퓨터와 노트북을 동기화해야 하는데 예전에는 이 작업을 잘 수행하지 못했다는 것을 깨달았습니다. 그리고 내 노트북을 분실하거나 도난당하더라도 내 데이터는 그 안에 남아 있을 것입니다. 노트북 드라이브는 SSD이며 SSD 드라이브용 암호화 솔루션은 좋지 않습니다.
따라서 모든 데이터를 Linux 파일 서버(집에서 안전한 서버)에 보관하는 것이 가장 좋습니다.
이것이 합리적인 결론입니까, 아니면 데이터를 노트북에 복사해야 할 정도로 인터넷에 연결된 모든 것이 위험합니까(그리고 SSD를 HDD로 교체하면 배터리 수명과 성능이 저하될 수도 있음)?
나는 노트북을 분실할 위험이 더 높다고 생각합니다. 나는 온라인에서 명백한 해킹 대상이 아닙니다. 우리 집 광대역 인터넷은 케이블 인터넷인데 매우 안정적인 것 같습니다. 그래서 이동 중에 내 노트북에서 내 데이터에 안전하게 액세스할 수 있는 최선의(합리적인) 방법을 알고 싶습니다.
내 휴대폰의 3G/4G나 Wi-Fi 또는 일부 클라이언트의 광대역 등을 통해 연결할 수 있지만 이 한 대의 컴퓨터에서만 액세스하면 됩니다. 따라서 어떤 IP 주소를 갖게 될지 미리 알 수 없습니다.
저는 SSH 및 SFTP(또는 이와 유사한) 기반 솔루션을 선호하고 있습니다. SSH/SFTP는 내가 필요하다고 예상하는 모든 기능을 제공합니다. SFTP와 Dolphin을 사용하여 파일을 탐색하고 다운로드하고 싶습니다. 다른 용도로는 SSH와 터미널을 사용하겠습니다.
내 Linux 파일 서버는 OpenSSH로 설정되어 있습니다. SSH는 상대적으로 안전하다고 생각합니다. 저도 Denyhost를 사용하고 있습니다. 하지만 저는 몇 단계 더 나아가고 싶습니다. 나는 누구든지 도로에서 액세스할 수 있으면서도 가능한 한 0에 가깝게 내 서버에 접근할 수 있는 기회를 얻고 싶습니다.
저는 시스템 관리자도 아니고 프로그래머도 아니고 실제 "수퍼유저"도 아닙니다. 나는 대부분의 시간을 다른 일을 하면서 보내야 한다. "포트 노킹"에 대해 들어본 적이 있지만 사용해 본 적이 없으며 구현 방법도 모릅니다(배우고는 싶지만).
나는 이미 다음과 같은 제목의 기사를 많이 읽었습니다.
- 상위 20가지 OpenSSH 서버 모범 보안 사례
- 20가지 Linux 서버 강화 보안 팁
- Debian Linux는 DenyHosts 소프트웨어를 사용하여 SSH 사용자 해킹/크래킹 공격을 중지합니다.
- 더...
그 기사에는 다음과 같은 내용이 언급되어 있습니다.
- DenyHost 사용
- 특정 사용자만 연결하도록 허용하려면 /etc/ssh/sshd_config에서 AllowUsers 옵션을 설정합니다.
- SSH를 통한 루트 로그인을 비활성화합니다.
- 공개 키 인증을 사용하고 비밀번호 로그인을 허용하지 않습니다.
- 그리고 훨씬 더.
나는 위의 모든 작업(및 그 이상)을 수행하고 있습니다. 그러나 나는 내가 읽은 모든 것을 구현하지 않았습니다. 나는 아마 그렇게 할 수 없을 것입니다.
하지만 내 상황에서는 노트북 한 대에서만 액세스할 수 있기 때문에 더 나은 방법이 있을 수도 있습니다. 저는 단지 한 명의 사용자일 뿐입니다. 내 서버는 일반 대중이 액세스할 수 있을 필요가 없습니다. 이러한 모든 사실을 고려할 때, 구현 능력 범위 내에서 이러한 사실을 활용하여 위 기사의 범용 제안보다 훨씬 더 나은 보안을 만드는 몇 가지 제안을 여기서 얻을 수 있기를 바랍니다.
한 가지 예는 포트 노킹입니다. 이게 내 상황에 딱 맞는 것 같다. 이 라인에는 또 무엇이 있습니까?
답변1
완벽한 보안이란 없습니다. 모든 보안 옵션은 절충안입니다. 개인적으로 다음을 추천합니다.
- 무차별 대입을 방지하려면 DenyHosts를 사용하세요. 하지만 이동 중에 있는 전체 시간 동안 자신을 잠그지 않도록 합리적인 시간 초과 값을 설정하세요. 조심하지 않으면 이런 일이 일어날 수 있습니다.
/etc/ssh/sshd_config
특정 사용자만 연결하도록 허용하려면 AllowUsers 옵션을 설정하세요 .- SSH를 통한 루트 로그인을 비활성화합니다.
- 노트북에서 공개 키 인증을 사용하세요.
- 모든 공용 터미널에서 OPIE 또는 OTPW와 같은 일회용 비밀번호를 사용하세요.
- sudo 또는 su와 함께 사용하더라도 공용 터미널에서 루트 비밀번호를 사용하지 마십시오.
또는 Apricorn Aegis Padlock 드라이브와 같이 PIN 패드가 있는 휴대용 암호화 드라이브를 높이 평가합니다. 휴대성이 뛰어나고 대부분의 위협 모델에 대해 합리적으로 안전하며 가장 큰 위험은 여행 중에 PIN을 잊어버리거나 드라이브를 분실하는 것입니다. 하지만 두 경우 모두 집에 원본 파일을 안전하게 보관할 수 있습니다.
무료 대안을 선호한다면 encfs, ecryptfs 또는 이와 유사한 것을 사용하여 중요한 데이터를 보관할 암호화된 마운트를 생성할 수 있습니다. 노트북과 함께 데이터가 손실될 수도 있고, 눈에 띄지 않는 동안 누군가가 커널, 부트로더 또는 하드웨어를 조작하여 키로거를 설치할 수도 있지만 이는 현재의 위협 모델처럼 들리지 않으며 암호화된 마운트가 작동해야 합니다. 당신의 목적은 괜찮습니다. 나는 이 옵션이 PIN 패드만큼 안전하다고 생각하지 않지만 여전히 매우 확실한 선택입니다.
기본적으로, 정말로 필요하다고 느끼지 않는 한서비스원격 시스템에서 제공하는 경우 필요하다고 생각되는 만큼 안전한 컨테이너에 파일을 가져오는 것이 좋습니다. 그런 다음 집에 돌아와서 rsync, conduit 또는 unison을 사용하여 파일을 동기화하거나 업데이트된 파일을 기본 시스템으로 다시 복사할 수 있습니다.
귀하의 질문에 대한 "모든 경우에 적합한" 답변은 실제로 없습니다. 도움이 되었기를 바랍니다.
답변2
이 경우 이미 수행되고 있는 표준 SSH 강화에 더해 다음 단계의 보안에 도달하는 방법에 대한 답으로 포트 노킹을 제안하겠습니다. 표준 SSH 강화를 제안하는 다른 답변은 해당 단계가 이미 수행되었다는 사실을 무시하고 있습니다. 이 질문은 SSH 강화를 넘어서는 것에 관한 것입니다.
위키피디아에 따르면,
외부 공격자가 포트 노크 시퀀스를 알지 못하는 경우 가장 간단한 시퀀스라도 발견하려면 엄청난 무차별 대입 노력이 필요할 것입니다. 3노크 단순 TCP 시퀀스(예: 포트 1000, 2000, 3000)에서는 시퀀스에 대한 사전 지식 없이 공격자가 1~65535 범위에 있는 세 포트의 모든 조합을 테스트한 다음 그 사이의 각 포트를 스캔하여 확인해야 합니다. 뭔가 열었다면. 상태 저장 시스템으로서 포트는 중간에 다른 패킷 없이 올바른 세 자리 시퀀스가 순서대로 수신될 때까지 열리지 않습니다.
이는 최악의 경우 단일 성공적인 열기를 획득하고 감지하기 위한 최대 655363개의 패킷과 동일합니다. 이는 281,474,976,710,656개 또는 281조 개가 넘는 패킷입니다. 무차별 대입 공격을 통해 단일의 간단한 3포트 TCP 전용 노크를 성공적으로 열려면 평균적으로 약 9.2000경 패킷을 시도해야 합니다. 무차별 대입 공격을 막기 위해 노크 시도 제한을 사용하고, 더 길고 복잡한 시퀀스를 사용하며, 암호화 해시를 노크의 일부로 사용하는 경우 이는 더욱 비실용적입니다.
포트 노크에는 몇 가지 제한 사항이 있습니다(예: 공유 비밀). 그러나 질문에 명시된 바와 같이 이것은하나사람. 따라서 기존 SSH 강화(및 거부 호스트 및 기타 사항)에 포트 노크를 추가하는 것은 보안을 한 단계 더 끌어올리는 효과적이고 간단한 단계입니다.
Port Knocker 유틸리티의 광범위한 사용은 보안 전문가들 사이에서 논란의 여지가 있는 문제이지만, 이 질문은 언제 Port Knocking을 효과적으로 사용할 수 있는지에 대한 교과서적인 사례입니다.
물론, 포트 노킹을 사용한다는 것은 iptables도 사용한다는 것을 의미합니다. 따라서 여기서 질문이 되는 다음 단계로 이동하려면 다음 두 단계가 필요합니다.
iptables 사용
포트 노킹을 사용하세요
이것은 내가 좋아하는 특정 포트 노킹 구현입니다.
http://www.portknocking.org/view/implementations
Android를 포함하여 많은 인기 시스템에 대한 클라이언트가 있습니다.
참고자료:
답변3
파일을 보호하세요.
떠나기 전에 암호화하세요. 그런 다음 SSH 서버 액세스를 설정하면 SSH 서버의 키와 비밀번호를 원격으로 사용하여 서버에 액세스할 수 있습니다. 암호화된 파일을 다운로드하고 연결을 끊은 다음 파일의 암호를 해독하세요. 무엇을 사용하든, 사용하는 모든 것이 어느 시점에서는 해킹될 수 있고 해킹될 것이라는 점을 이해해야 하므로 허용 가능한 위험을 억제해야 합니다.
예를 들어, Apple 제품을 갖고 있다면 공장에서 설치된 루트 키트를 갖고 있을 가능성이 높습니다. Dell, HP, ASUS 등 모두 마찬가지입니다. OS X 및 Windows XP 이상에서만 작동합니다. 그래서,사용리눅스.
답변4
저는 노트북(KDE)과 집/사무실 서버 모두에서 Ubuntu Linux를 사용합니다. 연결에는 문제가 없습니다. 필요한 경우 휴대폰 연결을 테더링할 수 있습니다. 많은 수의 파일(약 300GB)에 액세스해야 합니다. 한꺼번에 모두 필요하지는 않지만 어떤 파일이 필요할지 미리 알 수 없습니다. 이러한 파일에는 기밀 클라이언트 정보와 신용 카드 번호와 같은 개인 정보가 포함되어 있으므로 안전해야 합니다.
휴대폰의 3G/4G 연결을 사용하는 것이 안전하지 않다는 것을 알고 계시나요? 전화 회사는 귀하의 모든 인터넷 트래픽을 볼 수 있는 능력을 가지고 있습니다(의심의 여지가 있습니다). 이제 인터넷 트래픽은 안전할 수 있지만 이론적으로는 중간자 공격을 수행할 수 있습니다. 3G/4G 연결을 사용하는 경우 또 다른 보안 연결을 통해 콘텐츠를 업로드하기 전에 VPN을 사용하는 것이 좋습니다.
따라서 저는 이러한 모든 파일을 Dropbox나 Amazon AWS 또는 이와 유사한 곳에 저장하고 싶지 않습니다. 어쨌든 그 비용은 정당화될 수 없습니다(Dropbox는 100GB 이상의 요금제에 대해서는 가격을 공개하지 않으며 보안이 문제가 됩니다). 그러나 나는 적절한 해결책을 찾기 위해 기꺼이 돈을 쓸 의향이 있습니다. 예를 들어 VPN 서비스가 솔루션의 일부일 수 있습니까? 아니면 다른 상용 서비스인가요? PogoPlug에 대해 들어본 적이 있지만 보안 문제를 해결할 수 있는 비슷한 서비스가 있는지 모르겠습니다.
또한 PII 및/또는 기밀 고객 정보가 포함된 모든 파일은 암호화되어야 합니다. 해당 파일과 해당 파일이 포함된 모든 저장 매체를 암호화하지 않음으로써 고객에게 어떤 호의도 제공하지 않습니다. 모든 복사본은 암호화되어야 합니다.
따라서 클라우드 서비스를 사용하는 것은 정말로 해결책입니다. 업로드하기 전에 모든 정보가 암호화된다면, 유일한 관심사는 장기적으로 보존 가능성일 것입니다. 클라우드 스토리지를 사용해야 하며 실제로 처리하는 스토리지의 양에 따라 로컬 및 원격 복사본을 직접 만들어야 합니다.
더욱이... 실제로 300GB의 데이터를 처리하는 경우 3G/4G 연결로는 실제로 부족하지 않습니다.
노트북에는 공간이 있기 때문에 모든 파일을 노트북에 복사할 수 있었습니다. 하지만 집에 있는 컴퓨터와 노트북을 동기화해야 하는데 예전에는 이 작업을 잘 수행하지 못했다는 것을 깨달았습니다. 그리고 내 노트북을 분실하거나 도난당하더라도 내 데이터는 그 안에 남아 있을 것입니다. 노트북 드라이브는 SSD이며 SSD 드라이브용 암호화 솔루션은 좋지 않습니다.
암호화된 SSD 장치가 데이터가 저장되기 전에 완료되면 100% 안전하지 않다고 말하는 사람은 완전하고 완전한 바보이므로 다시는 그들로부터 기술적 조언을 받아서는 안 됩니다.
이것이 합리적인 결론입니까, 아니면 데이터를 노트북에 복사해야 할 정도로 인터넷에 연결된 모든 것이 위험합니까(그리고 SSD를 HDD로 교체하면 배터리 수명과 성능이 저하될 수도 있음)?
모든 저장 장치를 함께 동기화하는 루틴을 마련해야 할 것 같습니다. 해결책이 있습니다....
I view the risks of losing a laptop to be higher. I am not an obvious hacking target online. My home broadband is cable Internet, and it seems very reliable. So I want to know the best (reasonable) way to securely access my data (from my laptop) while on the road.
랩톱의 저장 장치가 암호화되고 파일도 암호화되면 누구나 가질 수 있는 것은 임의의 바이트가 있는 랩톱뿐입니다.
내 휴대폰의 3G/4G나 Wi-Fi 또는 일부 클라이언트의 광대역 등을 통해 연결할 수 있지만 이 한 대의 컴퓨터에서만 액세스하면 됩니다. 따라서 어떤 IP 주소를 갖게 될지 미리 알 수 없습니다.
저는 하나의 특정 IP 주소를 화이트리스트에 추가할 수 있는 타사 VPN 서비스를 사용하겠습니다. 이렇게 하면 항상 동일한 IP 주소를 가질 수 있습니다. 길고 안전한 임의 비밀번호, 암호화된 데이터 및 암호화된 저장 매체를 사용하면 데이터가 100% 안전해집니다. 암호화된 데이터는 임의의 바이트일 뿐입니다.
암호화된 파일을 서버에 저장하지 않는 한, 수행하는 모든 작업은 보안 수준이 낮고 원격 클라우드 솔루션을 사용하게 됩니다. Amazon과 Dropbox는 서버를 보호하기 위해 수백만 달러를 지출합니다. 단일 사용자인 경우 출시되는 모든 커널 업데이트를 설치하지는 않을 것입니다.
게다가 클라이언트에게 집중하고 자신이 하는 일을 수행한 다음 Amazon 및 Dropbox만큼 안전하지 않은 홈 Linux 서버의 보안에 대해 걱정해야 하는 것처럼 들립니다.