네트워크 ~ DB 이론 정리
1. network 정의에 대해 서술하시오
- 장비들을 특정 매체를 통해 연결시켜 공유할 수 있는 환경을 만들어 주는 것
2. network 목적 4가지를 쓰시오
- 정보 공유, 하드웨어 및 소프트웨어 공유, 관리 및 자원의 집중화, 빠른 데이터 교환
3. LAN이란 무엇인가?
- 근거리 통신망
- 조직 내부나 동일 건물 등 비교적 좁은 지역을 연결하기 위한 네트워크
- 속도가 빠름
- 대표적인 기술 : Ethernet
4. WAN이란 무엇인가?
- 원거리 통신망
- 물리적으로 넓은 범위를 연결한 광역 네트워크
- 속도가 느림
5. Protocol이란 무엇인가?
- 표준화된 통신 규약
- 컴퓨터나 네트워크 장비가 서로 통신하기 위해서 미리 정해놓은 약속
- 통신을 원하는 두 개체간에 무엇을, 어떻게, 언제 통신할 것인가에 대한 절차/규범/규정/규약/규칙
6. OSI 7 Layer 참조 모델의 사용 목적 3가지를 쓰시오
- 각 계층의 역할게 맞는 개발에 참조
- Trobleshooting 시 참조
- 학습 목적으로 사용
7. OSI 7 Layer 의 각 계층 이름을 한글, 영어로 쓰시오
- 1계층 : 물리 계층 (Physical)
- 2계층 : 데이터 링크 계층 (Date Link)
- 3계층 : 네트워크 계층 (Network)
- 4계층 : 전송 계층 (Transport)
- 5계층 : 세션 계층 (Session)
- 6계층 : 표현 계층 (Presentation)
- 7계층 : 응용 계층 (Application)
8. 1계층의 데이터 단위는?
- Bit
9. 1계층의 역할은?
- 비트형태의 신호를 전기적 신호로 변환
- 전기적 신호 전달
10. cable의 종류 4가지만 쓰시오
- 동축 케이블, 꼬임 쌍선 케이블, 시리얼 케이블, 광 케이블
11. hub의 동작방식에 대해 쓰시오.
- 한쪽 port로 전달받은 신호를 재생시켜 나머지 포트로 모두 전달함
- 다수의 포트를 이용하여 장비의 연결을 집중시키는 집선 장비로 사용함
12. 신호 전달 방식 3가지에 대해 설명하시오.
- Simplex
> 단방향 신호 전달 방식
> 한 방향으로만 신호 전달 가능
- Half - Duplex
> 반 이중 신호 전달 방식
> 양쪽 전송이 가능하지만 한 순간에 한 방향으로만 신호 전달 가능
> Hub의 기본 신호 전달 방식
- Full - Duplex
> 전 이중 신호 전달 방식
> 동시에 양 방향으로 신호 전달 가능
> Switch의 기본 신호 전달 방식
13. hub의 문제점은 무엇이며 그를 위한 해결 방법은 무엇인가?
- Half - Duplex 통신만 지원되므로 경쟁을 통해 매체를 이용하는 환경에서는 신호의 충돌이 발생할 가능성이 존재함
- Collision Domain
> Half - Duplex 환경에서 동시에 양방향으로 Data가 전송되는 경우 충돌이 발생
> 신호 충돌이 발생 가능한 영역을 Collision Domain이라 함
- 해결 방법
> CSMA/CD 기법
> Switch 등 Layer 2 이상의 장비 사용 (Full - Duplex로 동작)
14. 2계층의 데이터 단위는?
- Frame
15. 2계층의 역할은?
- 인접 장비 접근을 위한 MAC 주소 지정
- Network 환경 정보 지정
16. 데이터 전송방식 3가지에 대해 설명하시오.
- Unicast
> 단일 장비로 데이터를 전송
> 원하는 대상에게만 데이터 전송 가능
> 다른 장비에 부하를 주지 않음
- Broadcast
> 다수 장비로 데이터를 전송
> 동일한 정보를 한번에 모든 장비로 전송 가능
> 너무 많이 발생하면 성능이 저하됨
- Multicast
> 특정 그룹 장비로 데이터를 전송
> 미리 약속된 그룹들이 있음
> 원하는 그룹을 만들어서 사용 가능
17. MAC주소는 무엇인가?
- NIC에 부여된 고유 식별 값
- Network 통신에서 인접 장비에 접근하기 위해 사용되는 장비의 고유 이름
18. ethernet의 type 헤더는 무슨 정보인가?
- 상위 계층의 Protocol 코드 값
- 최소 코드 값은 16진수 값 0x0600 부터 사용됨
19. switch의 기본기능 5가지에 대해 설명하시오.
- Address Learning : 2계층 주소(MAC 주소)를 학습하는 기능
- Filtering : MAC Table에 일치하지 않는 경로로 전송해 주는 기능
- Flooding : 모든 경로로 데이터를 전송해 주는 기능
> MAC Table에 없는 MAC 주소를 받은 경우
> Broadcast/Multicast 데이터를 받은 경우
> MAC Table이 가득 찬 경우
- Aging
> MAC Table을 관리하기 위한 기법
> 한번 사용된 MAC 주소가 일정 시간 사용되지 않으면 삭제
> Aging Time 기본 300초
> 다시 사용되면 Aging Time 초기화
- Loop avoidance : Loop를 회피할 수 있는 기능
20. switch의 작동방식 3가지에 대해 설명하시오.
- Store and Forward
> 프레임을 모두 전송 받아 검사한 후 전달
> FCS부터 체크하기 때문에 안정성이 높아짐
> 속도가 떨어짐
- Cut - Through
> 가장 빨리 전달하는 것
> 목적지 주소까지 확인한 후 바로 전달
> 안정성이 떨어짐
> 속도가 빠름
- Fragment - Free
> 프레임을 최소사이즈 64byte까지만 검사한 후 전달
> 프레임의 64byte를 검사해서 FCS가 있으면 Store and Forward 방식
> FCS가 없으면 Cut - Through
21. 3계층의 데이터 단위는?
- Packet
22. 3계층의 역할은?
- 최종 목적지 구분을 위한 IP 주소 지정
- 최종 목적지로 데이터가 전달되는 경로 설정 (routing)
23. IP주소란 무엇인가?
- 전체 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호
- IP 주소는 고유한 값으로 사용
24. subnetmask의 용도는 무엇인가?
- Net ID와 Host ID를 구분하기 위한 용도
25. IP에 대해 아는대로 설명하시오.
- OSI 7 Layer에서 3계층에 해당하는 프로토콜
- Packet을 지정된 목적지 네트워크까지 전달하는 역할을 담당
- 비 연결 지향적
- 비 신뢰성
- 종단간 연결 보장
- IP 주소에 따라 네트워크간 전송 경로를 제어
26. IP의 TTL 헤더는 무슨 정보인가?
- Network 환경에서 Packet이 생존할 수 있는 시간
- Router가 데이터를 내보낼 때 TTL 값이 1씩 감소됨
27. IP의 Identifier헤더는 무슨 정보인가?
- IP 계층에서 단편화가 수행되기 전 원본 데이터의 식별 값
- 통신의 시작 데이터는 Random Number로 할당되며 연속된 통신의 다음 데이터는 +1 증가한 값을 할당 받음
28. IP의 IP flags헤더는 무슨 정보인가?
- 단편화 유무를 체크하기 위한 필드
> X : 사용하지 않는 bit
> D : 단편화를 할 수 있는 경우 0, 할 수 없는 경우 1 값을 가짐
> M : 단편화 된 마지막 조각이면 0, 추가로 조각이 있으면 1 값을 가짐
29. IP의 fragment offset헤더는 무슨 정보인가?
- 단편화 된 데이터의 순서를 나타내기 위한 필드
- IP Header를 제외한 Payload의 시작 크기 값을 순서 번호로 사용함
30. ARP는 무엇인가?
- 주소를 재 해석 해주는 프로토콜
- 논리적인 주소(IP)를 기반으로 물리적인 주소(MAC)을 알아오는 기술
- 3계층 프로토콜이지만 IP 하위에서 동작하는 프로토콜
- 특정 프로그램에 의해 호출되었을 때만 동작함
31. ARP로 알아낸 정보가 저장되는 곳의 명칭은 무엇인가?
- ARP Cache Table
32. ARP 헤더의 Target hardware address에는 무슨 정보가 들어가는가?
- 받는 시스템의 물리적 주소
- 모르는 경우 00:00:00:00:00:00 값이 들어감
33. ARP request란 무엇이고 어떤 식으로 전송되는가?
- 출발지 컴퓨터가 목적지 주소를 모르면 MAC 주소를 알아내기 위해 네트워크에 브로드 캐스팅을 하는 것
34. ICMP는 무엇인가?
- 인터넷 제어 메시지
- 네트워크 관리 및 오류 보고를 위해 사용됨
- IP의 비 신뢰성, 비 연결성의 단점을 보완하고다 사용되는 IP Supported Protocol
- IP보다 상위에서 동작하는 Layer 3 Protocol
- 특정 프로그램에 의해 호출되었을 때만 동작함
- Message 형식으로 정보를 알림
35. Router는 무슨 장비인가?
- Routing을 통해 최적의 경로를 찾아 목적지로 전달될 수 있도록 연결된 다음 장비로 전송해 주는 장비
- 결정된 경로를 Routing Table에 기록하여 관리
36. 최적의 경로를 결정하는 작업을 무엇이라 하는가?
- Routing
37. Router의 역할 3가지에 대해 쓰시오.
- Broadcast Domain을 줄여주는 역할
- 네트워크 영역을 구분해 주는 역할
- G/W
38. Router는 전송 데이터가 들어오면 어떤 것을 보고 최적의 경로를 결정하는가?
- Routing Table 정보
39. RIP와 OSPF의 차이점에 대해 설명하시오.
- RIP
> 거리 벡터 라우팅 프로토콜
> 최단 거리(Hop Count) 기준으로 경로를 선택
- OSPF
> Link 상태 라우팅 프토로콜
> 빠른 속도 (Link State) 기준으로 경로를 선택
40. 4계층의 데이터 단위는?
- Segment
41. 4계층의 역할은?
- 서비스 구분 (Port 주소 지정)
- 데이터 전송 방식 결정
- 필요에 따라 단편화 작업 수행
42. UDP에 대해 설명하시오.
- 데이터의 빠른 전달을 보장하기 위해 사용됨
- 빠른 속도 보장을 위해 대부분의 기능을 제한함
> 비 신뢰성
> 비 연결 지향성
> 최소화된 Header
43. TCP에 대해 설명하시오.
- 데이터 전달의 신뢰성을 최대한 보장
- 연결 지향
> 데이터를 전달할 논리적인 연결을 먼저 구성 -> 3 way Handshake
> 연결 설정 -> 데이터 전송 -> 연결 종료
- 신뢰성 보장
> 순차적으로 데이터를 전송함
> 확인 응답 및 재전송
- 흐름 제어
> 데이터 전달에 지연 현상이 발생했을 때 데이터의 양을 조절 -> Sliding Window
44. TCP 확인응답 3가지에 대해 설명하시오.
- 일반 확인 응답
> 출발지에서 Segment가 전달되면 반드시 목적지에서 전달 받았음을 확인함
> 출발지는 목적지의 확인 응답 TCP 메시지를 전달 받아야지만 다음 순서의 데이터를 전달할 수 있음
- 누적 확인 응답
> TCP 연결 설정을 통해 한번에 보낼 수 있는 Segment의 양을 약속함
> 출발지에서는 지정된 양에 해당하는 Segment를 목적지의 확인 응답이 없어도 계속 전달함
> 목적지는 지정된 양의 Segment를 전달 받았을 때 하나의 확인 응답을 전달함
- 선택적 확인 응답
> 누적 확인 응답의 문제점의 해결 -> 중간에 손실된 Segment가 발생하면 정상적으로 전달받은 Segment까지 재전송이 되야 함
45. TCP flags 6가지는 무엇인가?
- U(URG), A(ACK), P(PSH), R(RST), S(SYN), F(FIN)
46. TCP의 상태 천이 다이어그램중에서 데이터 전송 준비를 완료하여 전송하는 상태를 무엇이라 하는가?
- ESTABLISHED
47. 외부로 나가는 경로가 하나인 네트워크를 무엇이라 하는가?
- Stub Network
48. NAT란 무엇인가?
- 주소 변환 기술
- 공인 IP 부족 현상을 완화하기 위해 제안된 기술
> 사설 IP를 지정하여 intranet 내부에서만 임의의 IP를 사용할 수 있게 함
> 중복된 IP를 사용할 수 있으므로 사설 IP를 이용한 공용 네트워크 통신을 제한함
> intranet에서 공용 네트워크에 접근하기 위해 네트워크를 연결하는 Router에서 사설 IP를 공인 IP로 변환 시켜
내보내야 함
49. NAT의 사용목적 3가지에 대해 쓰시오.
- IPv4 부족 현상 완화
- 공인 IP 사용 비용 감소
- 보안
50. NAT의 종류 3가지를 쓰고, 각각 설명하시오.
- Static NAT
> NAT Table의 변환 정보를 관리자가 직접 지정하고 관리함 -> 정보가 고정됨
> 사설 IP(1) : 공인 IP(1)
> Server에 Client가 접근할 수 있게 함
- Dynamic NAT
> NAT Table의 변환 정보를 장비가 직접 생성하고 관리함
> 사설 IP(n) : 공인 IP(m) -> 동시에 통신 가능한 장비가 공인 IP 수로 제한됨
> 내부 호스트 장비의 공용 네트워크 통신을 위해 사용됨
- NAT - PAT
> 일반 Dynamic NAT의 한계를 극복
> 사설 IP(n) : 공인 IP(1) -> 하나의 공인 IP로 다수의 사설 IP를 이용한 통신이 지원됨
51. VLAN이란 무엇인가?
- L2 Swtich부터 제공되는 가상의 LAN을 구성하는 기능
- 논리적인 네트워크 분리 기술
- Switch Port에 VLAN에 대한 정보를 설정함
52. VLAN의 사용목적 3가지에 대해 쓰시오.
- 네트워크 분리
> Broadcast Traffic 축소
- 보안
> 네트워크가 분리되므로 정책을 통해 허용된 대상만 접근하게 함
- 유연성
> 기존 topology의 큰 물리적인 변화가 없어도 네트워크 구조를 변경할 수 있음
53. VLAN 통신시 추가되는 데이터의 이름은?
- 802.1q
54. VLAN 사용시 End Point에 연결하는 port의 이름과 특징에 대해 쓰시오.
- access port
> 하나의 VLAN 통신을 지원하는 port
> End device와 직접 연결되는 port
> VLAN 정보를 제거하고 데이터 전송
55. VLAN 사용시 네트워크 장비(switch, router)에 연결하는 port의 이름과 특징에 대해 쓰시오.
- trunk port
> 여러 VLAN 트래픽이 전달될 수 있음
> Switch간/Router와 연결되는 port에 설정하는 mode
> VLAN 정보를 데이터와 함께 전송
56. ACL은 무엇인가?
- Router 내부 정책을 통해 데이터를 Filtering 해주는 역할
- 정책에 따른 트래픽 필터링, 식별, 분류, 암호화, 변환 작업 등을 수행함
- ACL 정책은 항상 위에서 아래로 순차적으로 적용됨
57. ACL의 특징에 대해 쓰시오.
- 순차적인 동작
- 조건에 명시되어 있는 정보와 전달받은 packet의 정보를 비교하여 지정된 Action을 수행함
- 모든 조건에 해당되지 않으면 ALL Deny
58. ACL 정책 구성할때 표현하는 2가지 형태와 각각 설명하시오.
- Numbered 형 ACL
> 숫자를 식별 값으로 사용하는 ALC
> 주로 특정 기능 수행을 위한 트래픽 분류를 목적으로 사용됨
- Named 형 ACL
> 문자를 식별 값으로 사용하는 ACL
> 방화벽의 보안 정책 구성 및 복잡한 정책 구성을 할 때 사용됨
59. ACL의 standard와 Extended 방식의 차이점에 대해 쓰시오.
- Standard ACL
> ACL Number 1~99, 1300~1999 사용
> 필수 조건 -> Source IP
> Wildcard Mask를 이용하여 조건에 매치할 IP의 범위를 지정할 수 있음
> 특정 키워드를 이용해 범위 지정 가능
- Extended ACL
> ACL Number 100~199, 2000~2699 사용
> 필수 조건 -> Protocol, Source IP, Destination IP
60. Wildcard Mask란 무엇인가?
- 특정 IP나 Network를 추출하기 위해서 사용하는 필터 값
- Subnet Mask로 표현할 수 없는 부분을 나타내기 위해 사용
61. 운영체제란 무엇인가?
- 하드웨어와 소프트웨어를 관리하는 시스템
- 사용자가 편하게 컴퓨터를 사용할 수 있는 환경을 제공하는 프로그램
- 컴퓨터 시스템의 자원을 효율적으로 할당, 관리, 보호
- 시스템 오류나 잘못된 자원 사용을 감시하고 입출력 장치에 대한 연산/제어를 관리하는 제어 프로그램
62. 운영체제의 구성요소 3가지는 무엇이고 각자에 대해 설명하시오.
- User Interface
> 사용자가 시스템을 조작(입력), 동작결과 확인(출력)등을 조작하게 도와줌
- Shell
> 사용자가 user interface로 전달한 명령을 시스템 언어에 맞게 해석
- Kernel
> 하드웨어, 프로세스 등을 제어하는 자원 관리자
63. 절대경로와 상대경로의 차이점은 무엇인가?
- 절대 경로
> 최상위 디렉터리를 기준으로 경로 정보 표현
> 사용자의 현재 위치와는 관계 없음
- 상대 경로
> 현재 위치 기준으로 경로 정보 표현
64. 상위 디렉터리를 경로로 표현하는 방법은?
- ..
65. 메뉴얼 확인 명령어는?
- man
66. 2019년의 전체 달력을 확인하기 위해 입력해야 것은?
- cal 2019
67. 파일의 시간정보만을 바꾸기 위한 명령어는??
- touch -t file1
68. 파일을 만들수 있는 명령어 4가지
- touch, echo, cat, vi
69. Hello 라는 이름의 파일을 생성하며 "world"라는 텍스트를 동시에 생성하는 명령어는?(한줄로 입력)
- echo "world" > /etc/Hello
70. 사용한 명령어 목록 확인을 위한 명령어는?
- history
71. vi를 입력하여 vim 명령어가 작동하기 위해서 어떤 명령어를 입력해야 하는가?
- vi /etc/파일명
72. poweroff와 halt은 무슨 명령어이고 차이점은 무엇인가?
- poweroff와 halt는 시스템 즉시 종료 명령어이다.
- poweroff는 동기화 시키지 않고 종료하기 때문에 sync로 동기화를 하고 사용해야 한다.
73. 시스템은 재부팅하기 위한 명령어 2가지를 쓰시오.(가능하면 3가지)
- reboot
- shutdown
- init 6
74. run level 0~6 번에 대해 차례로 설명하시오.
- run level 0 : 종료 모드(하드디스크 동기화 후 종료)
- run level 1 : 단일 사용자 모드(시스템 복구)
- run level 2 : 다중 사용자 CLI(NFS/X-window를 제외한 부팅)
- run level 3 : 다중 사용자 CLI(X-window를 제외한 부팅)
- run level 4 : X(사용하지 않음)
- run level 5 : 다중 사용자 GUI(X-window 환경으로 모든 서비스 포함)
- run level 6 : 재부팅 모드(시스템 재시작)
75. /bin 디렉터리는 무슨 디렉터리 인가?
- 사용자를 위한 명령어 저장 디렉터리
76. /home 디렉터리는 무슨 디렉터리 인가?
- 사용자 계정의 홈 디렉터리 기본 경로
- 계정명으로 홈 디렉터리가 생성됨
77. /etc 디렉터리는 무슨 디렉터리 인가?
- 시스템 및 프로그램의 환경설정 파일 디렉터리
- 계정 파일, 네트워크 설정 파일 등 시스템의 주요 관리 파일이 있음
78. /sbin 디렉터리는 무슨 디렉터리 인가?
- system 관리용 명령 저장 디렉터리
- 시스템 수정, 복구 작업에 사용되는 명령어
- 일반 사용자들의 접근을 제한해야 함
79. /tmp 디렉터리는 무슨 디렉터리 인가?
- 모든 프로그램이 실행 세션 동안 사용할 수 있는 필요한 파일을 저장하는 장소
80. etc디렉터리 밑 sysconfig라는 디렉터리 하위에 모든 파일 목록을 보고자 한다. 명령어를 쓰시오.
- ls -a /etc/sysconifg
81. 사용자 계정 HACK의 기본 홈디렉터리로 가고자 한다. cd를 이용하여 명령어를 쓰시오.(두가지 방법)
- cd /home/HACK
- cd ~HACK
82. touch는 두가지 기능을 가진 명령어다. 두가지 기능은 무엇인가?
- 파일 생성, 파일 내용 작성
83. cat을 이용하여 파일 내용을 입력한 경우 저장 후 종료하는 단축키는 무엇인가?
- ctrl + d
84. /root의 파일 목록 중에서 test라는 이름을 가진 파일의 권한을 보고자 한다. 명령어를 치시오.
- ls -l /root | grep test
85. 빈 디렉터리 생성, 빈 디렉터리 삭제, 빈 파일 생성, 파일 복사, 강제 파일 삭제, 파일 이동, 파일 이름 변경 명령어를 차례로 쓰시오.
- mkdir dir1
- rmdir dir1
- touch file1
- cp file1 file2
- cp file1 file2
- rm -f file1
- mv file1 file2
86. find 명령어를 이용하여 root의 홈디렉터리에서 이름이 file1인 파일만 찾기
- find /root -name "file1"
87. find 명령어를 이용하여 root의 홈디렉터리에서 이름 file로 시작하고 한문자가 더 존재하는 파일 및 디렉터리 찾기
- find /root -name "file*"
88. find 명령어를 이용하여 root의 홈디렉터리에서 이름이 file이 아닌 디렉터리만 찾기
- find /root -name -type f -not -name "file"
89. find 명령어를 이용하여 최상위 디렉터리 하위에서 심볼릭 링크 파일만 찾기
- fine / -type l
90. 계정에 대해서 쓰시오.
- 사용자를 식별하고 인증을 받거나 로컬/네트워크 자원에 접근하는 것을 가능하게 해주는 객체
91. 그룹에 대해서 설명 하시오.
- 비슷한 객체의 논리적인 집합
- 권한을 편리하게 할당하기 위하여 사용
- 하나의 그룹에 소속된 계정은 그룹의 권한을 그대로 상속 받음
92. 계정 및 그룹을 사용하는 목적에 대해 설명하시오.
- 사용자를 식별하여 인증/접근 가능
- 권한을 할당하여 보안성 향상
- 사용자 별 환경을 제공
93. 사용자 계정의 패스워드가 저장된 파일의 경로를 쓰시오.
- /etc/shadow
94. 사용자 계정의 기본 정보가 저장된 파일의 경로를 쓰시오.
- /etc/passwd
95. 전체 사용자 계정을 생성시 사용자 홈 디렉터리를 생성하지 않도록 하려면 어떤 설정파일을 설정하면 되는가?
- /etc/login.defs
96. 사용자 계정을 생성 시 Shell 파일을 변경하려면 어떤 설정파일을 설정하면 되는가?
- /etc/default/useradd
97. /etc/skel 디렉터리에 대해서 설명하시오.
- 사용자 계정의 홈 디렉어리에 제공 할 기본 환경설정 파일이 저장된 디렉터리
- 사용자 홈 디렉터리의 초기 환경 제공을 위해 사용됨
- 사용자 계정을 생성했을 때 skel 디렉터리에 있는 파일들이 자동으로 사용자 홈 디렉터리로 복사됨
98. 소유권에 대해서 설명하시오.
- 개체에 대한 소유자와 소유 그룹
- Linux 시스템의 모든 개체는 소유자와 소유 그룹이 지정되어 있음
- 파일 생성 시 파일을 생성한 계정이 파일의 소유자가 됨
- 파일 생성 시 파일을 생성한 게정의 기본 그룹이 파일의 소유 그룹이 됨
99. 허가권에 대해서 설명하시오.
- 개체에 접근할 수 있는 자격
- 개체를 읽거나, 쓰거나, 실행하는 행위
- 소유자, 소유 그룹, 나머지 사용자 단위로 권한을 부여함
100. rwxrwxrwx에서 모든 소유권에서 실행 권한을 삭제하는 명령어를 쓰시오.(절대모드, 상대모드)
- chmod a-x file1
- chmod 666 file1
101. 리눅스에서 기본으로 개체를 생성할때 umask가 022인경우 파일, 디렉터리의 기본 권한은 무엇인가?
- 755
102. 소유그룹의 권한을 빌려와서 파일을 실행하는 권한의 이름은?
- setgid
103. 심볼릭 링크와 하드링크의 차이점에 대해 설명하시오.
- 심볼릭 링크
> 다른 파일 시스템에서도 링크 가능
> 별도의 inode를 가지며 링크 파일이 가지고 있는 용량만큼 디스크의 공간을 차지함
> 원본의 링크 카운트가 증가하지 않음
- 하드 링크
> 다른 파일 시스템에서 링크 불가능
> 원본과 동일한 inode를 사용함
> 원본의 링크 카운트가 증가함
104. linux의 특징에 대해 아는대로 전부 쓰시오.
- 오픈 소스
- 기존 유닉스 커널을 경량화 하고 GNU project의 C 라이브러리를 포함한 운영 체제
- 기본적인 리눅스 커널을 바탕으로 여러 종류의 배포판이 만들어져 있음
105. 이중화에 대하여 설명하시오.
- 물리적인 장비, 연결되는 케이블, 시스템 등을 예비로 2개 이상 운영하여 장애를 대비함
> 장비 이중화, 링크 이중화
- 사용 목적
> 고 가용성 -> 서비스를 중단 없이 지속적으로 제공하는 성질
> 부하분산 -> 트래픽을 분산시켜 네트워크의 성능 향상을 목표로 함
106. switch 이중화시 문제점 3가지를 쓰시오.
- Mac Database Instability
> 서로 다른 포트에서 같은 MAC 주소가 학습되는 현상
- MultiFrame Copy
> 하나의 Frame이 2개 이상으로 복사되어 전달되는 현상
- Boradcast Storm
> 이중화 영역에서 전달되는 Broadcast 프레임이 목적지에 전달되지 않고 Loop가 발생되는 현상
107. 이중화 문제점을 해결하기 위해 나온 프로토콜의 이름은?
- STP
108. 위 문제의 답인 프로토콜의 문제점은 무엇인지 쓰시오.
- 경로 수렴 시간이 길다 -> 경로 상태 변화에 최소 50초 이상의 대기 시간이 발생한다.
109. vlan 별로 root switch를 따로 구성하여 이중화하는 기술의 이름은?
- PVST
110. 게이트웨이 이중화에 대하여 설명하시오.
- Router 장애를 대비하는 기술
- 일반적인 Router를 이중화 했을 때 발생하는 취약점을 프로토콜로 해결
- Layer 3 Switch에서 지원됨
111. gzip 은 리눅스에서 제공하는 압축 프로그램이다. gzip으로 압축한 경우 확장자가 무엇인가?
- .gz
112. gzip 압축, 정보확인, 풀기에 대한 옵션을 차례로 쓰시오
- -r, -l, -d
113. tar에 대해서 간단히 설명하시오
- 많은 양의 파일을 하나의 큰 파일로 묶어주기 위해 사용됨
- 내부 옵션을 통해 gzip 또는 bzip2 압축을 지원함
114. yum에 대해서 간단히 서술하시오
- 패키지 배포 및 관리 프로그램
- 네트워크에 존재하는 패키지 서버로부터 필요한 패키지를 다운하여 설치까지 완료함
- 장점
> rpm의 의존성 문제를 해결함
> 패키지를 별도로 확보할 필요가 없음
> 최신 패키지를 설치함
- 단점
> 네트워크 연결이 반드시 필요함
> 불필요한 패키지가 설치될 가능성이 있음
115. RPM은 리눅스 Redhat 계열에서 관리하는 패키지 배포 및 관리 프로그램이다. rpm 의 단점 2가지를 서술하시오.
- 사용자가 직접 필요한 패키지를 확보해야함
- 사용자가 직접 의존성을 해결해야함
116. 리눅스에 vim을 설치하려고 하는데 이미 설치되어 있는지 확인하고자 한다. 확인 명령어를 쓰시오.
- rpm -qa vim
117. rpm에는 패키지 업데이트 옵션이 존재한다. 패키지가 설치되어 있는 경우 업데이트가 진행되고, 설치가 안되어있는 경우 설치하는 옵션은 무엇인가?
- -ivh
118. 하드디스크의 물리적 구성요소 2가지만 서술하시오.
- 플래터 : 원형 판 모양의 데이터를 저장하는 위치
- 스핀들 : 플래터가 회전할 수 있도록 모터와 직접 연결된 축
119. 하드디스크의 논리적 구성요소 2가지만 서술하시오.
- 트랙 : 플래터의 동심원
- 실린더 : 여러개의 플래터가 트랙을 수직으로 관통하는 영역
120. 현재 리눅스 시스템의 파티션마다 할당된 용량을 보고자 하는데 어떤 명령어를 사용해야 하는가?
- fdisk -l
121. du 명령어는 파일 및 디렉터리의 용량을 확인하는 명령어이다. 해당 용량의 용량 단위를 KB로 보고 싶은 경우 어떤 옵션을 사용해야 하는가?
- -k
122. 하드디스크를 새로 추가하여 새롭게 파티션을 나누어 파일시스템을 생성하고 마운트를 하고자 한다. 각각의 명령어를 쓰시오.
- 파티션을 나누는 명령어 : fdisk
- 파일시스템 생성 명령어 : mkfs -t ext4
- 마운트 명령어 : mount
123. /dev/sdb의 파티션을 나누고자 한다. 어떤 명령어를 처음 입력해야 하는가?
- fdisk /dev/sdb
124. 마운트를 해제하는 명령어는?
- umount
125. 시스템 부팅 시 자동으로 마운트를 하려는 경우 어떤 경로의 설정 파일을 수정해야 하는가?
- /etc/fstab
126. RAID 0에 대해 서술하시오
- striping : 하드시스크를 2개 이상 구성하여 데이터를 병렬로 전송 및 처리하는 방식
- 목적 : 하드디스크의 성능 향상(속도) - 데이터 저장, 검색, 수정, 삭제
- 한계점 : 내결함성이 없음, 확장 및 축소 같은 초기의 하드디스크 구성 변경이 불가능
127. RAID 1에 대해 서술하시오
- mirroring : 하드디스크를 2개로 구성하여 하나의 데이터를 동시에 저장하는 방식
- 목적 : 하드디스크의 내결함성 보장 - 특정 하나의 하드디스크 문제가 발생해도 무정지 동작이 가능하다
- 한계점 : 성능 향상이 없다, 확장 및 축소가 불가능하다, 비용이 증가한다
128. RAID 5에 대해 서술하시오
- parity bit 방식 : raid 0의 성능 향상, raid 1의 내결함성 두가지를 충족 하기 위해 나온 방식
- 하드디스크를 3개 이상으로 구성하여 여러개의 하드디스크에 병렬로 데이터를 처리하는 방식
- 하지만 병렬로 처리하되 내결함성을 위한 복구 데이터인 parity bit 값을 같이 저장한다.
- 3개 이상의 하드디스크 중 하나의 디스크가 망가진 경우 나머지 하드디스크의 데이터로 xor 연산 처리를 하면 복구 가능
- 목적 : 내결함성, 성능 향상, 디스크 하나의 추가로 내결함성 만족
- 한계점 : 확장 및 축소가 불가능, 한번에 2개 이상의 디스크가 망가지면 복구 불가능
129. /tmp는 무슨 디렉터리인가?
- 모든 프로그램이 실행 세션 동안 사용할 수 있는 필요한 파일을 저장하는 장소
130. 윈도우 실행창에서 디스크 관리로 들어가기 위한 명령어를 쓰시오
- diskpart
131. 수업 중 배운 보조 기억장치 2개를 쓰시오
- HDD, SSD
132. /root 하위에 파일중 링크 파일을 찾고자 한다. 명령어를 쓰시오.
- find /root -type l
133. ktest 라는 사용자 계정의 이름만 알고 있는 경우 해당 계정의 홈디렉터리로 가려면 어떤 명령어를 사용해야 하는가?
- cd ~ktest
134. umask의 기본값은 영구적으로 바꾸고 싶다. 어떤 설정 파일에서 변경해야 하는가?
- /etc/profile
135. 특정 사용자 계정의 UID를 알고 싶다. 어떻게 해야 하는가?
- cat /etc/passwd
136. /test.txt 파일을 아무도 삭제, 변경 못하도록 속성을 바꾸고자 한다. 어떤 명령어와 옵션을 사용해야 하는가?
- chmod a-w /test.txt
137. 윈도우 실행창에서 레지스트리 설정으로 들어가기 위한 명령어를 쓰시오
- regedit
138. 윈도우 실행창에서 네트워크 설정으로 들어가기 위한 명령어를 쓰시오
- ncpa.cpl
139. 윈도우 명령 프롬프트에서 DNS 캐쉬를 삭제하기 위한 명령어를 쓰시오
- ipconfig /flushdns
140. 윈도우 명령 프롬프트에서 routing table을 확인하기 위한 명령어를 쓰시오
- route print
141. 암호화의 기본요소 3개는?
- 평문. 알고리즘, 키
142. 현대 암호화의 기능 3개는?
- 기밀성 보장, 부인 방지, 인증
143. 현대 암호화 강도의 결정 요소는 key이다. key의 어떤 특징에 따라 암호화 강도가 결정되는지 4개만 쓰시오.
- key의 길이, key의 무작위성, key의 복잡도, key의 비밀성
144. 단방향 암호화 hash의 특징 3개를 서술하시오.
- 데이터를 평문으로 사용하여 지정된 알고리즘으로 계산된 지정된 크기의 값을 이용하여 진위 여부 확인
- 암호화의 알고리즘만 존재하므로 복호화가 불가능함
- 알고리즘 종류 : MD5, SHA
145. 대칭 암호화에 대해 설명하고 문제점 2개를 쓰시오.
- 암호화 및 복호화에 동일한 키를 사용하는 암호화 기법
- 대칭 암호화의 문제점 : 확장성, key 동기화
146. 대칭 암호화 방식 2개를 쓰시오.
- 스트림 암호화 방식, 블록 암호화 방식
147. 대칭 암호화 알고리즘 3개만 쓰시오.
- 스트림 암호화 알고리즘, 블록 암호화 알고리즘, AES
148. 비대칭 암호화에 대해 설명하고 문제점 2개를 쓰시오.
- 암호화 및 복호화에 수학적 관계에 의해 계산된 한 쌍의 키를 사용하는 암호화 기법
- 비대칭 암호화 문제점 : 암호화/복호화 처리 속도가 느림, MITM 공격에 취약함
149. 비대칭 암호화 알고리즘 2개만 쓰시오.
- RSA, DSA
150. 하이브리드형 암호화란 무엇인가?
- 대칭/비대칭 암호화의 장점을 혼합해서 사용하는 암호화
- 비대칭 암호화로 비밀키를 교환한 후 대칭 암호화 방식으로 통신을 진행함
151. 인증서 프로토콜 이름은 무엇이며 버전은 어디까지 나왔는가?
- 프로토콜 이름 : X509
- 버전 : v3
152. PKI 구성요소에서 CA란 무엇인가?
- 인증 기관
- 지정된 신뢰 기관
- User의 공개키에 전자서명을 수행하여 인증서를 발급하는 기관
153. PKI 구성요소에서 RA란 무엇인가?
- 등록 기관
- 인증 기관의 역할 중 공개키 등록과 User의 신분 확인을 대행하는 기관 -> 중계 기관
154. PKI 구성요소에서 user란 무엇인가?
- Subject
- 공개키의 소유주로 인증서를 요구하는 기관 또는 사용자
155. 데몬이란 무엇이며 데몬을 구동, 관리 하는 방식 2개를 쓰시오.
- 시스템에 관련된 작업을 수행하는 Backgroud Process를 통칭하는 용어
- Standalone 방식, Super Daemon 방식
156. 원격서비스에서 telnet의 문제점은 무엇이며 대신 무슨 서비스를 사용하는가
- 기본적으로 평문 통신을 수행하므로 보안이 약한 서비스이다.
- SSH
157. TCP Wrapper에서 ssh 서비스로 접속하는 192.168.50.50을 차단하고자 한다. 어떤 파일을 수정해야 하며 어떤 설정을 넣어야 하는가?
- /etc/hosts.deny
- sshd : 192.168.50.50
158. xinetd.d 디렉터리 하위에 telnet 설정파일을 수정하고자 한다. disable이라는 옵션을 무슨 옵션인가?
- 서비스 활성화
159. SSH의 버전은 1,2가 있다. 버전 1의 key 교환 방법은 무엇인가?
- Public Key(Key Wrapping)
160. SSH 서버의 ssh 버전은 1로 고정하고자 한다. 어떤 설정파일의 어떤 옵션을 수정해야 하는가?
- /etc/ssh/sshd_config
- protocol 1
161. DNS의 초기 형태인 hosts파일은 문제점이 있다. 문제점에 대해 설명하시오.
- 호스트의 정보가 갱신될 때 마다 모든 호스트가 파일을 업데이트 해야함
- 급격히 증가하는 호스트에 대한 관리 문제가 발생함
162. DNS는 port를 2개 사용하는데 두 port의 용도를 쓰시오.
- TCP port 53 : 영역 전송
- UDP port 53 : 일반 질의
163. DNS에서 Domain이란 무엇인가?
- 논리적인 하나의 관리 영역
- 각 도메인은 해당하는 도메인 이름을 가짐 -> DNS Zone
164. 루트 도메인은 몇개의 서버를 구성하고 있는가?
- 13개의 서버
165. 리졸버란 무엇인가?
- 도메인 주소 해석을 수행하는 작은 프로그램
- 리졸버에 정의되어 있는 순서대로 도메인 주소 해석을 처리함
166. 리졸버에 정의되어 수행하는 순서를 client, server 별로 쓰시오.
- Client : Hosts 파일 -> DNS Cache -> DNS Server에게 질의(또는 해석 실패)
- Server : Zone 파일 -> DNS Cache -> 반복 질의(또는 해석 실패)
167. zone transfer의 종류 2개를 쓰고 차이점을 쓰시오.
- AXFR
> 보조 네임서버가 지정된 주기에 따라 serial 정보 요청을 전달함
> 마스터 네임 서버는 요청 받은 zone의 모든 정보를 전달함
- IXFR
> Zone에 대한 전체 정보가 아닌 변경된 내용만 전송 받는 동기화 방식
168. zone transfer를 하기위한 메시지 이름은 무엇인가?
- Notify
169. 재귀 질의와 반복질의의 차이점을 쓰시오.
- 재귀 질의 : 요청한 서버로부터 응답을 직접 받는 질의 방식
- 반복 질의 : 하나의 질의에 대해 여러 서버를 순서대로 반복적으로 거쳐서 응답을 받는 질의 방식
170. 권한있는 응답과 권한없는 응답의 차이점을 쓰시오.
- 권한 있는 응답 : Zone 정보를 가지고 있는 서버가 직접 전달하는 응답
- 권한 없는 응답 : Cache에 저장되어 있는 data를 이용하여 전달받은 응답
171. /etc/named.conf 는 네임서버의 동작환경 설정 파일이다. listen-on port 53 {ip;}; 옵션은 무슨 설정인가?
- 질의에 응답할 포트와 인터페이스 설정(설정하지 않으면 53번 port로 지정됨)
172. zone파일 작성 시 들어가는 리소스 레코드의 레코드 타입 3개만 쓰시오.
- A, AAAA, SOA, MX
173. zone 파일 구성 중 Serial, refresh, retry, expire, minimum에 대해 설명하시오.
- Serial : Zone 파일의 수정 여부를 확인하는 식별 값
- refresh : 보조 네임서버에서 동기화를 요청하는 주기
- retry : 보조 네임서버에서 동기화 요청이 실패 했을 때 재 시도하는 주기
- expire : 보조 네임서버에서 동기화가 실패한 zone에 대한 정보를 유지하는 시간
- minimum : 리소스 레코드의 기본적인 caching 시간
174. CentOS의 DNS 설정을 위한 설정파일 경로는 무엇인가?
- /etc/resolve.conf
175. RARP은 무엇이며 어떤 한계점을 갖고 있는가?
- 무 디스크 장비의 IP 주소 설정을 위해 사용함
- 한계점 : IP 주소 외의 정보를 자동 할당 할 수 없음
176. BOOTP는 무엇이며 어떤 한계점을 갖고 있는가?
- Application에서 호스트 자동 설정을 위한 추가 설정을 전달할 수 있도록 개발됨
- 한계점 : 정적 할당 방식만 지원함 -> Server의 Mapping Table에 미리 설정되어 있어야지만 서비스를 받을 수 있음
177. DHCP는 무엇이며 어떤 기능을 제공하는가?
- 동적 주소할당 방식을 지원하기 위해 개발됨
- Pool(IP 주소 공용 구역)을 사용함 -> pool을 기반으로 Mapping Table을 동적으로 생성함
178. DHCP에게 IP를 임대받은 클라이언트는 4개의 순서로 임대관리주기가 구성된다 임대관리주기의 순서는?
- 주소 바인딩 -> 갱신 -> 리 바인딩 -> 해제
179. DHCP 초기 IP할당 과정에서 사용되는 메시지는 무엇인가?
- DORA
180. 다른 네트워크에 존재하는 DHCP 서버에게 IP할당을 받기 위해 라우터에서 설정해야 하는 기능의 이름은 무엇인가?
- DHCP relay agent
181. DHCP IP할당 과정 중에서 DORA과정에 대하여 설명하시오
- DIscover : (클라이언트) 서버를 찾는 브로드캐스트 메시지 -> 요청
- Offer : (서버) 클라이언트에게 동적 할당 할 IP 주소를 제안하는 메시지 -> 제안
- Request : (클라이언트) 선택된 서버를 알리는 메시지 -> 결정
- Ack : (서버) IP 주소 할당 과정의 정상적인 종료를 알리는 메시지 -> 확인
182. FTP 데이터 연결중 active mode에 대하여 설명하시오.
- Client에서 Server로 FTP 제어 연결 요청
- Client에서 제어 연결을 통해 자신의 Data 전송 Port를 Server 측에 알려줌
- Server에서 Client로 Data 전송 연결 요청
183. FTP 데이터 연결중 passive mode에 대하여 설명하시오.
- Client에서 제어 연결을 통해 Server 측에 Passive 연결 요청
- Server에서 제어 연결을 통해 자신의 Data 전송 Port를 Client 측에 알려줌
- Client에서 Server로 Data 전송 연결 요청
184. vsftp에서 사용자 계정 이름으로 접속 차단을 하기위해 기본적으로 제공하는 설정파일 2개의 경로를 쓰시오.
- /etc/vsftpd/ftpusers
- /etc/vsftpd/user_list
185. vsftpd.conf 설정파일에서 listen=NO 옵션은 무슨 의미인가?
- vsftpd를 standalone Mode로 실행하지 않음
186. vsftp에 접속 후 업로드 하기 위한 명령어는?
- put [파일명]
187. vsftp에 접속 후 다운로드 진행상황을 보기위한 명령어는?
- hash
188. vsftp에 접속 후 패시브모드 on/off를 하기 위한 명령어는?
- passive
189. DHCP는 어느 프로토콜의 어떤 port를 사용하는가?
- UDP port 67(Server), UDP Port 68(Client)
190. FTP는 어느 프로토콜의 어떤 port를 사용하는가?
- TCP port 21, TCP port 20
191. SSH, TELNET, DNS, HTTPS port를 쓰시오.
- SSH : TCP port 22
- TELNET : TCP port 23
- DNS : TCP port 53, UDP port 53
- HTTPS : TCP port 443
192. 메일서비스에서 MTA란 무엇인가?
- 전달받은 메일을 다른 MTA나 MUA로 전달해주는 프로그램으로 메일 서버를 의미함
193. 메일서비스에서 MDA란 무엇인가?
- MTA가 수신한 메시지를 사용자의 우편함에 저장해주는 역할을 하는 프로그램
194. 메일서비스에서 POP3, IMAP의 차이점에 대하여 쓰시오.
- POP3 : MUA로 메일을 전송한 뒤 메일 서버에서는 삭제됨
- IMAP : MUA로 메일을 전송한 뒤 메일 서버에서 삭제되지 않음
195. HTML에 대해 설명하시오.
- WEB data(WEB page) 생성을 위해 사용되는 hypertext를 구성하는 마크업 언어
196. WEB에서 동적 서비스에 대해 설명하시오.
- "참여, 공유, 개방" 이라는 요소를 목적으로 사용자가 생성한 정보를 서버가 수집하여 다른 사용자에게 제공하는 서비스
- 클라이언트에서 전달되는 정보를 저장하여 다른 사용자에게 공유함
- 클라이언트의 정보를 동적으로 처리할 수 있는 기능이 추가됨 -> WAS
197. WEB서비스에서 WEB Browser의 역할은?
- WEB Service를 위한 사용자 인터페이스를 제공
- 사용자가 지정한 정보로 WEB 요청 데이터를 생성하고 전달받은 응답 데이터를 파싱하여 화면에 출력함
198. WAS에 대해 설명하시오.
- 사용자가 전달하는 데이터를 서버 측에서 처리하기 위해 개발한 서버 프로그램
- 사용자가 전달한 값을 기반으로 프로그램의 동작이 달라짐 -> 동적인 서비스
- 정적 웹 서버 프로그램과 후면 프로그램 사이에서 상호 연동 역할을 수행함
199. HTTP에 대해 설명하시오.
- html로 구성된 WEB data를 전달하기 위해 지정된 통신규약
- Text로 구성된 데이터를 신뢰성을 보장하며 전달함
- 기본 구조 -> Header + Body
200. CentOS에서 웹 서비스를 구축시 설치해야 하는 패키지의 이름은?
- httpd, php
201. php코드가 내용으로 있는 academy.php라는 파일이 있다. 해당 파일을 정상적으로 구동, 서비스 하려면 어떤 프로그램이 필요한가?
- php
202. HTTP 특징 2가지는 무엇이고 각각 설명하시오.
- Connectionless
> 하나의 HTTP 메시지를 전송하기 위해 하나의 연결을 맺음
> 초기 서버의 지속된 연결에 의한 부하를 줄이기 위해 지원된 방법
- Stateless
> 동일한 Client의 이전 상태정보를 유지하지 못함
> 동적인 서비스에서 사용자의 상태정보를 유지하지 못하므로 동적인 서비스 제공에 문제점이 됨
203. HTTP 요청 데이터에서 요청을 종류를 구분하는 값은 무엇이며, 대표적인 요청 값 2가지를 설명하시오.
- Request Header
- GET, POST
204. HTTP 응답 데이터에서 code 200, 400, 404에 대해 설명하시오.
- 200 : 요청을 성공적으로 처리함
- 400 : 문법상의 오류 때문에 요청을 처리하지 못함
- 404 : 요청한 자원이 없음
205. SSL 구성요소중 SSL handshake에 대해 설명하시오.
- SSL 통신을 위한 준비 단계
- Client와 Server 간 Session을 설정하기 위한 인증 및 협상을 진행
206. SSL 협상 과정 후 암호화 통신의 시작을 알리는 통보메시지는 무엇인가?
- SSL Change Cipher Spec
207. 인증 요청서를 생성하는 명령어를 입력하시오.
패스워드 없음, 키 알고리즘및 크기(rsa,2048), 키 이름(hack.key), 인증요청서이름(hack.csr)
- openssl req -nodes -newkey rsa:2048 -keyout hack.key -out hack.chr
208. 인증서를 생성하는 명령어를 입력하시오.
유효기간 1년, 사용할 키이름(hack.key), 사용할 인증요청서(hack.csr), 인증서이름(hack.crt)
- openssl x509 -req -days 365 -in hack.csr -signkey hack.key -out hack.crt
209. 웹 인증에서 form based authentication에 대해 설명하시오.
- HTML에서 지원하는 From 태그를 이용하여 사용자로부터 인증 정보를 입력 받아 웹 서버로 전달
- 기본적으로 평문 전송이기 때문에 SSL을 이용한 암호화가 필요함
- 일반적으로 POST 방식으로 전달
210. session token에 대해 설명하시오.
- Client를 식별하기 위한 정보
- Server에서 만들어서 전달해줌
- 인증 관련 정보는 Client와 Server 양쪽에 모두 저장되어 있어야함
- 일반적으로 WAS에서 지원하는 Hash 값이 Token 으로 사용됨
211. cookie 종류 2가지를 쓰시오.
- persistent Cookie, Session Cookie
212. 인코딩과 암호화의 차이점에 대해 쓰시오.
- 암호화 : 정보의 의미를 숨기기 위해 형태를 변경함
- 인코딩 : 정보의 의미를 유지하지만 표현 형태만 변경함
213. WEB에서 사용하는 인코딩 3개만 쓰시오.
- URL Encoding, HTML Encoding, Base64 Encoding
214. 리눅스에서 프로세스의 정보를 확인하는 명령어는 무엇인가?
- ps
215. 과거와 현재의 원격서비스 용도는 어떤 차이점이 있는가?
- 과거 : 네트워크를 통한 컴퓨터의 자원을 공유하기 위한 방식으로 사용됨
- 현재 : 고객 지원, 원격 관리, 원격 제어의 목적으로 많이 사용됨
216. 방화벽의 목적에 대해 설명하시오.
- 신뢰 수준이 다른 네트워크 구간들 사이에 놓여서 신뢰 수준이 낮은 네트워크로부터 오는 해로운 트래픽이 신뢰 수준이 높은 네트워크로 오지 못하게 막는것
217. iptables에서 filter 테이블에 대해 설명하시오.
- 정책에 일치하는 패킷을 target으로 전달하여 action을 수행함
- 주로 패킷을 허용/거부 할 때 사용함
- targer -> ACCEPT, REJECT, DROP, LOG, 사용자 정의 chain
218. iptables에서 nat 테이블에 대해 설명하시오.
- 정책에 일치하는 패킷의 주소를 변환하는 동작을 수행함
- target -> SNAT, DNAT, MAQUERADE, REDIRECT
219. iptables에서 mangle 테이블에 대해 설명하시오.
- 정책에 일치하는 패킷의 필드 값을 변경함
- 주로 데이터 전송 경로 변경, 우선순위 값 변경 등에 사용됨
220. 현재 로그인한 계정의 예약작업을 확인하고 싶은 경우 어떤 명령어를 입력해야 하는가?
- conrd -l
221. 예약작업 등록을 하는 방법 2가지를 쓰시오.
- crond -e
- vim /etc/crontab
222. 특정 프로세스에 signal를 전달하기 위한 명령어 2가지를 쓰시오.
- kill, pkill
223. 현재 프로세스들의 상관관계를 출력하고 싶은 경우 사용하는 명령어를 쓰시오.
- pstree
224. 전자서명의 요구사항을 쓰시오.
- 서명자 인증, 위조 불가, 부인방지, 재사용 불가, 변경 불가
225. 인증서의 기능을 쓰시오.
- 기밀성, 인증, 무결성, 부인방지
226. iptables 방화벽에서 현재 정책 목록을 확인하고 싶은 경우 사용하는 명령어는?
- iptables -L
227. FTP에서 chroot 설정에 대해 설명하시오.
- FTP 사용자가 계정으로 접속을 했을 때 해당 계정의 홈디렉터리의 상단으로 접근이 되지 않게 하는 기능
- 블랙리스트 방식 : chroot를 적용해야 하는 계정들을 리스트한다. 리스트에 없으면 chroot 적용 안됨
- 화이트리스트 방식 : chroot를 적용하지 않는 계정들을 리스트한다. 리스트에 없으면 chroot 적용됨
228. 리눅스에서 명령어를 입력시 백그라운드로 실행하려면 어떻게 하면 되는가?
- 명령어 입력 뒤에 "&"를 붙여서 실행
229. 방화벽 호스트에서 목적지 200.200.200.200으로 가는 데이터 허용하는 정책을 추가하는 명령어는?
- iptables -A OUTPUT -d 200.200.200.200 -j ACCEPT
230. iptables target에서 DROP과 REJECT의 차이점에 대해 설명하시오.
- DROP : 조건에 일치하는 패킷 차단, 차단된 패킷에 대한 응답을 발생시키지 않음 -> port scan 차단
- REJECT : 조건에 일치하는 패킷 차단, 차단된 패킷에 대한 응답을 전달함
231. 현재 적용되어 있는 iptables 정책을 기본설정 파일에 저장하고 싶은 경우 입력해야 하는 명령어는?
- service iptables save
232. crontab에 대해 설명하시오.
- 리눅스 운영체제에서 배치 작업을 스케쥴링 하기 위한 프로그램
233. WEB 서비스의 port 번호는 몇인가?
- 80, 443
234. ASCII 코드에서 대문자 A와 소문자 a의 십진수 코드 번호는?
- 대문자 A : 65
- 소문자 a : 97
235. HTTP 에서 header와 body를 구분하는 구분자는 무엇인가?
- blank
236. 10월 10일 1시 20분에 /tmp 디렉터리를 압축하여 /usr/backup.tar.gz 파일로 저장하는 명령어를 입력하시오.
- 20 1 10 10 * tar -czvf /usr/backup.tar.gz -C /tmp
237. nice 명령어에 대해 설명하시오.
- 우선순위 설정 명령어
238. php의 설정을 변경하였다. 변경한 설정을 적용하기 위한 명령어는?
- service phpd restart
239. 리눅스의 DNS 정보가 저장되고 설정 가능한 파일 경로는?
- /etc/named.conf
240. scp를 이용하여 192.168.50.50에서 /a.txt 파일을 192.168.50.200에 root의 홈디렉터리에 전송하고 싶은 경우 입력해야 하는 명령어는?
- scp /a.txt root@192.168.50.200:/root/
241. 데이터베이스란 무언인지 서술하시오
- 체계화된 데이터의 모임
- 구조적으로 데이터를 저장하는 공간
- 데이터를 효율적으로 처리, 관리하기 위해 도입됨
- 테이블 형태로 데이터를 관리
- DBMS를 이용하여 DB를 생성하고 제어함
242. DBMS란 무엇인지 서술하시오
- 다수의 컴퓨터, 사용자들이 DB안에 데이터를 기록하거나 사용할 수 있도록 해주는 프로그램
- 사용자들은 실제 데이터의 저장위치를 몰라도 언제든지 데이터를 사용할 수 있음
- 데이터 처리에 있어 무결성과 보안성을 제공함
243. mysql DBMS 환경설정 파일의 기본 경로는 어디인가?
- vim /etc/my.cnf
244. SQL에 대해 서술하시오
- 구조화된 질의 언어
- DBMS를 관리하고 제어하기 위해 사용하는 인터페이스 또는 언어
- 데이터베이스로부터 정보를 얻거나 갱신하기 위한 표준 대화식 프로그래밍 언어
- DBMS에 따라 사용되는 SQL 문법이 다름
245. DDL에 대해 설명하시오
- 데이터베이스의 구조를 정의하거나 변경, 삭제하기 위해 사용하는 언어
- CREATE(개체 생성), ALTER(개체 수정), DROP(개체 삭제), TRUNCATE(개체 초기화)
246. DML에 대해 설명하시오
- data를 조작하기 위해 사용하는 언어
- data의 삽입, 수정, 삭제, 조회 등의 동작을 제어
- INSERT(데이터 생성), UPDATE(데이터 수정), DELETE(데이터 삭제), SELECT(데이터 조회)
247. DCL에 대해 설명하시오
- DB에 대한 보안, 무결성, 복구 등 DBMS를 제어하기 위한 언어
- GRANT(권한 할당), REVOKE(권한 해제), COMMIT(실행), ROLLBACK(복구)
- COMMIT, ROLLBACK 은 트랜잭션에 관련된 언어로 TCL로 구분하기도 함
248. 데이터베이스의 목록 조회를 위한 SQL문은 무엇인가?
- show databases;
249. 데이터베이스의 등록된 계정의 정보를 보기위한 SQL문은 무엇인가?
- show grants;
250. 데이터 타입의 종류 5가지만 쓰시오
- int, char, varchar, date, time
251. 제약조건이란 무엇인가?
- 데이터의 무결성을 지키기 위해 제한된 조건
- 테이블 및 열(컬럼) 레벨에서 적용 가능하며, 테이블의 생성이나 구조 변경 시에도 적용할 수 있음
252. unique 제약조건은 기능은 무엇인가?
- 테이블 내에서 해당 컬럼의 값이 유일하도록 설정(중복 불가능)
253. member 테이블에 name이라는 컬럼을 가장 첫번째에 추가하기 위한 SQL문을 작성하시오(name, varchar, unique, not null)
- alter table member add column name varchar(100) unique not null first;
254. member 테이블에 이름을 member1로 변경하기 위한 SQL문을 작성하시오
- alter tavle member rename mamber1;
255. member1 테이블의 name컬럼의 이름을 new_name으로 변경하기 위한 SQL문을 작성하시오
- alter table member1 change name new_name <데이터 타입> [옵션] [제약조건];
256. member 테이블의 모든 정보 조회 SQL문을 작성하시오
- select * from member;
257. 조회 SQL문에서 조건과 비슷한 데이터를 조회하기 위해서 사용하는 연산자는?
- LIKE 연산자
258. member 테이블의 모든 데이터를 삭제하기 위한 SQL문을 작성하시오
- truncate member;
259. DB 계정의 이름과 패스워드를 전부 확인하기 위한 SQL문을 작성하시오
- select user, password from mysql.user;
260. 수정한 계정 정보를 다시 갱신 하기 위한 명령어를 작성하시오
- commit;
261. 모든 root 계정의 비밀번호를 P@ssw0rd로 변경하기 위한 SQL문을 작성하시오
- alter user root identified by 'P@ssw0rd';
262. 현재 접속한 계정의 권한을 확인하는 SQL문을 작성하시오
- show grants;
263. 권한 설정시 with grant option은 무슨 의미 인가?
- 다른 계정의 권한을 변경할 수 있는 권한을 허가
264. 데이터베이스 스키마란 무엇인지 설명하시오
- DB 구조를 정의하기 위해 사용하는 개념
- 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의
- DBMS에서 주어진 설정에 따라 데이터베이스 스키마를 생성
- 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행
- 사용자의 관점에 따라서 외부, 개념, 내부 스키마로 구분
265. 개념 스키마에 대해 설명하시오
- 조직 전체의 입장에서 본 데이터베이스 구조
- 전체적인 데이터베이스 구조를 기술
- 개체, 데이터 유형, 관계, 사용자 연산, 제약조건 등을 정의
- 일반적으로 스키마라고 하면 개념 스키마를 의미함
266. mysql에서 기본 문자셋이나 버전, 현재 접속 유저 등 기본 정보를 확인하기 위한 명령어는?
- status;
267. c362 DB의 인코딩을 확인하기 위한 SQL문을 작성하시오
- show create database c362;
268. DB엔진중 InnoDB의 대해 설명하시오
- 트랜젝션 지원
- 빈번한 쓰기/수정/삭제 시 처리 능력 향상
- 디스크, 전원 등의 장애 발생 시 복구 성능 향상
- 동시처리가 많은 환경에 적합
- Row 단위 Locking
269. 조인(join)에 대해서 설명하시오
- 두 개 이상의 테이블에서 연관성을 가지고 열을 기반으로 레코드를 결합하는 기능
- 조인의 종류
> INNER JOIN : 테이블 A, B 모두 조건구문에 일치하는 데이터만 반환
> FULL OUTER JOIN : 테이블 A, B 모두 반환
> LEFT OUTER JOIN : 테이블 A 모두 반환, 테이블 B 조건구문에 일치 하는 데이터만 반환
> RIGHT OUTER JOIN : 테이블 B 모두 반환, 테이블 A 조건구문에 일치하는 데이터만 반환
270. 집합연산자에 대해서 설명하시오
- 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법
- 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용
- 각 테이블의 조회 결과를 하나의 테이블에 합쳐서 반환함
- 조건
> SELECT 절의 컬럼 수가 동일해야 함
> SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함
271. 뷰에 대해서 설명하고 장점 3가지를 쓰시오
- 하나 이상의 테이블에서 원하는 데이터를 선택하여 새로운 가상 테이블로 만들어 주는 것
- 다른 테이블에 있는 데이터를 보여줄 뿐이며 데이터 자체를 포함하고 있는 것은 아님
- 논리적인 독립성을 제공
- 뷰의 장점
> 데이터베이스의 구조를 변경하여도 테이블에 의존하는 어플리케이션을 변경할 필요가 없음
> 복잡한 쿼리를 단순하게 만들 수 있어 편리함
> 사용자에게 필요 없는 정보를 숨길 수 있음
272. 트랜잭션에 대해서 설명하시오
- 한꺼번에 수행되어야 할 최소 작업 단위
- 논리적 작업 단위
- 모든 작업은 반드시 한꺼번에 완료가 되야 하며 그렇제 않은 경우에는 한꺼번에 취소되어야 함
- 사용자가 시스템에 요구를 시작하여 시스템 내의 처리, 시스템에서 사용자에게 응답하는 모든 처리를 포함
273. TCL 중 commit의 의미는?
- 트랜잭션 작업이 정상 완료되었음
- 변경 내용을 영구 적용
- 모든 SAVEPOING 삭제
274. TCL 중 rollback의 의미는?
- 트랜잭션 작업을 모두 취소하고 최근 commit 시점으로 이동
275. 트랜잭션을 시작하는 명령어는?
- start transaction;
276. 저장 프로시저에 대해서 설명하시오
- 일련의 작업 절차를 정리해서 저장한 것
- 여러 SQL문을 묶어서 미리 정의해 두고 하나의 요청으로 실행할 수 있음
- 자주 사용되는 복잡한 작업들을 간단하게 실행할 수 있음
- Application에서 직접 모든 작업을 요청하지 않아도 되기 때문에 부하가 줄어들고 보안이 향상됨
- 단, 검증되지 않은 저장 프로시저를 실행하는 것은 매우 위험함
277. 프로시저의 목록을 확인하는 SQL문을 쓰시오
- show procedure status;
278. 저장 함수에 대해서 설명하시오
- 저장 프로시저와 거의 비슷하나 실행 후 결과 값을 반환 한다는 점이 다름
- 사용자 정의 함수 라고도 부름
279. aaa라는 저장함수의 정보를 확인하는 SQL문을 쓰시오
- show create function aaa;
280. 트리거에 대해서 설명하시오
- 테이블에 대한 특정 이벤트에 반응해 자동으로 실행되는 작업
> 이벤트 : INSERT, UPDATE, DELETE
- 트리거 실행 시점을 이벤트 전이나 이벤트 후로 지정하여 설정 = 활성화 시간
> INSERT 전/후, UPDATE 전/후, DELETE 전/후
- 데이터 상태의 관리를 자동화하는 데 사용
> 데이터 작업 제한, 작업 기록, 변경 작업 감사 등
281. bbb라는 트리거를 삭제하는 SQL문을 쓰시오
- drop trigger bbb;
282. DB 백업 중 hot backup 과 cold backup의 차이점에 대해 쓰시오
- Hot Backup : DB 서버를 구동 중인 상태에서 데이터 백업
> 데이터 베이스에서 지원해야 함
> Cold 보다 백업 방법이 복잡함
> DB의 가용성 보장
> 백업 도중 데이터 변경 사항 발생 가능성이 높음
- Cold Backup : DB 서버의 구동을 중지한 후에 데이터 백업
> 백업 방법이 쉽고 간편함
> 특정 시점의 데이터 백업
> 완전 복구는 불가능
> DB의 가용성 포기
283. 모든 데이터베이스의 구조 및 모든 데이터를 백업하는 옵션을 무엇인가?
- mysqldump -u root -p --all-databases > mysqldump1.sql
284. 데이터는 미포함 하여 백업하는 옵션은 무엇인가?
- mysqldump -u root -p --no-data mysql > mysqldump2.sql