[RPM] RPM 명령어의 실행명령어의 종류

1. RPM 명령어에는 여러가지 실행모드가 있음. 특정 패키지를 설치하는 명령어, 업그레이드하는 명령어, 제거하는 명령어, 질의하는 명령어, 검증하는 명령어, 패키지 제작 명령어 등이 있음.

– rpm 명령어의 기본 사용모드
용도                 |           사용모드       |            사용형식
————————————————————————————————————————————–
패키지설치              |             -i                   | rpm -i [옵션] 패키지명
패키지 업그레이드 |             -U                 | rpm -U [옵션] 패키지명
패키지 제거(삭제)  |             -e                 | rpm -e 패키지명
패키지 질의             |             -q                  | rpm -q [옵션] 패키지명
패키지 검증             |             -V                  | rpm -V [옵션] 패키지명
rpm -y [옵션] 패키지명
패키지 제작             |             -b                  | rpm -b [옵션] 패키지명
rpmbuild -b [옵션] 패키지명
—————————————————————————————————————————————

[RPM] 패키지( Package ) 관리 RPM 명령어

1. RPM 이란

– ” Redhat Package Manager ” 의 약어로서 여러가지 프로그램들과 유틸리티 어플리케이션들의 설치, 관리, 삭제, 업데이트를 할 수 있도록 레드햇리눅스에서 제공하는 패키지 관리 시스템이라고 할 수 있음.

– 레드햇에서 제공하는 모든 리눅스 프로그램들은 패키지( Package ) 라는 단위로 배포되고 있으며 레드햇리눅스 를 개발하고 배포하는 개발자들에 의해서 컴파일되어 일반사용자들에게 배포되는 것임.

– RPM 패키지 관리 명령어인 rpm 을 이용하여 이런 패키지들을 리눅스 시스템에 설치하거나 삭제 또는 업데이트등의 관리를 할 수 있음.

[수퍼데몬 xinetd] /etc/protocols 파일

1. /etc/protocols 파일

– /etc/services 파일에서 정외되는 프로토콜의 정의가 되어 있는 파일임.

– 이파일 내에 정의됨 프로토콜들의 정확한 명칭은 ” Internet Protocols ” 임

– 포트번호에 대한 상세정보 및 업데이트정보는 ” http://www.isi.edu/in-notes/iana/assignments/protocol-numbers ” 에서 볼수 있음.

[수퍼데몬 xinetd] /etc/services 파일

1. /etc/services 파일은 리눅스서버에서 사용하는 모든 포트( port ) 들에 대한 정의가 설정되어 있음. 보안을 위하여 이 파일을 적절히 조절하면 기본사용 포트를 변경하여 사용할 수 있음.

– 즉, telnet 은 기본적으로 tcp 34번 포트를 사용함. 일반적으로 알고 있는 포트번호이므로 이 포트번호를 다른 번호로 변경하는 것이 가능하다라는 것 임.

– 기본적인 공격시도나 해킹등은 대부분 열려져있는 port 를 통해 이루어지고 해킹툴들의 기본셋팅값들이 대부분 거의 변경없이 사용되는 기본포트번호를 그 공격통로로 삼든다는 점 때문임.

2. /etc/sevices 파일에 설정되는 각 서비스 포트들의 형식

– 서비스 이름              포트/사용프로토콜유형                            별칭

– 서비스 이름 : 설정되는 포트에 대한 서비스의 이름. 예를 들어 ftp, telnet 등이 올 수 있음.

– 포트/프로토콜 : 지정된 서비스에서 사용될 포트번호와 사용할 프로토콜유형임. 여기서 사용되는 포트들은 /etc/protocols 라는 파일에 정의되어 있으며 프로토콜유형은 일반적으로 tcp 와 udp 등이 사용됨. 또한 사용될 포트번호는 1024번까지 시스템에서 이미 사용예약이 되어 있으므로 관리자가 만들어 사용할 포트가 있다면 이 번호 이상되는 포트번호를 지정하여 사용해야 함.

– 별칭 : 지정된 ” 서비스 이름 ” 외에 다른 이름을 사용할 수 있도록 함.

[수퍼데몬 xinetd] xinetd 에 의한 접속제어( tcpd )

1. tcpd( Tcp_wrapper ) 의 두가지 역할

– 특정 IP 나 도메인으로부터 서버로의 telnet, ftp, pop 등의 접속을 차단할 수 있음.

– 접속기록이나 접속시도기록을 특정한 파일에 로그로 기록함.

2. xinetd 는 tcp_wrapper 를 내장하고 있기 때문에 xinetd 모드에서 실행되는 서비스들( ex. ftp, telnet, ssh 등 ) 은 거의 대부분 tcpd 라는 Tcp_wrapper 의 데몬에 의해 접속제어를 받게 됨. 개별서비스들( ex. ftp, telnet 등 ) 의 접근허용을 설정하는 파일은 /etc/hosts.allow 이며 접근허용이 되지 않도록 설정하는 파일이 /etc/hosts.deny 임.

3. /etc/hosts.allow 와 /etc/hosts.deny 파일의 설정항목

– /etc/hosts.allow 및 /etc/hosts.deny 파일의 설정항목은 크게 두가지로 나뉘어 짐.

구분      |               왼쪽부분 설정항목               |                 오른쪽부분 설정항목
—————————————————————————————————————————-
대상        | 접근제어 대상 서비스                       |   접근제어 대상
————————————————————————————————————————–
설정값       | xinetd 기반에서 제어되는 모든 서  | 특정 도메인명
| 비스 명들.                                           | 특정 호스트명
|  /etc/services 내의 각 서비스이름과| 특정 IP 주소
|/etc/xinetd.d/ 디렉토리에 존재하는 | 특정 네트워크
| 파일명과 동일한 이름을 사용한다.  |
——————————————————————————————————————————
설정예       | telnet                                                   | pchero21.com
| sshd                                                    | host1
| proftpd                                                | 192.168.0.100
|                                                              | 192.168.1.0/24
|                                                              | 192.168.2.0/255.255.255.0
——————————————————————————————————————————-
실제예        | proftpd : 192.168.10.0/255.255.255.0 EXCEPT 192.168.10.100
| proftpd : 192.168.10.100 : twist /bin/echo “Access Denied!”
| sshd : 192.168.0.100
| sshd : 192.168.1.0/24
——————————————————————————————————————————-

– 왼쪽항목과 오른쪽 항목은 콜론( : ) 으로 구분을 한다. 또한 세번째 항목을 계속 설정할 때에도 콜론으로 구분하여 설정을 한다.

– /etc/hosts.allow 내의 설정과 /etc/hosts.deny 내의 설정이 중복되었을 경우에 /etc/hosts.allow 파일의 내용이 적용된다. 즉, /etc/hosts.allow 파일과 /etc/hosts.deny 파일에 동일한 설정을 해두면 /etc/hosts.allow 파일의 내용이 적용되어 접속이 허용됨.

– # 문자로 시작되면 주석문으로 인식함.

– 각 대상리스트들의 나영을 스페이스( space ) 나 콤마( , ) 로 구분함

4. hosts.deny 의 예

–  ALL : ALL

– hosts.allow 파일과 hosts.deny 파일의 해석은 : 을 기점으로 하여 왼쪽에는 서비스될 대상데몬들이며 오른쪽에는 대상 IP 및 호스트 정보임.

– 왼쪽의 서비스에 대해서 오른쪽의 IP 나 호스트에 대해서 접근을 허용한다는 설정이라고 해석하면 됨. 위의 예처럼 ALL : ALL 로 설정되어 있으면 xinetd 모드하에서 서비스되는 모든 서비스에 대해서 모든 IP 및 모든 호스트의 접근을 허용하지 않는다는 설정임.

5. hosts.allow 의 예

– in.telnetd : 210.101.112.240 210.101.112.241 211.123.12.12 168.`16.3.
in.ftpd : 210.101.112.240 210.101.112.241 211.123.12.12 168.126.3.
ipop3d : ALL

– 위의 hosts.allow 파일에 설정되어 있는 첫번째 행의 설정은 telnet 서비스에 대해서 210.101.112.240 210.101.112.241 211.123.12.12 168.126.3. 에 대한 접근만을 허용한다는 설정이며, 두번째 행의 설정은 ftp 서비스에 대해서 210.101.112.240 210.101.112.241 211.123.12.12 168.126.3. 에 대한 접근만을 허용한다는 설정임. 그리고 ipop3d 에 대해서는 모든 곳에서의 접근을 허용한다는 설정임