취약점을 해결하는 방법은 여러 가지가 있지만, 가장 먼저 알아야 할 것은 Linux가 다른 운영 체제만큼 침입에 취약하지 않다는 것입니다. 이는 주로 * NIX를 대상으로하는 맬웨어가 없기 때문입니다. 그럼에도 불구하고 시스템에 액세스 할 수있는 방법을 알고 자합니다.
비밀번호
먼저 로그인 할 수있는 모든 사용자의 기본 비밀번호를 변경해야합니다. 데비안의 경우 이것은 기본 사용자 Pi 입니다. 아치 리눅스의 경우 이것은 수퍼 유저 루트 입니다. passwd
명령 행 에 입력하여 사용자로 로그인하면 비밀번호가 변경됩니다 .
기본 사용자에 대해 무차별 대입 사전 공격을 실행하는 것이 매우 간단하므로 안전한 비밀번호 정책이 권장됩니다. 알맞은 중간 길이의 비밀번호를 선택하십시오.
어둠
원격 액세스는 아마도 가장 중요한 보안 허점 일 것입니다. 여기서 사용할 수있는 것은 모호한 보안 이라는 이름 입니다. 일반적인 공격 방법은 개방 된 포트에 대해 다양한 IP 주소를 검색하는 것입니다. 따라서 우리가 취할 수있는 가장 간단한 대책 중 하나 는 기본 포트를 사용하지 않는 사용자가되는 것 입니다.
여기서해야 할 일은 일반적으로 사용되는 프로토콜의 기본 포트를 변경하는 것입니다. 예를 들어, 기본 SSH 포트는 22이고 FTP는 21입니다. 내 시스템에서 SSH는 222 및 FTP 221을 사용하므로 자동화 된 공격으로부터 이러한 프로토콜을 모호하게해야합니다.
연결 보안
첫째, 가장 중요한 보안 문제는 루트 계정이해야한다는 것입니다 하지 SSH를 통해 로그인 할 수 있습니다. /etc/ssh/sshd_config
이 줄을 주석 처리하거나 제거 하여 파일 에서 루트 로그인을 비활성화 할 수 있습니다 .
PermitRootLogin yes
기본적으로 no로 설정해야하지만 확인하는 것이 가장 좋습니다.
SSH를 많이 사용하고 중간 공격의 사람, 암호에 대한 사전 공격이 걱정되면을 사용할 수 있습니다 SSH Keys
.
키 기반 인증은 비밀번호 인증에 비해 몇 가지 장점이 있습니다. 예를 들어 키 값은 일반 비밀번호보다 무차별 대입하기가 훨씬 어렵습니다.
SSH 키 인증을 설정하려면 먼저 키 쌍을 작성해야합니다. 이것은 클라이언트 시스템 (Pi에 액세스하려는 시스템)에서 가장 쉽게 수행됩니다.
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pi/.ssh/id_rsa.
Your public key has been saved in /home/pi/.ssh/id_rsa.pub.
보시다시피 개인 키 id_rsa
와 공개 키라 는 두 개의 파일이 만들어졌습니다 id_rsa.pub
.
개인 키는 본인 만 알고 있으며 안전하게 보호 해야합니다 . 반대로 공개 키는 연결하려는 SSH 서버와 자유롭게 공유 할 수 있습니다.
우리가하고 싶은 것은 공개 키를 Raspberry Pi에 복사하는 것 입니다. 우리는 이것을 매우 쉽게 할 수 있습니다 :
ssh-copy-id pi@address
pi
Raspberry Pi 사용자 이름은 어디에 있으며 Pi address
의 IP 주소입니다.
반복하겠습니다 . 공개 키를 배포합니다 . 개인 키는 당신입니다. 키를 놓으면 시스템의 보안이 손상됩니다.
아치 위키는 이것이 어떻게 작동하는지에 대한 훌륭한 설명이 :
SSH 서버에 파일에 공개 키가 있고 연결 요청이 표시되면 공개 키를 사용하여 챌린지를 구성하고 보냅니다. 이 문제는 코드화 된 메시지와 유사하며 서버가 액세스 권한을 부여하기 전에 적절한 응답을 받아야합니다. 이 코드화 된 메시지를 특히 안전하게 만드는 것은 개인 키를 가진 사람 만 이해할 수 있다는 것입니다. 공개 키를 사용하여 메시지를 암호화 할 수 있지만 동일한 키를 해독하는 데 사용할 수는 없습니다. 개인 키 소지자 인 귀하 만 문제를 정확하게 이해하고 올바른 응답을 얻을 수 있습니다.
공개 키 인증의 보안에 대한 자세한 내용은 Wikipedia에 자세히 설명되어 있습니다.
SSH 보안을 사용하면 엄청난 양의 암호화되고 안전한 데이터 전송을 수행 할 수 있습니다. 실제로 다른 모든 포트 연결은 필요한 경우 SSH를 통해 라우팅 될 수 있습니다. SSH를 통해 X 세션을 전달하여 다른 시스템에 나타날 수도 있습니다.
흥미로운 예로 어제 데스크탑에서 Eclipse를 실행하고 Raspberry Pi에서이를보고 넷북에서 마우스와 키보드를 제어하고있었습니다. 이것이 바로 SSH의 힘입니다.
권한
파일 권한은 Linux 보안 시스템의 핵심입니다. 파일과 폴더를 볼 수있는 사람에게 영향을 미치며 데이터를 보호하는 데 매우 중요합니다. 예를 들어, 일반 사용자로 Raspberry Pi에 로그인하고 다음을 실행하십시오.
cat /etc/shadow
이 shadow
파일에는 시스템 사용자를위한 암호화 된 비밀번호가 포함되어 있으므로 다른 사람이 보지 않기를 바랍니다! 따라서 다음과 같은 응답이 표시됩니다.
cat: /etc/shadow: Permission denied
파일의 권한을 살펴보면 이것이 왜 그런지 알 수 있습니다.
ls -l /etc/shadow
-rw------- 1 root root 821 Jun 11 22:13 /etc/shadow
이것은 파일이 루트가 소유하고 있으며 소유자 만이 읽기 / 쓰기 권한을 가지고 있음을 알려줍니다. 그 출력을 분석해 봅시다.
-rw-------
이것은 권한 상태입니다. 첫 번째 비트는 파일 형식을 알려줍니다 ( -
일반 파일을 의미). 다음 3 비트는 파일 소유자 가 사용할 수있는 작업을 나타냅니다 . 두 번째 세 비트는 그룹을 나타내며 마지막 세 비트는 다른 사람 또는 다른 사람을 위한 것입니다. 따라서 모든 권한이있는 디렉토리는 다음과 같습니다.
drwxrwxrwx 10 root root 280 Jun 20 11:40 tmp/
그것은 소유자, 그룹 및 다른 모든 사람에 대한 읽기, 쓰기 및 실행 권한입니다.
다음으로 중요한 부분은 두 이름입니다. 우리의 경우 root root
. 첫 번째 사용자는 파일 의 소유자 입니다. 두 번째는 usergroup 입니다. 예를 들어 다음과 같은 것이 일반적입니다.
drwxr-xr-x 10 pi users 280 Jun 20 11:40 home/pi
이렇게하면 pi
홈 디렉토리 의 사용자 에 대한 읽기 / 쓰기 액세스 와 다른 모든 사용자에 대한 읽기 액세스가 허용됩니다.
8 진 값을 사용하여 가장 자주 참조되고 제어되는 권한. 예를 들어, 소유자에 대해서만 rw를 설정하려면 다음을 입력하십시오.
chmod 600 /path/to/file
이것은 기본 개요이며 Linux 파일 권한에 대한 자세한 내용 은 좋은 기사입니다.
이 이해는 파일과 폴더를 보호 할 때 중요합니다. 예를 들어 SSH 키를 설정했다고 가정 해 봅시다. 우리는 다른 사용자가 ~/.ssh
디렉토리 내부를 보지 못하게하거나 개인 키를 사용할 수 있습니다. 따라서 우리는 그들의 읽기 권한을 제거합니다 :
chmod 700 ~/.ssh
ls -la ~/.ssh
drwx------ 2 james users 4096 Jun 18 03:05 .
이것이 리눅스 보안에 대한 귀하의 우려를 해결하기를 바랍니다. 이것으로부터 당신은 그것이 꽤 안전한 시스템임을 알 수 있어야하고주의를 기울이면 보안 문제는 없어야합니다.
su
그들에게 시도하여 확인할 수 있습니다 .