JUNOSのコンフィグをFTPで保存

JUNOSの設定を外部のFTPサーバにアップします。

基本構成

まずFreeBSDにFTPサーバをインストールします。今回はFTPサーバ定番のproftpdにしました。今回構築した環境は以下の通りです。

オペレーションシステム FreeBSD 8.2-RELEASE
FTPサーバ proftpd-1.3.4b

FTPサーバの構築

FreeBSDなので、いつものportsでサクッっとproftpdをインストールしてしまいます。

 
# cd /usr/ports/ftp/proftpd/
# make install clean
 

コンフィグですが、IPv6はこの環境では使っていないのでOFFにしていますが、それ以外はディフォルトのまま使っています。

# cat /usr/local/etc/proftpd.conf
 
#
# For more information about Proftpd configuration
# see http://www.proftpd.org/
#
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
 
ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on
ScoreboardFile          /var/run/proftpd/proftpd.scoreboard
 
# Port 21 is the standard FTP port.
Port                            21
 
# Use IPv6 support by default.
#UseIPv6                                on
UseIPv6                         off
 
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022
 
# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30
 
CommandBufferSize       512
 
# Set the user and group under which the server will run.
User                            nobody
Group                           nogroup
 
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~
 
# Normally, we want files to be overwriteable.
AllowOverwrite          on
 
# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>
 
# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
 
#########################################################################
#                                                                       #
# Uncomment lines with only one # to allow basic anonymous access       #
#                                                                       #
#########################################################################
 
#<Anonymous ~ftp>
#   User                                ftp
#   Group                               ftp
 
  ### We want clients to be able to login with "anonymous" as well as "ftp"
  # UserAlias                   anonymous ftp
 
  ### Limit the maximum number of anonymous logins
  # MaxClients                  10
 
  ### We want 'welcome.msg' displayed at login, and '.message' displayed
  ### in each newly chdired directory.
  # DisplayLogin                        welcome.msg
  # DisplayFirstChdir           .message
 
  ### Limit WRITE everywhere in the anonymous chroot
  # <Limit WRITE>
  #   DenyAll
  # </Limit>
#</Anonymous>

FTPデーモンを起動します。

# /usr/local/etc/rc.d/proftpd start

FTPにログイン出来ない

始め、chrootの設定を有効にするために、proftpd.confの「#DefaultRoot ~」部分をコメントインしていましたが、以下のメッセージが出力されてFTPでログインできませんでした。

Dec 15 00:38:31 bsd proftpd[59720]: bsd.or2.to (192.168.40.128[192.168.40.128]) - error: FreeBSD with vulnerable chroot (FreeBSD-SA-11:07.chroot)
Dec 15 00:38:31 bsd proftpd[59720]: bsd.or2.to (192.168.40.128[192.168.40.128]) - chroot to '/usr/home/juniper' failed for user 'juniper': Operation not permitted
Dec 15 00:38:31 bsd proftpd[59720]: bsd.or2.to (192.168.40.128[192.168.40.128]) - error: unable to set default root directory
 

どうやら、freeBSDのいくつかのバージョンのlibcにおいて問題があるようです。回避策(Workaround)としては、chrootを使わない。または、パッチを当ててコンパイルし直す必要があるようですが、JUNOSのコンフィグバックアップしか使う目的がないので、proftpd.confの「DefaultRoot ~」をコメントアウトしました。詳細は以下のリンク先を参考にして下さい。

参考URL:Code execution via chrooted ftpd

JUNOSをFTPでコンフィグバックアップ

FTPサーバの準備が完了したら、ようやくFTPを使ったコンフィグ保存です。FTPサーバは「192.168.40.2」で、ユーザは「juniper」、保存するファイル名を「SRX100H_121215.conf」にしています。

 
juniper@SRX100H> configure
Entering configuration mode
 
[edit]
juniper@SRX100H# save ftp://juniper@192.168.40.2/SRX100H_121215.conf
Password for juniper@192.168.40.2: *******
ftp://juniper@192.168.40.2/SRX100H_121215.conf 100% of 55 kB 2109 kBps
Wrote 1928 lines of configuration to 'ftp://juniper@192.168.40.2/SRX100H_121215.conf'
 
[edit]
juniper@SRX100H#
 

サーバ上にファイルが保存されたことを確認します。

 
bsd# ls -l SRX100H_121215.conf
-rw-r--r--  1 juniper  wheel  56387 Dec 15 01:14 SRX100H_121215.conf
 

以上です。

関連記事

人気記事のランキング

トラックバックURL

このエントリーのトラックバックURL:
http://or2.to/mt/mt-tb-mt.cgi/108

コメントする