세로형
Recent Posts
Recent Comments
Link
03-29 03:47
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

linux 서버 보안 강화. centos7 ssh 특정 ip만 접속 허용 및 ip 차단 본문

IT 및 개발 TIP

linux 서버 보안 강화. centos7 ssh 특정 ip만 접속 허용 및 ip 차단

이수진의 블로그 2018. 10. 24. 11:10


얼마전 서버를 설치하다가 겪은 일들을 통해서

리눅스 서버(이 글의 경우는 centos7입니다.) 보안 강화를 해야한다는 것을 깨닫게 되었습니다.

무슨 일이었냐??

그냥 학교에다가 서버컴퓨터를 설치하고 '에이 뭐 공격이 오겠어?' 라고 생각했습니다.

하지만 아니더군요.


도대체 어떻게 알았을까?

2일만에 무려 3100번 가까이 되는 공격이 들어왔습니다.

공격이라기보단 root 권한에 접속하려고 했던 것이죠.

이게 설치되었는지는 어떻게 알고 저런 시도를 했는지 참


그래서 이번 글은 centos7 기준 기본적인 보안을 강화하는 방법을 알아봅니다.

1. root로 바로 접근하지 못하게 막는다.

2. 지속적인 접근에서 계속 실패하면 ip 자동 차단

3. 특정 ip만 ssh 접속 가능하도록 설정

이런 과정을 거치겠습니다. 


먼저 1. root로 바로 접근하지 못하도록 막겠습니다.



/etc/ssh/sshd_config에 들어가면 ssh 설정을 할 수 있습니다.



PermitRootLogin을 no로 바꿔줍니다.

그리고 MaxAuthTries는 6으로 해줍니다.

그러면 6번 이상 실패하면 차단해버리죠.




이후 sshd.service를 재시작합니다.


이제 3. 특정 ip만 접근 가능하도록 설정합니다.

이 설정은 /etc/hosts.allow에서 합니다.



여기에다가 sshd: 127.0.0.1, 123.123.123.123, ~~

등으로 ip를 추가합니다.

원하는 ip를 넣어주면 되죠.

혹은 123.123.123 만 추가하게 되면 해당 광역대는 허용하겠다 라는 것이 됩니다.



그리고 또 하나 /etc/hosts.deny에 들어갑니다.



여기는 거부할 모든 것을 써놓습니다.

즉 deny는 ALL이 되지만 allow에다가 ip를 적어줬으니

해당 ip는 ok 되는 것이죠.



이제 2. 과정을 봐보죠.

여기서는 fail2ban을 설치합니다.

fail2ban은 ssh로그인 시도가 일정 수 이상일 경우 자동으로 차단해줍니다.

거의 필수적으로 필요하겠죠?


설치해줍니다.

설치가 끝나면 몇가지 설정을 볼 수 있는데요



여기에 들어가면 볼 수 있습니다.

bantime : 일정 횟수를 초과하여 접근 시 접근 거부 시간

findtime : 입력한 시간 사이에 지정 횟수 초과시 차단

maxretry : 최대 접근 횟수. 해당 횟수를 초과하면 차단


무엇보다 [sshd]부분을 true로 해줘야 합니다



이 부분입니다.

#[sshd]

#enabled = true

로 되어있는데 이 부분을 다 제거해줍니다.



그리고 위와 같은 명령어로 다시 시작해줍니다.

service fail2ban start나

systemctl start fail2ban 둘 중 아무거나 하셔도 괜찮았던걸로 기억합니다.



이렇게 최소한의 보안을 해놓으셔서 서버 보안을 강화하시기 바랍니다.

그리고 반드시 root 비밀번호는 어렵게 하셔야 합니다.

습관적으로 1234나 1234qwer 뭐 이런식으로 하시는분 많습니다.

그러지마시고 조금이라도 어렵게 해놓으세요!


반응형
그리드형
Comments