티스토리 뷰
리눅스 서버를 운영 하는 사람이라면 꼭 한번 확인해봐야 할 보안 점검이다.
서버를 관리 하기 위해 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에서 아날로그적으로 제한하라고 권고 한다.
'Linux' 카테고리의 다른 글
현재 돌아가고있는 nginx의 설정을 덤프받아오기 (0) | 2021.10.08 |
---|---|
리눅스에서 특정 문자열이 포함된 로그만 카운트 (0) | 2019.02.27 |
리눅스 서버 폴더 및 파일 전체 삭제 (0) | 2011.03.14 |
리눅스 서버 폴더압축 및 풀기, 파일 압축 및 풀기 (0) | 2011.03.14 |
리눅스 폴더 및 파일 퍼미션 변경 (0) | 2011.03.14 |
- Total
- Today
- Yesterday
- HTML
- MariaDB
- 파일삭제
- rm으로 삭제
- c++
- delete
- install
- r
- app
- 법정동코드
- Non-Interactive
- apache
- 안드로이드 개발
- 앱개발
- Tomcat
- API
- MySQL
- JavaScript
- LAPM
- Linux
- Android 개발
- 삭제한 파일 복원
- java
- 리눅스
- 시도 이름
- json
- 안드로이드
- Android
- 시군구 이름
- 지역고유코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |