1231 - Daemon Xinetd
이걸로 들어가면
설치한 우분투가 열린다
저번시간에 설치가 끝났으니
우분투 종료하고
메모리를 2기가로 줄인다
줄인 후 실행
root로 로그인
접속 및 핑가는지 확인하고
putty로 로그인
방화벽 상태 확인
xinetd : 서비스 보안
samba : 윈도우랑 자원 공유 원래안됨 이거 설치하면 됨
그럼 권한문제가 생기겠네
윈도우 권한 6개
리눅스 권한 3개
nfs : 네트워크 파일 시스템 (공유폴더)
mount : 본체에 usb 인식시키기 = 윈도우에서는 이걸 P&P(Plug & Play) = 자동 마운트
자동 전에는 수동
RAID : 여러 물리하드를 논리적인 하나로 뭉친것 => Failover(장애복구), Load Balancing(부하분산)
LVM : 여러 물리하드를 하나로 묶어서 다시 논리적으로 쪼갠것 => 뷔페가서 내가 마음대로 먹고싶은만큼 먹는다 = 하드를 효율적으로 운용
dns : 이름(도메인) <=> IP : 구글번역기와 같은 놈 / FQDN : 전체로 정의된 도메인 이름 (www.naver.com.)
기본적으로 udp인데 길이가 길어지면 tcp를 쓴다
apache : 리눅스의 대표적인 web service
nginx : 경량화된 web service
Rocky로 가서 일시중지했던거 시작
기본으로 설정하고 다시시작
root로 들어가서 ip 확인하고
putty로 ssh 접속
ssh는 가동중이지만 root로 접속이 안됨
이 파일로 이동해서 set nu하면 40번째줄을 yy 해서 복사하고 p로 붙여넣어서
#을x로 지우고 w로 다음 단어로 이동해서 x로 뒤에 한글자씩 다 지우고 yes적고 :wq
ssh로 root 접속 안되면 여기 들어가서 수정하면됨
설정하고 재시작
service sshd restart = systemctl restart sshd
putty로 접속됨
xinetd
server : 서비스를 제공 (여기선 ubuntu로)
client : 서비스를 사용 (여기선 rocky로)
daemon
=> 시스템에 관련된 작업을 background process로 실행해 주는 프로그램
=> 항상 돌아가고있다
포그라운드 백그라운드
ctrl+z하면 멈춤
jobs => 지금 실행중인 프로세스 확인
bg [번호] => 선택한 번호를 백그라운드로 변경
[명령어] & => 처음부터 백그라운드로 돌린다
백그라운드를 끄려면 포그라운드로 변경하고 꺼야한다
fg [번호] => 선택한 번호를 포그라운드로 변경
gui는 멀티 프로세스
cui는 하나밖에 안보임
윈도우 입장에서는 둘다 포그라운드인데
gui 입장에서는 바탕화면이 포그라운드 파일탐색기가 백그라운드
gui에서는 이걸 클릭으로 변경한다
standalone과 xinet 방식이 있다
standalone => 독단적실행, 빠른응답속도, 빠른 실행, 보안상 약점 (Linux는 standalone이 기본값)
xinet => 퍼미션에게 물어보며 실행, stanalone의 단점이 사라짐, 허락받아야함, 실행의 시간이 걸림 => 느려짐 (설치 필요)
standalone : 독립적으로 실행되는 모드, 해당 서버의 데몬이 메모리에 항상 상주하고 있으며, 서비스 요청이 있을때마다 언제든지 응답
apache(웹서버), dns(도메인네임서비스). nfs(파일공유시스템) 등등
ntsysv에 있는 데몬들은 모두 standalone에 속한다
장점 : 서비스 요청에 바로 응답하기 때문에 빠르다
메모리상에 항상 상주하기 때문에 자주 사용하는 서비스에는 효율적이다
단점 : 서비스 요청이 없을때는 메모리상에서 '작업하지 않는 유후(IDLE)상태'에 접어들기 때문데
CPU를 차지하진 않지만, 메모리와 기타자원을 차지하게 된다
xinet : Xinet 이라는 슈퍼 데몬이 여러 서비스들의 연결을 제어해주는 방식
메모리상에 항상 올라가있지는 않지만 클라이언트가 서비스를 요청하면 그 순간 자동으로 올라간다
ex)telnet 서비스에 접속을 시도하면 바로 연결되는 것이 아니라
Xinet 데몬에게 허가된 접속인지 확인 후 Telnet서비스에 연결을 해준다.
장점 : Client가 Service를 요청할때만 메모리상에 올라가기 때문에 서버부하를 줄일 수 있다
자주 사용하지 않는 서비스에 적합
단점 : Standalone 보다 응답속도가 느리다.
다양한 옵션을 주기가 어렵다
※기존에는 inetd라는 데몬을 사용하였으나, 취약점이 많이 발견되어
현재는 확장버젼 xinetd를 사용하고 있다. (x==> extended)
offline(cd-rom) online
Debian 계열 ubuntu dpkg apt,dnf
SlackWare 계열 dpkg,rpm(약간씩) yum, dnf
Redhat 계열 RHEL - downstreaming rpm yum, dnf
-> centos, rockylinux
dpkg -l : 설치된 패키지 전체 보기
설치가 완료됨
xinetd 실행
데몬 뒤에는 항상 d가 붙음 (sshd, httpd 등...)
로키는 이렇게 확인
xinetd
6대옵션
1,2가 충돌나면 1이 우선이다
cps => 초당 몇번이상 제한을 거는것
제한을 넘어가면 사용 못함
instances => 몇명이 접속되는지
per_source => 똑같은 ip에 몇개 접속가능한지
access_times => 시간에는 접속 허용
부모님파일 (xinetd.conf)에 설정하면 전체 적용
개인 파일에 설정하면 개인만 적용됨
telnet 설치
파일을 하나 새로 생성
#soket_type = stream
사용하는 TCP/IP 소켓이다.
= stream 신뢰성있는 데이터전송 ( tcp )
= dgram 비연결 데이터전송 ( udp )
wait = no
접속이 되면 바로 접속되게끔한다
yes를 하면 접속 순서를 바꿀수있다
failure : 누가오는지 다 기억해두는거
disable = no
이걸 yes로 하면 서비스가 안됨
xinetd가 돌아가는걸 볼 수 있다
클라이언트인 로키 접속
서버역할할거면 왼쪽, 클라이언트할거면 오른쪽
클라이언트를 할거기때문에 오른쪽을 설치한다
설치가 완료되었으면
텔넷 명령어를 이용해서 접속 가능하다
윈도우에서 win+r => powershell
telnet ip 적어서 접속가능
원래는 패키지가 없어서 실행이 안되는데 저번에 나는 패키지를 깔아서 실행이됨
텔넷 클라이언트 체크하고 확인
우분투에서 명령어를 입력하면
윈도우, 로키에서 접속한걸 볼 수 있다.
이건 열어둔 포트를 보는것
위는 열어둔 포트, 연결된 포트들 전부 보여주는것
로키랑 윈도우에서 telnet을 끊으면 established에서 time-wait로 바뀜
=> 4 hand shake
시간이 지나면 완전히 사라짐
옵션을 할거임
전체 통제
윈도우 접속만 막아본다
고치고 나서는 꼭 다시 시작해야한다
명령어를써도 접속이 안됨
로키는 정상적으로 접속됨
연결된것도 나온다
연결된걸 다시 끊고
설정파일의 내용을 바꾼다
재시작하고
접속을 시도해보면 둘다 접속이 안된다
192.168.1번대의 네트워크를 전부 들어오지 않게 막았기때문
기존의 설정을 주석처리하고
윈도우만 들어오도록 설정하면
윈도우는 정상적으로 접속이 되지만
로키는 들어올 수 없다
다시 이렇게 바꾸고
재시작하면
접속이 된다
여기서도 현재 접속이 되어있는걸 볼 수 있다.
만약 이렇게 충돌이 일어나게 설정한다면
두개 모두 접속이 안됨
윈도우에서는
이런식으로 화이트리스트로
로컬에서도 관리하고
공유를 이용해서 네트워크 공유도 가능하다
리눅스에서는 계정이 있는 파일 => /etc/passwd
이 계정들은 일정한 폼을 가지고 만드는데 login.defs라는 파일을 가지고 만든다
윈도우의 보안정책 보는곳
리눅스에서 보는곳 sestatus
정책은 ufw에 가서 설정해야함
/etc/selinux/config 파일은 SELinux(보안 강화 리눅스)의 설정 파일로, 시스템에서 SELinux의 동작 방식을 제어합니다. SELinux는 리눅스 시스템에 강제 접근 제어(MAC, Mandatory Access Control)를 적용하여 보안을 강화하는 기술입니다
여기는 정책을 바꾸는게 아니라 접근 동작 방식을 제어하는 파일이다
우분투는 깔려있지않음
=> 우분투는 클라이언트용으로 많이 쓰기때문에
rocky는 서버용으로 많이 쓰기때문에 기본적으로 들어있는것
max_load => 최대 부하율
cps = 2 60
1초에 2번은 허용하겠다
3번째부터는 잠글것이다.
60초동안 잠글것이다
연달아서 실행해보면
접속되지않는다
cps => 브루트포스 공격(무차별 대입 공격)을 막기 위한 방어기제
instances => 총 접속자수
윈도우를 접속했더니 로키가 접속이 안됨
윈도우를 나가고 로키를 접속하고나면 윈도우가 접속이 안됨
per_source = 1
=> 똑같은 출발지에서는 한대만 접속가능하게
하나만 접속하고나서는 다음껀 접속이 안된다
access_times = 15:00 - 15:01
=> 이 시간만 접속 가능하게 설정
시간이 지났는데 제대로 접속이됨
이거는 전체에서가 아닌 하위에서 설정을 해야 적용된다
다시 설정파일로 가서
sp를 사용해서 하위에 만든 파일을 연다
컨트럴 ww해서 창을 옮겨다닐 수 있다.
원래는 아래에 있는걸 yy로 복사해서 위에 p로 붙여넣으면 되는데 나는 다 지워서 그냥 써야한다
이렇게 바꾸고
저장 한 다음 재시작하고
시간이 지나서 접속을 시도해보면
접속이 안된다.
전에 했던건 전체 통제
지금 여기서 하는건 개별통제
윈도우는 못 들어가고 로키만 들어가진다
very secure file transfer protocol
ftp인데 매우 보안성이 있는 프로토콜임
설치가 정상적으로 됨
얘는 깔았는데 바로 실행이됨
xinetd가 아닌 standalone으로 돌아감
xinetd로 돌아가는 것들은 적재함에 들어가있다.
여기가 적재함임
21번에 정상적으로 돌아가고있음
로키로 가서 ftp 패키지를 다운로드 받고
접속을 시도해보면 접속된다
윈도우에서도 접속이 된다
윈도우에서는 exit가 아니라 by로 나가야한다
파일을 복사하고
내용을 수정한다
재시작한 다음 다시 접속한다
윈도우랑 로키 접속
xinetd는 아직 standalone으로 돌아가고있어서 xinetd로 나오는게 아님
그래서 standalone으로 돌아가는 프로세스를 지워야한다
listen = no를 (기본값 = xinetd 말을 듣지 않겠다 = standalone으로 돌아가겠다)
listen = YES로 바꿔줘야한다 (xinetd 말을 듣겠다)
설정을 바꾸고 재 시작한다
그러면 두개가 나온다
둘다 아래 주석으로 바꿔주고
접속하려다가 접속이 안된다
standalone일때는 안뜨던게 xinetd 하니까 ipv4와 ipv6가 둘다 떠서 안되는거
여기로 가서
이부분을 주석처리한다
하고 재시작한다
그래도 안되서
다시 파일로 들어가서
이부분을 추가한다
그래도 안됨
이거는 우분투 버전마다 세팅값이 달라서 안되는거라서 지금은 고칠 수 없음
그리고 우분투에서는 vi /etc/vsftpd.conf에서 listen = yes를 하면 xinetd인데 여기는 14행
cent나 rocky에서는 vi /etc/vsftpd/vsftpd.conf에서 listen = yes를 하면 standalone이 된다. 여기는 110행
우분투는 내가 안듣겠다 인데 클라이언트니까 stanalone
cent나 rocky는 내가 안듣겠다인데 내가 서버니까 xinet
우분투 ip 바꾸기
gui 환경
168.126.63.1 => kt
8.8.8.8 => 구글
다시 자동으로 바꾸고
tui 환경에서 바꾸기
내용을 다음과 같이 수정
퍼미션때문에 오류가 발생해서 퍼미션을 변경하고
netplan apply를 하면 된다
여기에 설명 있음