2023. 12. 17. 15:00ㆍInformation Security 정보보안/System Security 시스템 보안
배울 내용:
계정 및 패스워드 관리
허가권
SSH , TELNET
vi login.defs
issue.net
원격 접속 서비스 설치
Xinetd
환경설정파일
해킹과 취약점
제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.
틀린게 있으면 댓글로 써주시면 고치겠습니다.
계정 및 패스워드 관리
이전에 계정관련파일을 봤었을때
/etc/passwd
/etc/shadow
가 있는데
젤 밑줄에 보면 user11 에 1008(GID) 하고 /home/user11(홈디럭터리) 사이에
:: 빈공간이 있다 .여기는 설명하는 공간으로 이공간을 이번엔 채워볼것이다
usermod -c sarimus user11
입력한다
그리고 cat /etc/passwd 로 해서 보면
이렇게 설명칸에 sarimus가 넣어진걸 보여준다
passwd에 2번째 비밀번호를 잘보면 x 로 되어있는데 이걸 풀어줄수도있다
pwuncov
를 입력하면 이제 passwd 에 x가아닌 해쉬함수가 섞인 비번이 보인다
이것은 곧 노출되면 다 crack 될수있다
이제 다시 pwconv 로 x 로 표시 시켜주자
참고로 애네들의 허가권은 이것이다
- /etc/passwd
> 허가권 : 644
-/etc/shadow
> 허가권 :400
-/etc/group
이렇게만봐도 어떤게 좀더 보안이 강화 되어있는지 보인다.
4가 r 로 READ 가 가능하고
2가 w 로 WRITE가 가능하고
1가 e 로 EXECUTE가 가능하다
이젠 vi login.defs 를 보자
그리고 :se nu (see number)를 하면 번호로 볼수있다
여기에서 사용자의 계정을 생성할때 여기를 참고해서 만든다
여기값이 변경된후에 계정을 생성하면 아까 앞에서 보았던 필드값도 이전과 다를것이다
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
여기만봐도 전에 보았던 숫자가 있다
따로 표시하진않겠다 궁금하면 이전 포스팅을 보고 오도록한다
그래야 좀더 기억에 남을것같다.
참고로
계정 생성 시 암호 알고리즘을 변경가능한데
ENCRYPT_METHOD MD5 이게 원래는 login.defs에서는 변경안되지만 아래와같이 변경가능
#authconfig --passalgo md5 --update
그뒤에 계정생성하면 바껴져있음 (shadow 확인해보면)
자이젠 원격 접속시 root 사용자 접근제한 / 허용 대해서 알아보자
vm 에서 kali linux를 켜서 telnet 192.168.10.101 해보자
이렇게 1번에 telnet [ip주소] 해서 연결하면된다
2번엔 id 입력 3번엔 비번 , 이때 비번은 안보이지만 입력은 된다
안되면 연결되는곳에 telnet이 깔려있는지 봐야한다
연결되는 곳에서 telnet [kali linux ip주소] 해보면 아무것도 안뜨면 설치해야한다
yum -y install telnet-server
yum -y install telnet*
해서 텔넷 서버와 텔넷에 관련된 모든걸 다운해준다
그뒤 해보면 될것이다
Telnet 은 Default: 차단
허용되는 것은
- /etc/securetty 수정/추가 해주면된다
pts/1 , pts/2 , pts3 (동시에 원격 접속가능한 최대인원수)
<SSH>
Default : 허용
-/etc/ssh/sshd_config 에서 파일 수정하면된다
참고로 ssh_config도 있는데 헷갈리지 않기!!
38 #PermitRootLogin yes -> PermitRootLogin no
이걸 주석제거하고 이렇게 no 바꿔주면 !
(default 가 아까 허용 이니깐 yes임 )
바꾼뒤에 systemctl restart sshd 해줘야함!
kali에서 ssh -l root 192.168.10.101 해보면 root 가 안됨
일반은 됨 그러나 default에서는 root 로그인 됨
설정전 로그인 잘된다
설정후 로그인 안된다 그대신 일반사용자들은 로그인됨!!
이거는 그냥 알고있으면 좋은데
만약 로그인시에 원하는 글 출력하고싶으면
vi /etc/issue.net 해서 넣고싶은거 넣고 원격접속하면 맨처음 알려주는창 수정가능
(welcome to SariMus 올려보기! )
issue 도 있는데 이건 로컬에서 로그인시 !
원격에선 issue.net 을 고치면됨!
그렇게 되면 kali에서 로그인해버리면 저게보임
이런걸로 어디에서 어디로 들어왔는지 바로 알수있게 설정해준다
왜냐면 기업에서는 나혼자만 서버를 운영하는게 아니라 여러사람이랑
운영하기때문에 어디가 어딘지 알아야하기때문에 나름 중요하다!
그렇게 되면 kali 에서 로그인하면 이러케 보인다~!
원격 접속 서비스 설치(xinetd)
#yum -y install xinetd
이렇게 해서 먼저 설치해주고
> 환경 설정 파일 : /etc/xinetd.d/telnet
여기를 들어가서
service telnet : telnet을 서비스를 만든다
disable = no : disable에 no 로해야지 실행이됨
flag = REUSE : flag를 재사용할것인지
socket_type = stream :telnet이 TCP 를 이용하는 서비스가 stream이기떄문
만약 이게 UDP 라면 stream 대신 dgram 으로 들어감 (만약 :TFT 라면)
wait = no : 멀티 Thread를 사용할것인지 (no 이면 Multi 씀
접근이 되있는상태에서 다른사용자가 접근하면 사용가능하게하는 것 )
user = root : (접근하는 사용자 = root)
server = /usr/sbin/in.telnetd : (서버 지정 : (telnet의 데몬명)데몬이들어감)
log_on_failure += USERID : (로그인fail 있었을때 어떤 사용자가 실패했는지확인)
이렇게 작성해주고 저장후 나가서
#systemctl restart xinetd
재실행한다 !
파일이 없는것이니 직접 작성해줘야한다
환경설정파일
-vi /etc/xinetd.conf
이게 슈퍼 데몬방식으로 작동됨 그러나 standalone 방식으로 쓰는것 뿐
no access 에 윈도 ip 주소 넣고
systemctl restart xinetd 한뒤에
window에서 telnet 접속하면 안댐
저기 중간에 windowIP 있는부분에 window를 켜서 넣어준다
참고로 window에서도 telnet을 설정해줘야한다. 프로그램 추가/제거
에기에서 선택박스 있을것이다 텔넷 클라이언트 로 그거 클릭한뒤에 해보면된다
그렇게 하면
이렇게 됬던게
아무것도 안뜬다 만약 된다면 설정후에 systemctl restart xinetd 를 안해줬기때문일것이다
추가적으로
26~28번쨰 줄에 있는것들
26 cps = 50 10 -> 동시접속자가 초당50개이상의 요청이들어오면 10초가 중지
(도스공격으로 판단하는것)
27 instances = 50 -> 동시에 50명 접속 허용
28 per_source = 10 -> 하나의 ip에서 몇개의 클라이언트요청 허용하는지
요즘엔 standalone 방식을 많이 쓴다는것 같다
자 이제 아까 설정해줬던것들은 원래대로 돌려주도록하자
안그래줘도 상관없다 왜냐면 나중에 문제가생기면 직접 생각해서 돌려주면 되기때문이다!~
하나하나 꼼꼼히 보도록 하자 ~!
기초가 탄탄해야 나중에 한참 지났을때 무너지지 않는 엄청난 거대한 탑이 되지않겠어요~!?
그럼 20000
'Information Security 정보보안 > System Security 시스템 보안' 카테고리의 다른 글
System Security DAY_006 PAM,TCPWrapper,hosts.allow,host.deny,sshd_config, 사용자별 접근 통제,그룹별 접근 통제,해킹과 취약점 (0) | 2023.12.18 |
---|---|
System Security DAY_005 (1) | 2023.12.18 |
System Security Day_004 (1) | 2023.12.18 |
System Security Day_002 (1) | 2023.12.16 |
System Security Day_001 (0) | 2023.12.16 |