Chapter 9. Network of Linux
1. TCP/IP Network
- Linux의 Network는 SELinux(Security Enhanced Linux)와 Network Service에 의해 관리된다.
- Linux의 보안은 초기 설치 시 굉장히 느슨한 상태로 설치되며 보안이 취약해 보안 설정을 해줘야한다.
- 보안성과 편의성은 반비례해 보안성이 높아지면 편의성은 낮아지고 편의성이 높아지면 보안성이 낮아진다.
- Network Service가 원활히 수행되려면 Daemon을 실행해줘야 한다.
- Daemon
· Linux내의 주기적인 Service의 요청을 처리하기 위해 계속 실행되는 프로그램
· Network Daemon
◦ Network Daemon의 인수로 start, stop, restart, reload, status가 있다.
- NIC(Network Interface Card)
· LAN Card를 말하며 Ethernet을 연결하는 Interface를 말한다.
· Linux에서는 ifconfig 명령어를 NIC와 관련해 IP address, Netmask 등을 설정하거나 확인할 때 사용한다.
2. Xinetd Remote Service(Xinetd 원격 서비스):telnet
- Linux에서는 원격으로 접속해 명령을 내릴 수 있는 프로그램이 있으며 가장 잘 알려진 telnet이 이에 해당한다.
- telnet은 inet 또는 xinet Package가 설치되어 있어야 사용이 가능하다.
- inet Service:xinet
· inet Service Daemon
◦ Network Super Daemon으로 inet Server가 Network 과련 작업을 대리하도록 하며 Network 접속이 정상적으로 이루어진 뒤에 실제 Service를 하는 Program 에게 연결을 넘겨준다.
· inet Service를 하는 Daemon에는 inetd와 xinetd라고 하는 두 가지의 Daemon이 존재하며 Redhat 7 이후부터 확장 Version인 Xinetd가 대신 사용되고 있다.
- Xinetd 설정 File
· Vi Editor를 이용해 편집해 설정할 수 있으며 xinetd의 접속에 관련된 설정을 할 수 있다.
· 항목에 따른 설명
항목 |
설명 |
defaults |
기본 값으로 사용할 설정 |
instances |
허용할 접속 수 |
log_type |
Log Type |
log_on_success |
접속 성공 시 Log에 기록할 정보 |
log_on_failure |
접속 실패 시 Log에 기록할 정보 |
no_access |
접근을 허용하지 않을 주소 |
only_from |
접근을 허용할 주소 |
cps |
접속 횟수의 속도 제한(50 10 → 1초에 50회 접속 시도 시 10초 동안 접속 거부) |
includedir |
/etc/xinetd.d Directory에 있는 다른 File을 포함하도록 설정 |
- krb5-telnet의 설정 File
· telnet의 부가 설정 File로 krb5-workstation Package가 설치되어 있어야 하고 설치 후 Daemon을 재실행 해줘야한다.
· 항목에 따른 설명
항목 |
설명 |
disable |
해당 Service의 사용여부를 결정한다. |
flags |
Socket 작동 관련 flag |
socket_type |
STREAM : Stream Socket 사용(TCP) / DGRAM : Datagram Socket 사용(UDP) |
wait |
no : 대기시간 필요 없음 / yes : 대기시간 필요 |
user |
해당 Daemon을 시작할 User |
server |
해당 Service를 처리할 실제 Server Program의 위치 |
log_on_failure |
실패 시 접근했던 User 이름도 Log에 기록하도록 추가 |
- Normal Telnet의 접속
· Telnet 관련 Package 설치
· /etc/xinetd.d/telnet 편집
· disable = no로 변경
· Daemon(/etc/rc.d/init.d/xinetd) 재시작(restart)
· Windows에서 Telnet 접속
◦ telnet [IP Address]
※ 관리자로 접속하기 위해서는 일반 사용자로 접속 후 관리자 권한 획득 명령어(su -)로 접속해야한다.
3. Remote Service(원격 서비스):SSH(Secure Shell)
- OpenSSH
· telnet과 비슷한 원격 관리 Service 중 하나로 telnet과 달리 Data 전송 시 암호화하는 기능이 추가되어 있다.
· rlogin, rsh, telnet과 같은 Remote Service는 Network를 통해 Packet을 전송할 때 평문으로 전송해 Sniffing과 같은 기술을 통해 Packet을 가로챌 수 있어 보안성이 낮다.
· SSH(Secure Shell)은 Packet을 전송할 때 암호화를 시켜 전송하기 때문에 Packet을 가로채도 가로챈 사람이 암호화된 Packet을 해독하는 해독키가 없기 때문에 내용을 파악하기 어려워 보안성이 높다.
· SSH를 이용하기 위해선 Server 역할을 하는 컴퓨터에 Openssh 관련 Package가 설치되어있어야 한다.
· Windows용 SSH Clients Program
◦ PuTTY
◦ Linuxnew
◦ SSH
◦ SecureCRT
◦ Xshell
· SSH Server 설정
◦ Line 13 : Port 설정
◦ Line 15 : SSH Service 시 이용할 Version 선택(보안상 Protocol 2를 이용)
◦ Line 17 : System에 여러 IP가 존재할 경우 Service할 특정 IP를 지정 가능
◦ Line 20 : Protocol Version 1 사용 시 사용할 hostfile 위치
◦ Line 22 : Protocol Version 2 사용 시 사용하는 암호 방식에 따른 hostfile 위치
◦ Line 27 : 자동으로 생성된 키의 유효 시간을 지정할 수 있다.
◦ Line 28 : 서버의 암호키 생성 시 이용하는 vit 수를 지정할 수 있다. 최소값 512
◦ Line 31 : obsoletes 단어가 의미하듯 현재는 사용하지 않는 Mode라는 것을 알려줌
◦ Line 32 : syslogd를 이용하여 로그를 기록할 방식 선택
▹ AUTH : 사용자 인증 관련 Message
▹ AUTHPRIV : 인증 절차에 관련한 Message
◦ Line 34 : Log 기록 수준을 의마하는 항목
▹ emerg : System이 다운되는 수준
▹ crit : Utility나 Subsystem을 종료해야 하는 수준
▹ warning : 단순 경고 Message 수준
▹ info : 정보를 보여줘야 하는 수준
◦ Line 36 : 인증 항목(ID 식별 인증 항목)
◦ Line 38 : 사용자가 Login 시의 시간을 지정하는 항목으로 지정시간 내에 접속하지 않으면 접속이 해제되며 기본 값은 2분
◦ Line 39 : 관리자로의 Login을 허용할 것인가에 대한 항목으로 기본 값으론 허용되어 있지만 허용하지 않는 것을 권장
◦ Line 40 : 사용자의 Home Directory인 /home/user의 권한 값 등을 확인하도록 설정되어 있는 지시자
◦ Line 41 : SSH Client Program을 이용해 Login을 시도할 경우 인증 실패의 최댓값을 설정하는 항목
◦ Line 43 : RSA 인증 Option(Protocol Version 1에만 적용되는 Option)
◦ Line 44 : 공개키 인증 허용 여부
◦ Line 45 : 공개키 인증 허용 시 공개키가 저장되어 있는 파일
◦ Line 50 : /etc/ssh/ssh_known_hosts File에 있는 Host에 대해 인증 허용
◦ Line 59 : Password 없이 접속 허용 여부
◦ Line 60 : 접속 시 Password 인증 설정
◦ Line 113 : 가상 root Directory 설정
◦ Line 116 : 지정한 File에 banner 문구를 입력하면 접속 시 화면에 출력(File : .message)
◦ Line 119 : SSHD Daemon을 통하여 다른 Program(sftp-server)을 실행할 수 있도록 설정하는 항목
- OpenSSH Service 접속
· ssh
◦ Client 쪽에서 지정한 게정명으로 접근 요청을 하게 된다.
· scp
◦ SSH Service가 구성되어 있는 System을 대상으로 원격 복사할 수 있는 Program
◦ openssh-clients Package에 포함되어 있다.
· sftp
◦ Secure FTP의 약자로 일반적인 FTP는 암호화되지 않아 보안성이 취약하므로 SSH를 이용해 FTP의 보안성을 높인 Program이다.
◦ sftp 명령어는 Windows의 명령프롬프트(cmd)의 ftp 명령어와 같다.
4. Remote Service(원격 서비스) : VNC
- VNC
· Virtual Network Computing의 약자로 Console에서가 아닌 Xwindow상에서 원격으로 접속해 관리하는 Program이다.
· Windows의 Terminal Service, 원격 데스크탑과 유사하지만 Platform(OS)을 가리지 않는다는 장점이 있다.
· 사용하기 위해서는 vnc 관련 Package를 설치해야 한다.
- VNC Server 구동
· VNC Daemon
◦ /etc/rc.d/init.d/vncserver restart
◦ VNC를 사용하기 위해서는 Daemon을 구동해야 한다.
· vncserver
◦ Daemon 구동 후 vncserver 명령어를 이용해 Server를 구동 시킨다.
◦ 최초 실행 시 /root/.vnc Diretory의 다음 File들 생성
▹ hostname:1.log : Service 실행 시 발생하는 Log 기록
▹ hostname:1.pid : Service 실행 시 사용하는 Process ID
▹ passwd : vncserver 실행 시 지정한 암호 Data
▹ xstartup : VNC Server 설정 File
· VNC Service 접속
◦ vncviewer [Hostname]:[Session Number]
◦ VNC Package가 설치된 OS에서 사용 가능하며 다른 원격 Program(ex : PuTTY)에서는 사용이 불가능하다.
· VNC Service 중지
◦ 열려있는 Session 종료
▹ kill [Session's Process ID]
▹ vncserver -kill :1
◦ 현재 동작 중인 VNC Service 종료
▹ killall -9 Xvnc
'Linux > CentOS Linux 6.5' 카테고리의 다른 글
Chapter 11. NFS(Network File System) (0) | 2015.08.07 |
---|---|
Chapter 10. FTP Service - Vsftpd (0) | 2015.08.07 |
Chapter 8. Mount (0) | 2015.08.07 |
Chapter 7. Partition (0) | 2015.08.07 |
Chapter 6. Package (0) | 2015.08.07 |