UnixLinux 네트워크 보안 » 이력 » 버전 1
이태훈, 2022/08/02 07:51
| 1 | 1 | 이태훈 | h1. UnixLinux 네트워크 보안 |
|---|---|---|---|
| 2 | |||
| 3 | h2. 1) 보안 쉘(Secure Shell, SSH) |
||
| 4 | |||
| 5 | * 암호 통신을 이용해 네트워크상의 다른 컴퓨터에 접속해 원격으로 명령 실행, 파일을 조작할 수 있게 해주는 프로토콜 |
||
| 6 | * 암호화된 원격 터미널 서비스, 암호화된 파일 송수신 서비스 제공 |
||
| 7 | * TCP 22번 Port |
||
| 8 | |||
| 9 | h2. 2) 슈퍼서버(inetd 데몬) |
||
| 10 | |||
| 11 | * 클라이언트 요청을 슈퍼 데몬이 모두 받아 처리하고 개별 서비스를 호출해주는 데몬 프로세스 |
||
| 12 | * Stand-Alone 방식 : 서비스 별로 데몬 프로세스가 동작되는 방식(속도가 빠르지만, 리소스 소모가 큼) |
||
| 13 | * inetd(xinetd) 방식 : 슈퍼 데몬을 이용해 개별 서비스를 실행시키는 방식(속도는 느리지만, 리소스 소모가 적음) |
||
| 14 | * inetd 데몬 최초 실행 시, /etc/inetd.conf 파일을 참조해 서비스 프로그램들에 대한 정보를 얻음 |
||
| 15 | * TCP Wrapper와 연동해 서비스 별 호스트 접근 제어 기능을 사용할 수 있음 |
||
| 16 | |||
| 17 | h3. 1. inetd.conf 파일 |
||
| 18 | |||
| 19 | * 파일 형식 : <'service_name'> <'socket_type'> <'protocol'> <'wait_flag'> <'login_name'> <'server'> <'argument'> |
||
| 20 | |||
| 21 | * 서비스(service_name) : /etc/services 에 등록된 포트 번호를 참조해 서비스 별로 포트 부여 |
||
| 22 | * 소켓 : TCP(stream), UDP(datagram) |
||
| 23 | * 프로토콜 : /etc/protocols 에 설정된 프로토콜 중 선택(/etc/services의 프로토콜과 일치해야 함) |
||
| 24 | * 플래그 : nowait(요청 이후 즉시 처리), wait(요청 완료를 기다린 후 처리) |
||
| 25 | |||
| 26 | h3. 2. 불필요한 서비스 비활성화 |
||
| 27 | |||
| 28 | * Simple TCP 서비스(DoS 공격에 취약) : echo, discard, daytime, chargen |
||
| 29 | * R 계열 서비스(인증 없이 원격접속 가능) : rlogin, rsh, rexec |
||
| 30 | * 불필요한 RPC 서비스(다수 취약점 존재) : rpc, cmsd, rusersd |
||
| 31 | * 기타 : finger, tftp, talk 등 |
||
| 32 | |||
| 33 | h3. 3. 접근 통제(TCP Wrapper) |
||
| 34 | |||
| 35 | * 외부에서 들어오는 클라이언트에 대한 접근 통제 기능 |
||
| 36 | * /etc/hosts.allow와 /etc/hosts.deny파일 이용 |
||
| 37 | * /etc/hosts.allow를 먼저 확인해 접근을 허용하고 이 목록에 없다면 /etc/hosts.deny를 확인해 이 목록에 있을 경우 접근 차단, 둘 다 정보가 없는 경우에는 default로 허용 |
||
| 38 | * inetd.conf의 실행경로에 TCP Wrapper인 /usr/sbin/tcpd를 명시하면 외부 서비스 요청 시 tcpd를 호출해 hosts.wllow, hosts.deny를 확인해 접근을 통제 |
||
| 39 | * shell_command : hosts.deny에 등록되어 있어 차단된 호스트에게 통보나 경고 메시지를 보내는 용도로 사용(twist.spawn) |
||
| 40 | * 서비스 : ip or domain 형식으로 되어 있음 |