본문 바로가기

시스템/Linux

SSH, 방화벽 관련 설정

SSH 설치

# yum install -y openssh

or

# yum install openssh-server openssh-clients openssh-askpass

 

 

SSH 시작(서비스 등록)

# systemctl enable sshd.service

 

 

SSH 서비스 재시작

# systemctl restart sshd.service

 

상태보기

# netstat -anp | grep LISTEN | grep sshd

 

 

기본 설정 변경 : 설정 변경후에는 서비스 재시작.

$ sudo vi /etc/ssh/sshd_config


# Root 권한으로 로그인 불가능 설정

PermitRootLogin no

 

# Password 필요

PermitEmptyPasswords no

 

# 포트

Port 1234


# 접속 유지시간

TCPKeepAlive yes

ClientAliveInterval 60

ClientAliveCountMax 30


# 특정아이디로 접속제한

AllowUsers id

 

공개키 기반으로 접속을 받고자 한다면 아래 내용을 풀어준다.

키들을 관리할 키파일의 위치를 지정해 줄 수 있다.

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile ./ssh/authorized_keys

 

사용할 키를 생성한다.

$ ssh-keygen -t rsa -C 'description'

ssh 설정파일에서 ~/.ssh/authorized_keys 참고한다고 설정했으므로

키값을 해당파일에 적어줘야 한다.

 

사용자들이 사용할 키를 생성하고, 클라이언트의 에이전트에 등록해 접속시 사용하도록 한다. 생성한 키를 받아 서버의 authorized_keys 파일에 추가해 주면된다.

$ cat user1_key.pub >> ~/.ssh/authorized_keys


ssh 서비스 재시작




Fail2Ban

CentOS 7 의 경우 fail2ban이 포함되어 있는데, 이를 이용해 로그인 시도에 제한을 둘 수 있다.

현재 서비스 실행여부확인

# systemctl | grep fail2ban




환경설정

# vi /etc/fail2ban/jail.local

ignoreip = 무시할ip

bantime = 차단 유지 시간

findtime = 실패 횟수가 누적되는 시간

maxretry = 실패 횟수



[sshd]

enabled=true



설정 변경 후 재시작

# systemctrl restart fail2ban.service


현재 차단 상태 확인

# iptables -L 


목록이 나오는데, Chain f2b-sshd 부분이 ssh 관련 차단 목록이다

(직접 설치한 경우 이름은 fail2ban-ssh 등으로 다를 수 있음)

해당 목록만 보려면

# iptables -L f2b-sshd -v -n


차단목록 제거

# iptables -D f2b-sshd -s 0.0.0.0 -j REJECT






'시스템 > Linux' 카테고리의 다른 글

[VM] VirtualBox에 Ubuntu 18.04 server guest 설치  (0) 2020.02.07
특정일 이전 백업 파일 삭제하기  (0) 2017.07.20
curl 간단 명령  (0) 2017.04.03
EPEL/XRDP  (0) 2017.03.09
bonding 설정  (0) 2017.02.19
[CentOS7] systemd 기본사항  (0) 2017.01.20
[centos7] 방화벽 설정하기  (0) 2017.01.20
쉘 스크립트  (0) 2014.07.27
패키징 관련  (0) 2014.07.27