이미 잘알려진 포트를 사용하는 SSH와 root 계정의 보안을 향상시키는 법을 설명합니다.
보안 향상 목표
- SSH의 기폰 포트인 22번에서 다른 포트로 변경한다.
- SSH 서버설정에서 원격(Remote)에서 root계정으로 바로 접속하지 못하게 설정한다.
- 인증없이 서버에 접속하는 rhosts 를 사용할 수 없도록 설정한다.
- SSH 접속을 허용할 사용자 그룹(Group)를 지정한다.
SSH 보안
아래의 설정 내용을 찾아 변경한다.
vi /etc/ssh/sshd_config
# 포트 변경 (포트번호1023 까지는 예약된 포트이므로 그 이후 값을 사용)
Port 2222
# rhosts 를 무시
IgnoreRhosts yes
# SSH 접속시 root 로 로그인 금지
PermitRootLogin no
# wheel 그룹만 ssh 에 로그인 가능
AllowGroups wheel
포트 변경시 iptables(방화벽)를 사용하고 있다면 해당 포트를 사용할 수 있도록 설정한다.
접속제한 방법
- AllowGroups : 여기에 등록된 group만 접속 가능함.
- AllowUsers : 이곳에 등록된 계정만 접속 가능함.
- DenyGroups : 모두 접속이 허용, 여기에 등록된 group만 접속 거부됨.
- DenyUsers : 모두 접속이 허용, 여기에 등록된 계정만 접속 거부됨.
예1) test1 와 test2 만 ssh 접속을 허용(space bar로 구분)
AllowUsers test1 test2
예2) 모든 유저의 접속을 허락하고 help 라는 유저의 접속을 막는다.
DenyUsers help
설정을 완료한 후에는 SSH를 재시작해준다.
/etc/init.d/sshd restart
위와 같이 설정하면 일반계정으로 접속후 su - 를 하여 root로 권한을 변경해야하는 번거로움이 생기는데, 이에 대한 편의성을 높여주는 sudo를 설정하여 특정 계정 사용자가 root권한을 편하게 사용할 수 있게 한다.
vi /etc/sudoers
# Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
위의 wheel 부분은 주석처리되어 있을텐데 그것만 삭제해줘도 된다
이후 관리자 계정으로 사용할 계정을 추가하면서, 그룹을 wheel로 지정한다(예로 tiffiny 계정 추가).
useradd -G wheel tiffiny
tiffiny 로 로그인후 확인
sudo id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
cat /etc/group | grep wheel
wheel:x:10:root,tiffiny
'리눅스 > Linux 일반' 카테고리의 다른 글
리눅스 cp - 복사 (0) | 2013.06.12 |
---|---|
리눅스 ls - 파일리스팅 (0) | 2013.06.12 |
리눅스 sudo 사용자 추가하기 (0) | 2013.06.06 |
리눅스 계정정보 변경 - chfn (0) | 2013.06.05 |
리눅스 그룹 생성/삭제/확인/추가 - groupadd (5) | 2013.06.04 |