시스템 보안 구축 /패스워드/세션관리/접근제어 (교육 38일차)

SW·2023년 1월 12일




[root@localhost ~]# ll /etc/shadow
----------. 1 root root 755 1월 7 04:34 /etc/shadow
[root@localhost ~]# grep root /etc/shadow
root:6$6eSy4PGZUBbClrSSrpHLmea.t6uh0mAiSdgcdZP0TMDgXChbL2Bw31NFsbyG7fuQrbHy0UI60YvxV9HFVIUrYwkXjzxZHnblb87FY/::0:99999:7:::

user1 사용자를 생성한다.
[root@localhost ~]# useradd user1
[root@localhost ~]# grep user1 /etc/shadow
user1:!!:19368:0:99999:7:::

user1의 비밀번호를 안녕하세요!! 로 설정한다.
[root@localhost ~]# passwd user1
user1 사용자의 비밀 번호 변경 중
새 암호: <-- 안녕하세요!!
새 암호 재입력: <-- 안녕하세요!!
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

user1로 SSH로 접속한다.
-cmd에서 접속한다.
C:\Users\user>ssh user1@200.200.200.3
The authenticity of host '200.200.200.3 (200.200.200.3)' can't be established.
ECDSA key fingerprint is SHA256:hc+4x1BpzJrZCASF/hfL8BF+ondEnyCLrE2DPHljs5Q.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '200.200.200.3' (ECDSA) to the list of known hosts.
user1@200.200.200.3's password: <-- 안녕하세요!!
[user1@localhost ~]$ id
uid=1001(user1) gid=1001(user1) groups=1001(user1) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[user1@localhost ~]$ exit

user1 사용자의 SSH 접속을 금지시킨다.
[root@localhost ~]# passwd -l user1
user1 사용자의 비밀 번호 잠금
passwd: 성공
[root@localhost ~]# grep user1 /etc/shadow
user1:!!66zC/kFSDD$hQeI.d1I7L8cPu8fnjIHt129JaEjwvuNuRG0CY2hVC8M2Bottxtzx7EX/tGUB50zK2ceWzpLqN9g3g6wUlXTS.:19368:0:99999:7:::

**
**ssh로 접속을 하면 로그인에 실패하게 된다.
C:\Users\user>ssh user1@200.200.200.3
user1@200.200.200.3's password:
Permission denied, please try again.
user1@200.200.200.3's password:

user1 사용자의 SSH 접속을 금지시킨 것을 해제한다.
[root@localhost ~]# passwd -u user1
user1 사용자의 비밀 번호 잠금 해제 중
passwd: 성공
[root@localhost ~]# grep user1 /etc/shadow
user1:66zC/kFSDD$hQeI.d1I7L8cPu8fnjIHt129JaEjwvuNuRG0CY2hVC8M2Bottxtzx7EX/tGUB50zK2ceWzpLqN9g3g6wUlXTS.:19368:0:99999:7:::

user1 사용자의 SSH 접속을 금지시킨다.
[root@localhost ~]# usermod -L user1
[root@localhost ~]# grep user1 /etc/shadow
user1:!66zC/kFSDD$hQeI.d1I7L8cPu8fnjIHt129JaEjwvuNuRG0CY2hVC8M2Bottxtzx7EX/tGUB50zK2ceWzpLqN9g3g6wUlXTS.:19368:0:99999:7:::

user1 사용자의 SSH 접속을 금지시킨 것을 해제한다.
[root@localhost ~]# usermod -U user1
[root@localhost ~]# grep user1 /etc/shadow
user1:66zC/kFSDD$hQeI.d1I7L8cPu8fnjIHt129JaEjwvuNuRG0CY2hVC8M2Bottxtzx7EX/tGUB50zK2ceWzpLqN9g3g6wUlXTS.:19368:0:99999:7:::

실습> TMOUT 설정하기

TMOUT 변수는 사용자가 아무런 키를 입력하지 않으면 자동으로 로그아웃하는 변수
전체 사용자가 적용되기 위해서는 /etc/profile에 넣어두면 된다.

형식: TMOUT=초

/etc/profile 맨 아래쪽에 타임아웃 변수를 설정한다.
[root@localhost ~]# vi /etc/profile
:
:(생략)
[root@localhost ~]# 타임아웃 설정
[root@localhost ~]# 형식: TMOUT=초
TMOUT=300

[root@localhost ~]# exit

ssh로 다시 로그인해서 TMOUT 변수가 설정되어 있는지 확인한다.
ssh root@200.200.200.3

[root@localhost ~]# echo $TMOUT
300

실습> 접근제어

        200.200.200.0/24

.1
[Client#1]----------->x
[Server] .3
[Client#2]----------->o
.5

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# yum -y install iptables-services

[root@localhost ~]# iptables -A INPUT -p icmp -s 200.200.200.1 -j DROP
[root@localhost ~]# iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- 200.200.200.1 0.0.0.0/0

cmd에서 200.200.200.3으로 ping test를 하면 접근이 금지된다.
C:\Users\user>ping 200.200.200.3

Ping 200.200.200.3 32바이트 데이터 사용:
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.

200.200.200.3에 대한 Ping 통계:
패킷: 보냄 = 4, 받음 = 0, 손실 = 4 (100% 손실),

[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination

C:\Users\user>ping 200.200.200.3

Ping 200.200.200.3 32바이트 데이터 사용:
200.200.200.3의 응답: 바이트=32 시간<1ms TTL=64
200.200.200.3의 응답: 바이트=32 시간<1ms TTL=64
200.200.200.3의 응답: 바이트=32 시간<1ms TTL=64
200.200.200.3의 응답: 바이트=32 시간<1ms TTL=64

200.200.200.3에 대한 Ping 통계:
패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
최소 = 0ms, 최대 = 0ms, 평균 = 0ms

profile
정보보안 전문가

0개의 댓글