[보안][네트워크] redhat 7.x 에서 rlogin,rsh 사용법 (아랑)

Redhat 7.x 에서 rsh,rlogin 사용하기

                 작성자 : 서진우 ( alang at sysmng.com ) –

2001/11/8

——————————————————————————-

Redhat 7.x 대에서 rsh, rlogin 사용 방법에 대해 알아보자.

rsh. rlogin 을 사용하기 위해서 기본적으로 rsh, rlogin 서비스를 하는 Server 에 하는

설정과 rsh, rlogin 명령어를 사용하는 Client 에 필요한 설정으로 나누어 진다.

1. Server 측 설정

/etc/xinetd.d 디렉토리 안의 rsh, rlogin 항목을 체크하고 xinetd 데몬에서 사용이

가능하도록 설정한다.

# vi /etc/xinetd.d/rlogin

——————————————————————–

service login

{

        disable = no

        socket_type             = stream

        wait                    = no

        user                    = root

        log_on_success          += USERID

        log_on_failure          += USERID

        server                  = /usr/sbin/in.rlogind

}

~

# vi /etc/xinetd.d/rsh

——————————————————————-

service shell

{

        disable = no

        socket_type             = stream

        wait                    = no

        user                    = root

        log_on_success          += USERID

        log_on_failure          += USERID

        server                  = /usr/sbin/in.rshd

}

이와 같이 rsh, rlogin 서비스를 사용하기 위해서는 xinetd 해당 설정파일의 disable 항목

을 no 로 해 주어야 한다. 그런뒤 xinetd 를 재시작해서 적용하도록 한다.

# /etc/rc.d/init.d/xinetd restart

그런뒤 /etc/securetty 에 rsh, rlogin 이 이용되어지는 접속 콘솔 지정을 해줘야 한다.

securetty 파일 제일 하단에 rsh 와 rlogin 을 추가해 주면 된다.

# vi /etc/securetty

——————————————————————

.

.

.

tty8

tty9

tty10

tty11

rsh

rlogin

그런뒤 이쪽 서버에 rsh, rlogin 명령어를 사용해 remote shell 을 이용할수 있는 클라이언트

를 지정해 준다.

.rhosts 파일은 client 측에서 server 측의 어떤 계정으로 들어 올건지를 설정한다.

server 의 root 홈디렉토리 및에 .rhosts 파일을 만들면 client 에서는 server 의 root 계정

으로 들어오게 된다.

# vi /root/.rhosts

——————————————————————-

192.168.1.2     root

위 설정은 이 서버에 192.168.1.2 호스트에서 root 계정에서  rsh, rlogin 명령을 사용하여

server 의 root 로 들어 올수 있다는 의미임.

만일 192.168.1.2 호스트에서 user 라는 계정으로만 rsh, rlogin 을 사용해서 server 의 root



접속하기 위해선 … 서버측 호스트의 /root 에서..

# vi /root/.rhosts

——————————————————————-

192.168.1.2     alang

이와 같이 하면 된다.

그런뒤 이 파일의 퍼미션을 변경해 준다.

# chmod 600 /root/.rhosts

그런뒤 /etc/hosts 에 서버와 클라이언트 호스트 정보를 적어 준다.

# vi /etc/hosts

——————————————————————-

192.168.1.1             server

192.168.1.2             client

그런뒤 /etc/hosts.deny , /etc/hosts.allow 에 Tcp wrapper 설정으로 한단계 더 보안을

강화해

준다.

# vi /etc/hosts.deny

——————————————————————-

in.rshd,in.rlogind : ALL : twist ( /etc/host-check Y Y %a %c %d %h %n %p %s %u ) &

# vi /etc/hosts.allow

——————————————————————-

in.rshd,in.rlogind : 192.168.1.1,192.168.1.2

이와 같이 hosts.deny 에서 모든 host 에서의 rsh, rlogin 서비스를 막고, 다시

/etc/hosts.allow

에서 192.168.1.1 , 192.168.1.2 에서만 사용할 수 있도록 허가를 해준다.

# vi /etc/host-check

——————————————————————-

#!/bin/sh

################################  변수정의부문

# 메일 수신자

mailto=관리자 이메일

# 화면출력 여부, 메일전송 여부

dsp=$1; msg=$2

# 접속자 정보 등

a=$3; c=$4; d=$5; h=$6; n=$7; p=$8; s=$9; u=$10

# 현재 시간

time=`date`

# 접속시도자 소속 서버의 finger 정보

finger=`/usr/bin/finger -l @$h 2> /dev/null`

################################  화면 출력부문

if [ $dsp = Y ]

    then

echo ”

                      ===================================

                           접속이 허용되지 않습니다.

                      ===================================

               Access Time             : $time

               Client host address     : $a

               Client information      : $c

               Client host name(or IP) : $h

               Client host name        : $n

               Client user name        : $u

        ”

fi

################################  메일 송신부문

if [ $msg = Y ]

    then

/bin/echo ”

                        ===============================

                              접속 거부자 상세정보

                        ===============================

         Access Time                    : $time

         Access client host address     : $a

         Access client information      : $c

         The daemon process name        : $d

         Access client host name(or IP) : $h

         Access client host name        : $n

         The daemon process id          : $p

         Server information             : $s

         Access client user name        : $u

                   ————————————–

                       Access client finger information

                   ————————————–

                            $finger

              ————————————————

” | \\

      /bin/mail -s “tcp_wrapper report [$d]” $mailto

/etc/host-check 스크립트는 만일 앞에서 허가한 두개의 host 이외의 곳에서 접속시도를

하면 위의 메세지를 뿌려 주고 관리자 한테 접속시도자의 host 정보를 메일로 보내준다.

host-check 스크립트에 실행 권한을 준다.

# chmod 755 /etc/host-check

서버측 설정은 이걸루 마친다.

2. Client 설정

/etc/hosts 에 Sever, Client 의 host 정보를 입력한다.

# /etc/hosts

——————————————————–

192.168.1.1     server

192.168.1.2     client

이제 client 에서 server 로 rsh, rlogin 을 이용해서 접속을 해보자

3. rsh, rlogin 사용법

rsh 사용법

usage: rsh [-nd] [-l login] host [command]

– rsh 를 이용한 접속법

[root@client root]# rsh server

Last login: Fri Jul 26 15:34:43 from tech

You have new mail.

[root@server root]#

– remote shell 사용법

[root@client root]# rsh server ps

  PID TTY          TIME CMD

    1 ?        00:00:04 init

    2 ?        00:00:00 keventd

    3 ?        00:00:00 kapmd

    4 ?        00:00:00 ksoftirqd_CPU0

    5 ?        00:00:00 kswapd

    6 ?        00:00:00 bdflush

    7 ?        00:00:00 kupdated

    8 ?        00:00:00 mdrecoveryd

   12 ?        00:00:00 kjournald

   91 ?        00:00:00 khubd

  247 ?        00:00:00 kjournald

  248 ?        00:00:00 kjournald

  594 ?        00:00:00 eth1

  665 ?        00:00:00 syslogd

  670 ?        00:00:00 klogd

  712 ?        00:00:00 sshd

  761 ?        00:00:00 sendmail

  780 ?        00:00:00 crond

  808 ?        00:00:00 vmnet-bridge

  831 ?        00:00:00 vmnet-natd

1153 ?        00:00:00 login

1165 ?        00:00:00 vmnet-netifup

1171 ?        00:00:00 vmnet-netifup

1235 ?        00:00:00 vmnet-dhcpd

1237 ?        00:00:00 vmnet-dhcpd

1238 ?        00:00:01 vmware-nmbd

1240 ?        00:00:00 vmware-smbd

4951 ?        00:00:43 X

6170 ?        00:00:00 xinetd

6356 ?        00:00:00 in.rshd

6357 ?        00:00:00 ps

위의 “rsh server ps” 명령어는 client host 에서 server host 로 접속하지 않고도

server host 의 process check 명령어 ps 를 이용하는 예제 이다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.