리눅스의 모든 프로그램들의 소스가 공개되어 있기 때문에 악의적인 목적을 가진 해커들의 공격 대상이 될 수 있다.
그에 따라 관리자가 지속적인 관심을 가지고 업데이트 및 보안에 대한 설정을 하여 보안을 강화해야 할 필요성이 있다.
시스템 보안 관련 명령어(SSH)
1. ssh (Secure Shell)
원격 시스템에 로그인하여 명령을 실행하는 프로그램으로 telnet과 사용법이 유사하다. telnet은 패킷의 내용을 유출당할 수 있지만, ssh2는 ssh1을 개선한 것으로 이중-암호화 RSA 키 교환을 비롯하여 다양한 키- 교환 방법을 지원한다.
2. ssh의 특징
- 패킷을 암호화 하여 telnet이나 rlogin에 비해 안전
- 패스워드 입력 없이 로그인 가능
- rsh처럼 원격 쉘 지원
- 원격 복사(scp) 지원
- 안전한 파일 전송(sftp) 지원
3. ssh 설치
리눅스에서는 ssh 공개버전인 openssh를 사용하는데, SSH서버와 SSH 클라이언트 프로그램으로 나뉘어져 있다.
패키지명 | 설명 |
openssh | openssh서버와 openssh 클라이언트에 모두 필요한 핵심적인 파일들이 들어 있는 패키지 ssh-keygen 명령이 있음 |
openssh-server | openssh 서버 관련 패키지 sshd, sftp 서버 등이 들어있음 |
openssh-clients | openssh 클라이언트 관련 패키지 ssh,scp, sftp 등의 명령어 들어 있음 |
4. ssh 서버 설정
/etc/ssh/sshd_config
Port : ssh 서버 포트 지정
AddressFamily any : 접속하는 ip주소 버전 지정, any는 IPv4와 Ipv6 주소 체계모두 접근 가능
ListenAddress :: : sshd 데몬이 허가하는 주소 설정
Protocol [프로토콜 버전] : ssh 프로토콜의 버전 지정
PermitRootLogin [yes/no] : root 로그인 허용 여부 결정, yes는 root 접속 가능하고 보안강화를 위해 no로 설정
등 등..
ssh 서버의 환경 설정파일이다. ssh_confing 파일 내 주요 설정 항목들이 많이 있다.
[사용 예시]
# vi /etc/ssh/sshd_config
# PermitRootLogin no 로 vi 편집기 변경
-> ssh 서버를 통해 로그인하는 root계정의 접근을 차단하려고 한다.
ssh 서버 명령어
systemctl start sshd.service
ssh 서버를 실행할때의 명령어이다.
5. ssh 클라이언트 명령어
ssh [option] [호스트명] or [IP주소]
-l : 다른계정으로 접속할때 사용
-p : ssh 서버의 포트번호가 22번이 아닌 겨우 바뀐 번호 포트 지정
ssh [계정이름]@[호스트네임]
> 다른계정으로 접속할때 사용
ssh [호스트네임] [명령]
> 접속없이 명령만 내릴때 사용
[사용 예시]
ssh 클라이언트에서 ssh서버인 192.168.12.22로 접근하는 과정이다.
# ssh posein@192.168.12.22
# ssh -l posein 192.168.12.22
-> 현재 lin사용자로 로그인되어 있는 상태이다. posein 사용자로 계정을 변경해서 접근한다.
# ssh -p 180 192.168.12.22
-> ssh 서버의 포트 번호가 180번으로 변경된 경우에 접근하는 명령
# ssh 192.168.12.22 mkdir data
-> ssh 서버의 홈 디렉터리에 data 디렉터리를 생성하는 명령
인증키를 이용한 ssh 서버 접속(ssh-keygen)
ssh-keygen [option]
-l : 사용할 암호화 알고리즘 지정 (rsa, dsa 등) , ssh2버전에서 미지정시 rsa 사용
ssh서버를 접속 할때 패스워드를 입력하여 접속하지만, 인증키를 이용하여 접속 할 수 있다.
ssh 클라이언트에서 ssh-keygen 명령을 이용하여 비밀키와 공개키를 생성하고, ssh서버에 공개키를 복사하면 된다.
[사용 예시]
# ssh-keygen
-> ssh 서버에 키 인증을 위해 ssh 클라이언트에서 관련 키 쌍을 생성하는 명령
# ssh-keygen -t dsa
-> DSA를 이용하서 인증키 생성
'서버 운영 > Linux' 카테고리의 다른 글
리눅스 su, sudo 명령어 및 visudo로 root 권한 설정하기 (0) | 2021.10.15 |
---|---|
리눅스 커널 설정 sysctl 명령어 (0) | 2021.10.15 |
Linux 시스템 로그(Log) 관련 파일 및 명령어(rsyslog, logrotate) (1) | 2021.10.15 |
리눅스 RAID 구성 및 명령어 mdadm (0) | 2021.10.13 |
리눅스 LVM 구성 및 명령어 (PV, VG, LV) (0) | 2021.10.13 |