2023. 12. 18. 09:28ㆍInformation Security 정보보안/System Security 시스템 보안
배울 내용:
PAM
su 명령어 제한
FTP service (Xinetd)
SeLinux
TCP Wrapper
Xinetd
hosts.allow
host.deny
su 명령어 해킹 방어
해킹과 취약점
제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.
틀린게 있으면 댓글로 써주시면 고치겠습니다.
PAM(Pluggable Autentication Module)
PAM 이란 Linux 에서 사용되는 인증 모듈로
사용자의 사용 권한(접근, 패스워드 등)을 제어하는 모듈이다
좀더 쉽게 보면
GPT4를 구매기념으로 GPT에게 그림과함께 물어볼게요
"중앙에는 컴퓨터 시스템이 있으며,
이 시스템으로부터 다양한 방향으로 연결된 안전한 통로들이 나와 있습니다.
각 통로의 끝에는 다양한 인종과 성별을 대표하는 사용자들이 서 있으며,
이들 중 일부만이 특별한 키를 가지고 있습니다.
이 키를 가진 사용자들만이 중앙 시스템에 접근할 수 있음을 나타내기 위해,
그들의 통로는 녹색 빛으로 표시되어 있습니다.
나머지 사용자들의 통로는 빨간색으로 표시되어, 접근이 차단된 것을 나타냅니다.
중앙 시스템에서는 감시 카메라와 알람, 로그 기록 등의 보안 요소들이 활성화되어 있는 모습을 보여줍니다.
이 그림은 PAM 시스템이 어떻게 중요한 시스템에 대한 접근을 엄격하게 관리하는지를 시각적으로 나타냅니다."
라고합니다
su명령어 제한
지난시간엔 UID, GID를 0으로 바꾸고
su user10(UID,GID가 0 , 즉 root 계정으로 인식하게 하는) 이렇게해서
루트 권한을 얻게 되는걸 하게 되있는
이러한 방식으로 그걸 방어? 할수있다
먼저
- /etc/pam.d/su
로 들어간다
로
6 #auth required pam_wheel.so use_uid
6번째줄 주석해제 !
su를 다 인증하겠다는 뜻
이순간부터 su user10 했던것도 다 인증을하기 시작함
(즉 전에 했던 user11 에서 su user10 한게 막힐것임 (한번해보기))
만약에 그러면 다 막혀버리니깐 어떻게 사용해? 하면
vi /etc/group 에 11번째에 wheel 이 있는걸 볼수있는데 여기서
#usermod -G wheel user1 로 wheel에다가 user1 을 추가해줌
그러면
vi /etc/group 하면 이렇게 되있는데 이때
wheel:x:10:user1
kali에서 telnet으로 접속한뒤에 su 하면 가능함.
그렇지않으면 그냥 pam.d/su 에 6번째 주석해제후엔 접속불가
FTP 서비스 (Xinetd)
- /etc/vsftpd/vsftpd.conf
에 들어간다 .conf 나 config 로 끝나는거는
configuration 으로 환경설정파일이라고 생각하면된다
그리고 vsftp 에 d 같붙은건 d 가 Daemon 을나타내며
서버 프로세스로 시스템이 살아 있는 동안 항상 실행되는 백그라운드 프로세스 상태로 존재하는 것인데
나중에 데몬과 슈퍼데몬을 배우는 그냥 저런게 있다는게 알거나 검색해보길 바란다
간단히말하면 이 2개는 운영 방식의 차이가 있을뿐 같다라고 본다
다시돌아와서
124번째 줄에 ( 명령모드로 :124 하고 엔터하면 124번째줄로 가짐)
listen_ipv6=YES
-> listen_ipv6=NO 로 변경
그리고 나서 xinetd 에서 ftp 스크립트를 만들어줄거다
#cd /etc/xinetd.d/
가서
#vi ftp
service ftp
{
disable = no
flag = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_failure += USERID
}
이렇게 만들어줌
이건전에 telnet 만든걸로 만들면된다
service,server만 ftp,vsftpd로 바꿔주면댐
그뒤
systemctl restart xinetd
설정한거 다시 재시작 시켜주고
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=telnet
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
하고 kali에서 들어가면 ssh 든 telnet이든 ftp 에서든 접근됨
(방화벽 활성화 된 상태에서 연결)
(
이때는 xinetd 방식으로 슈퍼데몬방식으로 작동하게 됨
크게 보면 3단계 방어가 되있는데
Firewall 이 1차방어를하고
SuperDaemon (Xinetd) 2차 방어하고
service에서 3차방어를함 (아까 ftp 만들었던것)
나중에 pam 을끼고 TCP Wrapper를 끼면 4단계, 5단계 이상 방어가 됨
가끔 방화벽 stop 한뒤에
setenforce 0 를 할때 SELinux 어쩌고가 뜬다
[selinux 활성화/비활성]
#vi /etc/sysconfig/selinux
SELINUX=enforcing 에서
SELINUX=disabled
이렇게 바꾸면 활성화가 되지않음
(setenforce 0 )
이렇게 기본적으로 방화벽 되있음
firewall
superdeamon(xinetd)
service
tcp wrapper
pam
참고로 이중 진짜 방화벽은 커널안에 있는 netfilter 이라는 것임 (이것으로 제어)
(netfilter 진짜 방화벽 (나머지는 도구 라고봐야함 (iptables ,firewalld ,ufw)))
Xinetd 의 방식은 이렇다 Client에서 Server로 바로가는게 아닌 Xinetd 라는 곳에서 한번 들렀다 감
(client 가 xinetd에게 요청을 하면 telnet server 나 ftp server를 실행시켜줌 )
기존에는 xinetd 가없으면 telnet 이나 FTP server에 직접 요첨함
그런데 여기서
또중간에 TCPD 라는게 있음
TCP Wrapper
환경 설정 파일
- /etc/hosts.allow 는
허용 서비스/호스트 IP 주소/네트워크 주소로
vsftpd:ALL -> vsftpd 허용
in.telnetd:ALL -> telnet 허용
이런식으로 [서비스] : 허용범위 를 설정할수있다
192.168.10.100 192.168.10.160
이 ip 주소들의 호스트 모든 서비스 허용하고 싶으면
ALL:192.168.10.100 192.168.10.160
작성후 저장
hosts.allow와 반대로 deny도있는데
- /etc/hosts.deny
차단 서비스/호스트 IP 주소/네트워크 주소
이렇게 차단이 가능하다 그대신(차단된것 제외하고 다른건 열어줌)
[ALL(서비스):ALL(호스트/네트워크주소)]
ALL:ALL
모든것을 연결해주는것들
'Information Security 정보보안 > System Security 시스템 보안' 카테고리의 다른 글
System Security DAY_007 PAM,TCP Wrapper,hosts.allow,host.deny,sshd_config,사용자별 접근 통제,그룹별 접근 통제,해킹과 취약점 ,Firewall,Xinetd (1) | 2023.12.19 |
---|---|
System Security DAY_006 PAM,TCPWrapper,hosts.allow,host.deny,sshd_config, 사용자별 접근 통제,그룹별 접근 통제,해킹과 취약점 (0) | 2023.12.18 |
System Security Day_004 (1) | 2023.12.18 |
System Security Day_003 (1) | 2023.12.17 |
System Security Day_002 (1) | 2023.12.16 |