기본

Port 33822
ListenAddress 172.30.1.1
PermitRootLogin no

포트 변경, 오픈할 IP설정

AllowUsers smith jones

연결 허용할 IP 지정 (/etc/hosts.allow)

sshd: 192.168.0.37
sshd: ALL: DENY

한편으로는 hostname을 추가할 수도 있음.

이게 제대로 지원하는지 체크 해봐야함.

$ strings /usr/sbin/sshd | egrep 'hosts\\.(allow|deny)'
/etc/hosts.allow
/etc/hosts.deny

$ ldd /usr/sbin/sshd | grep 'libwrap'

root 로그인을 막고 일반 유저를 만들어서 쓸 수도 있음. 배치작업시 편리

smith  ALL = (jones) NOPASSWD: /usr/local/bin/mycommand args
smith  ALL = (root) NOPASSWD: /usr/local/bin/my_batch_script ""

추가 보안

생각해 보기에는 어쨋든 SSH 연결을 Pubic Network에 오픈하고 있는것이기에 뭔 일이 발생할 지 모름. 그리고 BF의 위험이 분명 존재하기도 함.

그렇기에 SSH 자체를 퍼블릭 네트워크에 공개하지 않는게 제일 좋은듯 함.

PAM을 이용한 추가 보안 (블로그 작성)

pam은 리눅스내에서 인증관련된 작업을 할 때 쓰이는 플러그인들이다. 이 플러그인들은 .so 파일 형태로 /lib/security 폴더등에 저장되어 있다. 혹시 보이지 않는다면 아래 폴더들을 확인해 보자:

/lib/security
/lib64/security
/lib/i386-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/i386-linux-gnu
/usr/lib/x86_64-linux-gnu

그래도 보이지 않는다면 ls /lib/security/pam_*.so 또는 ls /lib64/security/pam_*.so 를 해서 조회를 해 보자.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5b3d6517-24a6-4952-9c43-9c42c51427fb/Untitled.png