원격 root 접속차단
서버(새싹밭) 클라이언트(sevas-1)

ssh로 이동 후 sshd 설정파일인 sshd_config 를 열어준다

permitrootlogin no 로 설정 후 저장

푸티를 한개 더 실행 후 서버에서 root 로그인시 로그인 실패 확인

sevas로 로그인 후 su - 로 root 로그인
정리 |
| - root 를 열어두면 위험하기 때문에 막아둔다. |
특정유저 관리자 권한부여

setuid 파일로 실행시 root 권한으로 실행되는 파일

wheel = 관리자 그룹
소유권 변경시 setuid 가 풀림
chmod 4750 으로 다시 setuid 주기




sevas , test1 로 로그인 해 각각 확인
정리 |
| - root 를 열어두면 위험하기 때문에 특정유저에게 관리자권한 ( wheel ) 을 부여 |
| - root 원격접속을 막아두면 공격자가 root 비밀번호를 알고 있어도 권한상승 , 접속 을 막을 수 있음 |
ssh 키

새싹밭에서 클라이언트로 접속하기 위해 공개키 교환을 할거냐고 물어보는 것
-yes 하면 클라이언트로 접속됨

공개키를 교환하면 새싹밭에 .ssh 디렉터리가 생성되고 안에 키를 받아올 수 있는 known_hosts 가 생김
- 키가 꼬여서 접속이 안될땐 known_hosts 를 cat 으로 확인
이름없이 주소만 입력시 내가 접속하고 있는계정으로 상대쪽으로도 접속됨
- root 로 로그인 하고 있을 시 136 주소에도 root ( 관리자 ) 로 로그인됨
- sevas 로 로그인 하고 있을 시 136 주소에서도 sevas ( 일반계정 ) 계정으로 로그인

특정 계정으로 접속 하고 싶을 시 주소 앞에 -ㅣ 이름
밑에 방법으로도 가능 ( 리눅스에선 밑에방법 더 많이 쓰임)

정리 |
| - 공개키 교환으로 .ssh 디렉터리 생성 |
파일보내기


지금 상태에서 파일을 scp로 보내면 보내는 사람에 권한으로 상대방에게도 똑같이 적용됨
- 서버에서 root ( 관리자 권한) 접속상태로 보내면 client 도 root ( 관리자 권한) 권한으로 받아짐
- 서버에서 sevas ( 일반 유저) 접속상태로 보내면 client 는 other 권한으로 받아짐

서버에서 sevas ( 일반유저 ) 로 클라이언트 c 디렉터리에 파일전송 시 other는 w 권한이 없어서 업로드 불가



이런식으로 파일을 가져올 수도 있음
새싹밭에서 client 파일삭제
클라이언트에서 server 파일삭제 후 실습 계속

새싹밭은 root 원격접속 막아논 상태라 root로 파일을 못 가져옴
그래서 sevas 권한으로 들어가서 파일 가져오기
정리 |
| - 내보내도 될 파일 안되는 파일에 따라 파일 권한을 다르게 줌 |
SSH키 생성
새싹밭 root 원격접속 막아둔거 해제

접속하려는 사람이 키 생성

서버에서 해줘야될 설정

mkdir 로 .ssh 를 만들면 권한이 기본권한인 755로 만들어 지기 때문에 700 으로 바꿔준다
.ssh파일이 755로 되어 있으면 리눅스에 strictmodes 검사 시 에러가 생기기 때문





패스워드 인증방식 no로 변경
scp로 키를 보내기 전에 password 인증방식을 막으면 scp가 안됨

설정 후엔 항상 데몬 돌려주기

비밀번호 없이 접속하는거 확인
정리 |
| - .ssh 파일을 mkdir 로 만들 시 반드시 권한 700으로 변경 |
| - 접속자의 공개키 파일명 확인 |
| - password인증방식 확인 ( key 보내기 전에 하면 key가 안보내진다 ) |
key 이름변경

서버의 ssh 키 파일명 설정을 수정해준다
데몬재시작


접속자 키이름 변경 후 접속자 , 서버 md5sum 으로 키 확인
- 이름을 변경해줘도 키 내부내용은 안바뀌는거 확인
= 껍데기만 바뀌고 키는 계속 사용가능
정리 |
| - 키 이름변경시 sshd_config 설정파일에서 먼저 변경 |
| - md5sum 키확인 명령 |
local 터미널
- 방화벽을 우회해서 갈때 사용
- 포워딩 할때 사용


127.0.0.1 과 localhost 는 같은 뜻을 갖고 있다.
그냥 하면 두개 접속 안되는거 확인
터널링 설정

자기주소와 포트 쓰고 add 로 추가
뜻 : local 에 4001 포트를 찾으면 192.168.91.130 으로 보내

내가 접속하려는 ip 터널 save 추가

터널은 접속상태로 유지시켜야 됨

4001 포트로 접속되나 확인
127.0.0.1 도 가능


터널을 쓰는이유
클라이언트가 서버에 접속하려 할때 서버에서 방화벽 설정으로 막혀있는경우
포트 우회해서 들어간다
이게 발전해서 나온게 vpn
정리 |
| - 내 사무실에서 다른 회사에 내부망에 접속해야 될때 사용 |
원격터미널

원격터미널 실습

터널설정을 해줘야 됩니다.




서버에 설정 후 푸티에서 추가 설정하고 한번 접속해야 됩니다.

source port - 192.168.91.130:5000 = 192.168.91.130:5000 으로 접속하면
Destination - 192.168.91.136:22 = 192.168.91.136:22 로 보내진다.
( 이 전에 열어둔 tunnel 은 꺼야됩니다 )

기존 tunnel에 저장 후 푸티에서 터널로 접속


.130 으로 접속했는데 실제 접속주소는 .136 확인
최종정리
root 원격접속 차단 및 권한 관리 |
| - sshd_config 파일의 PermitRootLogin no 설정을 통한 직접 접속 통제 |
| - su 명령어 파일에 부여된 SetUID(4000) 속성과 wheel (관리자) 그룹의 역활 |
| 모의해킹 방어관점 - root 패스워드가 무차별대입 ( Brute - force ) 등으로 유출되더라도 시스템이 즉각 장악되는 것을 막는 1차 방어선 |
scp 파일전송 과 권한 상속 |
| - scp 전송 시 목적지에 생성되는 파일의 소유권은 전송을 실행한 유저의 권한을 그대로 상속받음 ( root가 보내면 파일권한은 root , sevas로 보내면 파일권한은 sevas ) |
ssh 키 인증 |
| - 비대칭키 구조 : 클라이언트가 키 생성 후 개인키를 소유하고 서버에 공개키를 등록 |
| - 리눅스 보안정책상 .ssh 디렉터리는 700 , authorized_keys 파일은 600 권한이 아니면 인증 거부 됨 |
ssh 터널링 ( 포트 포워딩 ) |
| 모의해킹 방어관점 - 비정상적인 포트연결이나 ssh트래픽을 모니터링하고 차단해야 됩니다. |
| 모의해킹 공격관점 - 네트워크 경계 방어를 뚫어내는 핵심 - 내부망 깊숙한 곳으로 침투해서 방화벽을 우회하는 지속적인 백도어( reverse ssh 통로) 를 구축 할 때 활용 |
'정보보안' 카테고리의 다른 글
| OSPF (0) | 2026.06.22 |
|---|---|
| DOS / DDOS / DRDOS (0) | 2026.06.05 |