본문 바로가기

기술자료/기술운영자료

SSH 보안설정

리눅스 SSH 보안설정



 

 

그림입니다.
원본 그림의 이름: mem0000227400fd.tmp
원본 그림의 크기: 가로 300pixel, 세로 300pixel






 

 

보안에 대한 인식이 확산되면서 ssh 사용자가 많이 늘어나고 있습니다.

특히 CentOS 계열에서는 기본 shell로 openssh가 탑재되면서 거의 기본이라고 할 수 있을 정도로 보편화되고 있는데요

하지만 http 대신 https를 사용한다고 보안이 완벽해 지는 것이 아닌 것 처럼

ssh를 사용한다고 하여 보안상 완벽해지는 것은 결코 아닙니다.

특히 ssh 데몬은 root 권한으로 실행되고, 사용의 편의상 보통 root 로그인이 가능하다는 점을 이용하여

ssh 취약점을 악용한 각종 공격들이 활발하기 때문에 ssh의 보안은 매우 중요하다고 생각됩니다.

 

 

 

1. openssh conf 설정

 

    #vi /etc/ssh/sshd_config

 

     그림입니다.
원본 그림의 이름: mem0000227400fe.tmp
원본 그림의 크기: 가로 609pixel, 세로 382pixel

 

 

    PermitRootLogin no

 

    ssh나 openssh를 사용시 대부분 root로의 직접 로그인이 허용되어 있습니다.

    하지만 보안을 위해서는 root로의 직접적인 login은 가급적 자제하는 것이 좋습니다.

    일반유저로 로그인 후 su 등을 이용하여 권한획득하여 사용하는 방법을 추천드리는데

    굳이 root로 직접 로그인을 사용하시고자 하신다면 방화벽 등에서 접근통제를 해주시기 바랍니다.

 

 

 

    PukeyAuthentication yes

    AuthorizedKeysFile .ssh/ authorized_keys

 

    ssh에서 제공하는 인증에는 공개키 인증과 암호인증의 두가지 방법이 있는데

    해당 옵션은 공개키 인증의 사용여부를 설정합니다.

 

 

 

    RhostsRSAAuthentication no

    PasswordAuthentication yes

 

    rhost는 보안상 매우 취약하기 때문에 사용을 가급적 자제하셔야 합니다. 그리고 일반적인 암호기반의 인증을

    사용할 것인지를 결정해야 하는데 암호기반의 인증 제공시에는 접근통제설정이 필수라고할 수 있습니다.

 

 

 

    PermitEmptyPasswords no

 

    암호가 없는 계정에 대해 로그인을 허용할 것인지 지정하는 부분입니다.

 

 

 

 

 

       그림입니다.
원본 그림의 이름: mem0000227400ff.tmp
원본 그림의 크기: 가로 416pixel, 세로 137pixel

 

 

    AllowGroups root admin

 

    root나 admin 그룹에 속한 유저들만 로그인할 수 있도록 허용한다는 옵션입니다.

 

 

 

    AllowUsers user1 user2

 

    위 그룹정책에 의해 설정된 그룹내 유저들 중에서도 user1, user2라는 계정만 로그인을 허용하는 옵션입니다.

 

 

 

    ListenAddress 0.0.0.0

 

    기본적으로 ListenAddress 0.0.0.0으로 되어 있어 인터페이스에 설정된 모든 IP에 대하여

    Listen하도록 설정되어 있습니다. 만약 여러 IP가 aliasing 되어있다면

    꼭 필요한 특정 IP에서만 Listen하는 것이 좋습니다.

 

 

 

 

       그림입니다.
원본 그림의 이름: mem000022740100.tmp
원본 그림의 크기: 가로 577pixel, 세로 211pixel

 

 

    Port 22

 

    ssh의 포트번호를 설정하는 옵션입니다.

    기본포트인 22번은 널리 알려져 있는 포트번호이기 때문에 보안을 위해서라면 기본포트를 변경해주시는 것도

    보안을 위한 하나의 방법이라할 수 있습니다.

 

 

 

 

 

 

 

2. sshd 업데이트

 

   openSSH 4.4 이전 버전은 GSSAPI 인증에 취약점이 존재합니다.

   만약 GSSAPI를 이용하여 Keberos 인증을 구성하셨다면 반드시 업데이트를 해주시기 바랍니다.

   하지만, yum update로 제공되는 openSSH 버전은 4.2p2 까지 밖에 없기 때문에

   파일을 내려받아 컴파일을 해주셔야 합니다.

 

    #wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.6p1.tar.gz

     #tar xvf openssh-5.6p1.tar.gz

    #./configure --prefix=/usr/local/openssh --with-tcp-wrappers --with-pam --with-md5-passwords

    #make &&make install

 

   설치 디렉토리에서 init.d 스크립트 복사

     #cd (설치디렉토리)/openssh-5.6p1/contrib/redhat

    #cp sshd.init /etc/init.d/sshd

 

 

    #vi /etc/init.d/sshd

    그림입니다.
원본 그림의 이름: mem000022740101.tmp
원본 그림의 크기: 가로 396pixel, 세로 55pixel
 

 

    아래 내용으로 수정해 줍니다.

 

        그림입니다.
원본 그림의 이름: mem000022740102.tmp
원본 그림의 크기: 가로 395pixel, 세로 55pixel

 

 

 

     ssh 및 sshd PATH 추가

     #vi /etc/profile

     export PATH=/usr/loca/openssh/bin:/usr/local/openssh/sbin:$PATH

 

 

 

 

 

 

 

 

 

 

 

그림입니다.
원본 그림의 이름: mem000022740103.tmp
원본 그림의 크기: 가로 320pixel, 세로 192pixel

'기술자료 > 기술운영자료' 카테고리의 다른 글

CentOS 4.x yum 이용하기  (0) 2016.03.20
windows 터미널 포트 변경 파일  (0) 2016.03.20
윈도우7 파티션 나누기  (0) 2016.03.20
정품 소프트웨어의 중요성  (0) 2016.03.20
scp 사용법  (0) 2016.03.20