티스토리 뷰


리눅스 서버를 운영 하는 사람이라면 꼭 한번 확인해봐야 할 보안 점검이다.

서버를 관리 하기 위해 SSH를 대부분 사용 하고 있고, 루트 권한을 가지고 있어야 원활하게 유지보수가 가능하다.

또 한 유저 등급에서 접속 한다고 해도, sudo 한방이면 루트권한 실행이 가능하다.

그런데 여기서 중요한 것은, 루트고 유저고 자시고 간에... hosts.allow 설정이 없다면, 운영 중인 서버는 죽을때 까지 ID/PW 매칭을 돌리는 공격을 받고 있을꺼라는 점이다.

예를 들어 테스트용 유저를 test/test로 만들었다 치자. 아마 다음달에는 생전 처음보는 OS가 서버에 설치되어 있을지도 모른다.

우선 hosts.allow 설정을 안한 당신은 아래 절차부터 따르자.

 

# who // 누가 접속 중인가

;; 내가 쓰는 ID가 내 IP가 아닌 곳에서 접속중이라면 털렸다.

# kill -9 `ps -aef|grep testuser |awk '{ print $2 }'`  //특정 유저의 프로세스 킬

;; 나중에 꼭 유저를 죽여라 

find / -user testuser -print // 특정 유저 소유의 파일 목록

;; testuser 같은 실수로 만든 ID기 탈렸다면 그 유저 소유로 만들어지는 파일이 존재하는지 보라

;; 뭐... 어차피 이미 털렸다면 소유권도 마음대로 수정 중일 것이다.

last //ssh 접속 성공한 로그확인 /var/log/wtmp 내용 보여줌

;; 내가 쓰는 ID가 내 IP가 아닌 곳에서 접속 했다면 털렸다

lastb  // ssh 접속 실패 로그 확인 //var/log/btmp

;; 당신 서버를 털려고 시도한 로그

tail -f /var/log/secure // 접속 시도중인 실시간 로그

;; 지금도 겁나게 시도 중일껄?


아래는 이 글을 쓰는 목적인 내 IP에서만 SSH 접속 허용 하는 방법이다.

아주 쉽다.

위 내용은 점검용으로 쓴거고 아래 3줄이 끝이다.

//ssh는 기본적으로 특정 ip에서만 접속 되도록 하라

//가장 좋은건 root 접속을 막고, su 명령어로 root에 접근 하는 것

# vi /etc/hosts.allow //sshd 허용 ip 등록 sshd: 59.12.191.85

# vi /etc/hosts.deny // 접속 불가 ip 등록 sshd: ALL 

# systemctl restart sshd.service


모든 리눅스 서버는 제한된 상황에서만 root에 접근해야 한다.

패스워드 조합이 장땡이 아니다.


그리고 필자는 개인적으로 Firewall이 아닌 hosts.allow에서 아날로그적으로 제한하라고 권고 한다.


댓글

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함