From e781c7c4e4e385f504254d0fd32f534d559af3c2 Mon Sep 17 00:00:00 2001 From: TamasBakai Date: Thu, 11 Jul 2019 11:26:20 +0000 Subject: Mass PNF-sim unique VSFTPD PASV ports Issue-ID: DCAEGEN2-1660 Change-Id: Ib742755f6a924ee9c5babe8e411311e7fe0e6802 Signed-off-by: TamasBakai --- test/mocks/mass-pnf-sim/mass-pnf-sim.py | 12 ++++- .../config/vsftpd_ssl-TEMPLATE.conf | 59 ++++++++++++++++++++++ .../pnf-sim-lightweight/config/vsftpd_ssl.conf | 57 --------------------- .../docker-compose-template.yml | 7 +-- .../mass-pnf-sim/pnf-sim-lightweight/simulator.sh | 16 ++++-- 5 files changed, 85 insertions(+), 66 deletions(-) create mode 100644 test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl-TEMPLATE.conf delete mode 100644 test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl.conf (limited to 'test/mocks/mass-pnf-sim') diff --git a/test/mocks/mass-pnf-sim/mass-pnf-sim.py b/test/mocks/mass-pnf-sim/mass-pnf-sim.py index a02e3fdd2..c3a17b0b1 100755 --- a/test/mocks/mass-pnf-sim/mass-pnf-sim.py +++ b/test/mocks/mass-pnf-sim/mass-pnf-sim.py @@ -76,6 +76,11 @@ if args.bootstrap and args.ipstart and args.urlves: print("Bootstrap:") start_port=2000 + ftps_pasv_port_start=8000 + ftps_pasv_port_num_of_ports=10 + + ftps_pasv_port_end=ftps_pasv_port_start + ftps_pasv_port_num_of_ports + for i in range(int(args.bootstrap)): print("PNF simulator instance: " + str(i) + ".") @@ -124,7 +129,9 @@ if args.bootstrap and args.ipstart and args.urlves: str(PortSftp) + " " + \ str(PortFtps) + " " + \ str(UrlFtps) + " " + \ - str(UrlSftp) + str(UrlSftp) + " " + \ + str(ftps_pasv_port_start) + " " + \ + str(ftps_pasv_port_end) completed = subprocess.run( 'set -x; cd ' + @@ -133,6 +140,9 @@ if args.bootstrap and args.ipstart and args.urlves: composercmd, shell=True) print('Cloning:', completed.stdout) + + ftps_pasv_port_start += ftps_pasv_port_num_of_ports + 1 + ftps_pasv_port_end += ftps_pasv_port_num_of_ports +1 completed = subprocess.run('set -x; cd pnf-sim-lightweight; ./simulator.sh build ', shell=True) print("Build docker image: ", completed.stdout) diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl-TEMPLATE.conf b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl-TEMPLATE.conf new file mode 100644 index 000000000..75bb974a3 --- /dev/null +++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl-TEMPLATE.conf @@ -0,0 +1,59 @@ +# Server Config +anonymous_enable=NO +local_enable=YES +write_enable=YES +local_umask=022 +dirmessage_enable=YES + +# Security and User auth +chroot_local_user=YES +pam_service_name=vsftpd_virtual +virtual_use_local_privs=YES +chmod_enable=NO +user_config_dir=/etc/vsftpd/user_conf +user_sub_token=$USER +#local_root=/srv/$USER +local_root=/srv/ +userlist_enable=NO +allow_writeable_chroot=YES + +# Logging +log_ftp_protocol=YES +xferlog_enable=YES +xferlog_std_format=YES +#xferlog_file=/dev/stdout +syslog_enable=NO +dual_log_enable=YES + +# Remap all login users to this username +guest_enable=YES +guest_username=ftp +hide_ids=YES + +# Networking +connect_from_port_20=NO +listen=YES +tcp_wrappers=YES +pasv_min_port=${FTPS_PASV_MIN} +pasv_max_port=${FTPS_PASV_MAX} + +# SSL +ssl_enable=Yes +require_ssl_reuse=NO +force_local_data_ssl=YES +force_local_logins_ssl=YES +ssl_ciphers=HIGH +allow_anon_ssl=NO + +ssl_tlsv1=YES +ssl_sslv2=YES +ssl_sslv3=YES +rsa_cert_file=/etc/ssl/private/ftp.crt +rsa_private_key_file=/etc/ssl/private/ftp.key + +require_cert=YES +ssl_request_cert=YES +ca_certs_file=/etc/ssl/private/dfc.crt + +write_enable=YES +pasv_address=${IPFILESERVER} diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl.conf b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl.conf deleted file mode 100644 index 99d64dca0..000000000 --- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/config/vsftpd_ssl.conf +++ /dev/null @@ -1,57 +0,0 @@ -# Server Config -anonymous_enable=NO -local_enable=YES -write_enable=YES -local_umask=022 -dirmessage_enable=YES - -# Security and User auth -chroot_local_user=YES -pam_service_name=vsftpd_virtual -virtual_use_local_privs=YES -chmod_enable=NO -user_config_dir=/etc/vsftpd/user_conf -user_sub_token=$USER -#local_root=/srv/$USER -local_root=/srv/ -userlist_enable=NO -allow_writeable_chroot=YES - -# Logging -log_ftp_protocol=YES -xferlog_enable=YES -xferlog_std_format=YES -#xferlog_file=/dev/stdout -syslog_enable=NO -dual_log_enable=YES - -# Remap all login users to this username -guest_enable=YES -guest_username=ftp -hide_ids=YES - -# Networking -connect_from_port_20=NO -listen=YES -tcp_wrappers=YES -pasv_min_port=8001 -pasv_max_port=8010 - -# SSL -ssl_enable=Yes -require_ssl_reuse=NO -force_local_data_ssl=YES -force_local_logins_ssl=YES -ssl_ciphers=HIGH -allow_anon_ssl=NO - -ssl_tlsv1=YES -ssl_sslv2=YES -ssl_sslv3=YES -rsa_cert_file=/etc/ssl/private/ftp.crt -rsa_private_key_file=/etc/ssl/private/ftp.key - -require_cert=YES -ssl_request_cert=YES -ca_certs_file=/etc/ssl/private/dfc.crt - diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml index 2c9226a87..d2c529033 100644 --- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml +++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/docker-compose-template.yml @@ -45,13 +45,14 @@ services: front-${I}: ipv4_address: "${IPFTPS}" ports: - - "${PORTFTPS}:21" + - "${PORTFTPS}:21" + - "${FTPS_PASV_MIN}-${FTPS_PASV_MAX}:${FTPS_PASV_MIN}-${FTPS_PASV_MAX}" environment: FTP_USER: onap FTP_PASSWORD: pano PASV_ADDRESS: localhost - PASV_MIN_PORT: 8001 - PASV_MAX_PORT: 8010 + PASV_MIN_PORT: ${FTPS_PASV_MIN} + PASV_MAX_PORT: ${FTPS_PASV_MAX} volumes: - ./tls/ftp.crt:/etc/ssl/private/ftp.crt:ro - ./tls/ftp.key:/etc/ssl/private/ftp.key:ro diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh index f4435aa18..3de96dafe 100755 --- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh +++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/simulator.sh @@ -20,8 +20,8 @@ function main(){ case $COMMAND in "compose") - compose $2 $3 $4 $5 $6 $7 $8 $9 "${10}" "${11}" "${12}" ;; - #IPGW, #IPSUBNET, #I, #URLVES, #IPPNFSIM, #IPFILESERVER, #TYPEFILESERVER, #PORTSFTP, #PORTFTPS, #IPFTPS, #IPSFTP + compose $2 $3 $4 $5 $6 $7 $8 $9 "${10}" "${11}" "${12}" "${13}" "${14}" ;; + #IPGW, #IPSUBNET, #I, #URLVES, #IPPNFSIM, #IPFILESERVER, #TYPEFILESERVER, #PORTSFTP, #PORTFTPS, #IPFTPS, #IPSFTP, #FTPS_PASV_MIN, #FTPS_PAST_MAX "build") build_image;; "start") @@ -63,7 +63,7 @@ function get_pnfsim_ip() { function compose(){ #creating custom docker-compose based on IP arguments #creting config.json by injecting the same IP - + export IPGW=$1 export IPSUBNET=$2 export I=$3 @@ -75,6 +75,8 @@ function compose(){ export PORTFTPS=$9 export IPFTPS=${10} export IPSFTP=${11} + export FTPS_PASV_MIN=${12} + export FTPS_PASV_MAX=${13} LOCALTIME=$(ls -l /etc/localtime) export TIMEZONE=${LOCALTIME//*zoneinfo\/} @@ -87,10 +89,14 @@ function compose(){ ./ROP_file_creator.sh $I & - set_vsftpd_file_owner - write_config $URLVES $IPFILESERVER $TYPEFILESERVER $PORTSFTP $PORTFTPS $IPPNFSIM + cd config + envsubst < vsftpd_ssl-TEMPLATE.conf > vsftpd_ssl.conf + cd - + + set_vsftpd_file_owner + } function build_image(){ -- cgit 1.2.3-korg