Advertisement
Guest User

d

a guest
Feb 19th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. #$1 - Find
  4. #$2 - Replace
  5. #$3 - File
  6. copyReplaceB()
  7. {
  8. _r1="$1"
  9. _r2="$2"
  10.  
  11. _r1="${_r1//\//\\/}"
  12. _r2="${_r2//\//\\/}"
  13.  
  14. sed -e "s/${_r1}/${_r2}/g" $3 > /tmp/temp
  15. cat /tmp/temp > $3
  16. rm /tmp/temp
  17. }
  18.  
  19. #$1 - Find
  20. #$2 - Replace
  21. #$3 - File
  22. copyReplace()
  23. {
  24. sed -e "s/$1/$2/g" $3 > /tmp/temp
  25. cat /tmp/temp > $3
  26. rm /tmp/temp
  27. }
  28.  
  29. if [ $(lsb_release -a 2>&1 | grep Release | awk {'print $2'}) != "16.04" ]
  30. then
  31. echo "This script is only intended to be used on Ubuntu 16.04."
  32. exit 1
  33. fi
  34.  
  35. if [ -w /etc/passwd ]
  36. then
  37. dpkg-reconfigure tzdata
  38.  
  39. webip='sonic.evolution-host.com' #For the downloads user (Should be Sonic at the moment - Not SBG)
  40. downloadsPassword='57ZVYkQ85pKMvBXD'
  41.  
  42. mkdir /vps
  43. mkdir /var/include
  44. mkdir /var/weblogs
  45. mkdir /usr/template
  46. mkdir /root/mailspam
  47.  
  48. chmod 700 /var/include
  49. chmod 700 /var/weblogs
  50.  
  51. chown www-data: /var/weblogs
  52.  
  53. apt-get update
  54. apt-get install -y php-cli mysql-client sshpass php-pear libnetfilter-queue1 iotop fail2ban nload unattended-upgrades htop iotop
  55.  
  56. pear install --alldeps mail
  57. pear install --alldeps Net_SMTP
  58. pear install --alldeps Auth_SASL
  59. pear install --alldeps mail_mime
  60.  
  61. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@$webip:blcheck.php /var/include/
  62. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@$webip:blacklistCheck.php /var/include/
  63. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@$webip:autoupdate.sh /root/autoupdate.sh
  64. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@$webip:restartmail.sh /root/mailspam/restartmail.sh
  65. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@$webip:mailmonitor /root/mailspam/mailmonitor
  66. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@$webip:Net.tar.gz /usr/share/php
  67.  
  68. cd /usr/share/php
  69. tar -xf Net.tar.gz
  70. cd ~
  71.  
  72. chmod 700 /root/autoupdate.sh
  73. chmod 700 /root/mailspam/restartmail.sh
  74. chmod 700 /root/mailspam/mailmonitor
  75.  
  76. #Enable automatic updates
  77. copyReplaceB '// "${distro_id}:${distro_codename}-updates";' ' "${distro_id}:${distro_codename}-updates";' '/etc/apt/apt.conf.d/50unattended-upgrades'
  78.  
  79. if ! [[ -e /etc/apt/apt.conf.d/20auto-upgrades ]]
  80. then
  81. echo 'APT::Periodic::Update-Package-Lists "1";
  82. APT::Periodic::Download-Upgradeable-Packages "1";
  83. APT::Periodic::AutocleanInterval "7";
  84. APT::Periodic::Unattended-Upgrade "1";' > /etc/apt/apt.conf.d/20auto-upgrades
  85. fi
  86.  
  87. crontab -l | { cat; echo "0 * * * * /root/autoupdate.sh"; } | crontab -
  88. crontab -l | { cat; echo "0 */4 * * * php -q /var/include/blacklistCheck.php"; } | crontab -
  89. crontab -l | { cat; echo "0 3 * * * /usr/sbin/ntpdate ntp.ovh.net > /dev/null"; } | crontab -
  90.  
  91. crontab -l | { cat; echo "@reboot /sbin/iptables -I INPUT -p tcp --dport 4085 -j DROP"; } | crontab -
  92. crontab -l | { cat; echo "@reboot /sbin/iptables -I INPUT -s 94.175.42.138 -j ACCEPT"; } | crontab -
  93. crontab -l | { cat; echo "@reboot /sbin/iptables -I INPUT -s 46.7.250.103 -j ACCEPT"; } | crontab -
  94. crontab -l | { cat; echo "@reboot /sbin/iptables -I INPUT -s main.evolution-host.com -j ACCEPT"; } | crontab -
  95.  
  96. crontab -l | { cat; echo "@reboot /sbin/iptables -A FORWARD -m physdev --physdev-in viifv+ -p tcp --match multiport --dports 25,2525,587,465,2526 -j NFQUEUE --queue-num 0"; } | crontab -
  97. crontab -l | { cat; echo "@reboot /sbin/iptables -A FORWARD -m physdev --physdev-in viifv+ -p tcp --match multiport --sports 25,2525,587,465,2526 -j NFQUEUE --queue-num 0"; } | crontab -
  98. crontab -l | { cat; echo '@reboot /sbin/iptables -A FORWARD -p udp -m string --algo bm --string "TSource" -m limit --limit 30/second -j ACCEPT'; } | crontab -
  99. crontab -l | { cat; echo '@reboot /sbin/iptables -A FORWARD -p udp -m string --algo bm --string "TSource" -j DROP'; } | crontab -
  100. crontab -l | { cat; echo '@reboot /sbin/iptables -A FORWARD -p udp -m string --algo bm --string "TS3INIT" -m limit --limit 30/second -j ACCEPT'; } | crontab -
  101. crontab -l | { cat; echo '@reboot /sbin/iptables -A FORWARD -p udp -m string --algo bm --string "TS3INIT" -j DROP'; } | crontab -
  102.  
  103. #Makes the iptables FORWARD chain apply to VPS/viifbr0
  104. modprobe br_netfilter
  105. crontab -l | { cat; echo '@reboot /sbin/ebtables -t broute -A BROUTING -p ipv4 -i br0 -j DROP'; } | crontab -
  106.  
  107. crontab -l | { cat; echo "@reboot /root/mailspam/restartmail.sh"; } | crontab -
  108.  
  109. useradd vpsremoteuser
  110. mkdir /home/vpsremoteuser
  111. chown vpsremoteuser: /home/vpsremoteuser
  112. chmod 700 /home/vpsremoteuser
  113. echo -e "8apv6GZYTX9jBRZY\n8apv6GZYTX9jBRZY\n" | passwd vpsremoteuser
  114.  
  115. allowips="94.175.42.138 46.7.250.103 5.196.162.99 173.234.25.98 198.50.246.48 188.166.190.1"
  116. allowips=$(echo $allowips | sort | uniq)
  117. for ip in $allowips
  118. do
  119. if [ $(grep $ip /etc/ssh/sshd_config | wc -l) -eq 0 ]
  120. then
  121. sed -i "/^AllowUsers/ s/\$/ *@$ip/" /etc/ssh/sshd_config
  122. fi
  123. done
  124.  
  125. echo "vpsremoteuser ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
  126. service ssh restart
  127.  
  128. sshpass -p $downloadsPassword scp -oStrictHostKeyChecking=no downloads@sonic.evolution-host.com:f2b_phpmyadmin_mysql_16.04.sh /tmp/f2b_phpmyadmin_mysql_16.04.sh
  129. chmod 700 /tmp/f2b_phpmyadmin_mysql_16.04.sh
  130. /tmp/f2b_phpmyadmin_mysql_16.04.sh
  131. rm /tmp/f2b_phpmyadmin_mysql_16.04.sh
  132.  
  133. echo ''
  134. echo ''
  135. echo 'Remember to set a DNS and rDNS record for this system IP. Turn on permanant mitigation.'
  136. echo 'Transfer all Virtualizor templates.'
  137. echo 'Setup automatic backups'
  138. echo 'Grant SQL access for this system to login to main.evolution-host.com as createdb (blacklist checking).'
  139. else
  140. echo 'This script must be ran as root. (use sudo)'
  141. exit 0
  142. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement