[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 에 대해서는 모든 곳에서의 접근을 허용한다는 설정임