Advertisement
Fs0usa

Untitled

Oct 21st, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.77 KB | None | 0 0
  1. #!/bin/bash
  2. # Autor: @Fs0usa
  3. # Data de criação/update: 24/04/17
  4. # Objetivo:
  5. # Descrição:
  6. # Projeto: Fechado
  7. # Utiluze por sua conta e risco, não modifique o script com o intuito
  8. # de ganhar em cima de tal.
  9.  
  10. # Tabelas de cores que eu utilizo.
  11. fim="tput sgr0"
  12. bold="tput bold"
  13. vermelho="tput setaf 1"
  14. verde="tput setaf 2"
  15. amarelo="tput setaf 3"
  16. azul="tput setaf 4"
  17. roxo="tput setaf 5"
  18. ciano="tput setaf 6"
  19. branco="tput setaf 7"
  20. limpa="tput setaf 9"
  21. # Inicio do script
  22.  
  23. # Funcoes
  24.  
  25. msg() {
  26. $vermelho; $bold;
  27. echo "
  28. Aguarde um pouco..."; $fim
  29. }
  30. msg_end() {
  31. clear
  32. $amarelo ; $bold
  33. echo "                         Procedimentos completos"; $fim
  34.  
  35. $ciano ; $bold
  36. echo "
  37. Utilize o IP da SSH: $IP
  38. Nas portas:
  39.             22     (SSH)
  40.             443    (Dropbear)
  41.             80     (SQUID/PROXY)
  42.             8080   (SQUID/PROXY)
  43.             8799   (SQUID/PROXY)
  44.             3128   (SQUID/PROXY)"; $fim
  45.  
  46. $amarelo; $bold
  47. echo "Pressione qualquer tecla para sair" ; $fim
  48. read -n1 enter
  49. cd /
  50. exit
  51. MENU
  52. }
  53.  
  54. open_ssh() {
  55. echo " "
  56. $branco; $bold; echo "Configurando..."; $fim
  57. cd /etc/ssh
  58. mv sshd_config sshd_config.old
  59. echo "Port 22" >> sshd_config
  60. echo "Port 443" >> sshd_config
  61. echo "Protocol 2" >> sshd_config
  62. echo "PermitRootLogin yes" >> sshd_config
  63. echo "PermitEmptyPasswords yes" >> sshd_config
  64. echo "PasswordAuthentication yes" >> sshd_config
  65. echo "TCPKeepAlive yes"  >> sshd_config
  66. echo "UseDNS yes" >> sshd_config
  67. echo "Subsystem sftp /usr/lib/openssh/sftp-server" >> sshd_config
  68. echo "Banner /etc/ssh/banner.txt" >> sshd_config
  69. service ssh restart > /dev/null
  70. echo " "
  71. $verde; $bold; echo "Finalizado."; $fim
  72. }
  73. drop_config() {
  74. $branco; $bold; echo "Configurando..."; $fim
  75. echo " "
  76. rm /etc/default/dropbear
  77. apt-get --purge remove dropbear* -y 1> /dev/null 2> /dev/null
  78. # update
  79. apt-get update
  80. # instala o dropbear
  81. apt-get install dropbear -y
  82. # Arquivo de configuração do dropbear
  83. # Que ativa as portas
  84.  
  85. echo '
  86. # disabled because OpenSSH is installed
  87. # change to NO_START=0 to enable Dropbear
  88. NO_START=0
  89.  
  90. # the TCP port that Dropbear listens on
  91. DROPBEAR_PORT=443
  92.  
  93. # any additional arguments for Dropbear
  94. DROPBEAR_EXTRA_ARGS=$1
  95.  
  96. # specify an optional banner file containing a message to be
  97. # sent to clients before they connect, such as "/etc/issue.net"
  98. DROPBEAR_BANNER=""
  99.  
  100. # RSA hostkey file (default: /etc/dropbear/dropbear_rsa_host_key)
  101. #DROPBEAR_RSAKEY="/etc/dropbear/dropbear_rsa_host_key"
  102.  
  103. # DSS hostkey file (default: /etc/dropbear/dropbear_dss_host_key)
  104. #DROPBEAR_DSSKEY="/etc/dropbear/dropbear_dss_host_key"
  105.  
  106. # Receive window size - this is a tradeoff between memory and
  107. # network performance
  108. DROPBEAR_RECEIVE_WINDOW=65536' > /etc/default/dropbear
  109. # inicia o serviço dropbear
  110. service dropbear restart
  111. # update
  112. update-rc.d dropbear defaults
  113. # Criar chave RSA { segura e simples }
  114. dropbearkey -t rsa -f /etc/dropbear_rsa_host_key
  115. clear
  116. echo " "
  117. $verde; $bold; echo "Finalizado."; $fim
  118. }
  119. squid3_conf() {
  120. apt-get update 1> /dev/null    
  121. apt-get install squid3 -y 1> /dev/null
  122. cd /etc/squid3
  123. mv squid.conf squid.conf.old
  124. touch squid.conf
  125. echo "acl localhost src 127.0.0.1/255.255.255.255" >> squid.conf
  126. echo "acl url1 url_regex -i $IP" >> squid.conf
  127. echo "acl url2 dstdomain .claro.com.br" >> squid.conf
  128. echo "acl url3 dstdomain .claro.com" >> squid.conf
  129. echo "acl url4 dstdomain .net" >> squid.conf
  130. echo "acl url5 dstdomain .com.br" >> squid.conf
  131. echo "http_access allow localhost" >> squid.conf
  132. echo "http_access allow url1" >> squid.conf
  133. echo "http_access allow url2" >> squid.conf
  134. echo "http_access allow url3" >> squid.conf
  135. echo "http_access allow url4" >> squid.conf
  136. echo "http_access allow url5" >> squid.conf
  137. echo "http_access deny all" >> squid.conf
  138. echo "http_port 80" >> squid.conf
  139. echo "http_port 8080" >> squid.conf
  140. echo "http_port 8799" >> squid.conf
  141. echo "http_port 3128" >> squid.conf
  142. echo "visible_hostname @Fs0usa" >> squid.conf
  143. clear
  144. $vermelho; $bold
  145. echo "Aguarde um pouco..."; $fim
  146. service ssh restart 1> /dev/null 2> /dev/null
  147. service squid3 restart 1> /dev/null 2> /dev/null
  148. service squid3 reload 1> /dev/null 2> /dev/null
  149. }
  150.  
  151. squid_conf() {
  152.  
  153. apt-get update 1> /dev/null
  154. apt-get install squid -y 1> /dev/null
  155. clear  
  156. cd /etc/squid
  157. mv squid.conf squid.conf.old
  158. touch squid.conf
  159. echo "acl localhost src 127.0.0.1/255.255.255.255" >> squid.conf
  160. echo "acl url1 url_regex -i $IP" >> squid.conf
  161. echo "acl url2 dstdomain .claro.com.br" >> squid.conf
  162. echo "acl url3 dstdomain .claro.com.sv" >> squid.conf
  163. echo "acl url4 dstdomain .net" >> squid.conf
  164. echo "acl url5 dstdomain .com.br" >> squid.conf
  165. echo "http_access allow localhost" >> squid.conf
  166. echo "http_access allow url1" >> squid.conf
  167. echo "http_access allow url2" >> squid.conf
  168. echo "http_access allow url3" >> squid.conf
  169. echo "http_access allow url4" >> squid.conf
  170. echo "http_access allow url5" >> squid.conf
  171. echo "http_access deny all" >> squid.conf
  172. echo "http_port 80" >> squid.conf
  173. echo "http_port 8080" >> squid.conf
  174. echo "http_port 8799" >> squid.conf
  175. echo "http_port 3128" >> squid.conf
  176. echo "visible_hostname @Fs0usa" >> squid.conf
  177. clear
  178. $vermelho ; $bold ; echo "
  179. Aguarde um pouco..." ; $fim
  180. service ssh restart 1> /dev/null
  181. service squid restart 1> /dev/null
  182. service ssh reload 1> /dev/null
  183. service squid reload 1> /dev/null
  184. }
  185.  
  186. # Hostname da máquina
  187. nonename=`uname -n`
  188.  
  189. # menu, main
  190. MENU() {
  191. clear
  192. $vermelho; $bold; echo "Version release 3.2"
  193. # Mensagem  
  194. $amarelo; $bold; echo "Bem vindo(a) $nonename"; $branco; $bold
  195. echo -e "\nDeseja Instalar pacotes necessários para a administração? [yes/no]\n\t\t\thtop : bmon : top : ifping\n"
  196. read -p ":: " -e -i no RESP
  197.  
  198. case $RESP in
  199.     "yes"|"y")
  200.         clear
  201.         $verde; $bold; echo -e "\nAguarde um pouco...\n"; $branco; $bold
  202.         apt-get install -y bmon &> /dev/null
  203.         apt-get install -y htop &> /dev/null    
  204.         apt-get install -y top &> /dev/null    
  205.         apt-get install -y ifping &> /dev/null 
  206.         clear
  207.     ;;
  208.    
  209.     "no"|"n")
  210.         $branco; $bold
  211.     ;;
  212.     *)
  213.         echo -e "Responda apenas yes ou no!"; $fim
  214.         exit 2
  215.     ;;
  216.    
  217. esac
  218. echo " "
  219. $ciano; $bold
  220. read -p "Deseja usar Dropbear na configuração [Y/n]: " -e -i Y drop
  221. case $drop in
  222. y|Y)
  223. padron='"-p 443"'
  224. $branco; $bold
  225. echo "Aviso: Caso queira adicionar uma porta, coloque '-p' + a porta + aspa [se achou ruim, pqi no seu cu]"
  226. echo " "
  227. read -p "Quais portas usar no dropbear: " -e -i "$padron" portas
  228. echo " "
  229. drop_config "$portas" ;;
  230. n|N) open_ssh ;;
  231. *) opcao_desconhecida ;;
  232. esac
  233. echo " "
  234. IP=$(wget -qO- ipv4.icanhazip.com)
  235. read -p "IP: " -e -i $IP IP
  236.  
  237. # identificando distro da máquina.
  238. DIS1=`cat /etc/[A-Za-z]*[_-][rv]e[lr]* | grep DISTRIB_DESCRIPTION`
  239. DIS2=`echo ${DIS1#DISTRIB_DESCRIPTION=}`
  240. DIS3=`echo ${DIS2%%.*} | sed 's/"//'`
  241.  
  242. distro=""
  243.  
  244. if [[ "$DIS3" = "Ubuntu 14" ]]
  245. then
  246.     distro="2"
  247. fi
  248.  
  249. if [[ "$DIS3" = "Ubuntu 16" ]]
  250. then
  251.     distro="3"
  252. fi
  253.  
  254. if [ -z "$DIS1" ]
  255. then
  256.    DIS1=`cat /etc/[A-Za-z]*[_-][rv]e[lr]* | grep PRETTY_NAME=`
  257.    DIS2=`echo ${DIS1#PRETTY_NAME=}`
  258.    DIS3=`echo $DIS3 | sed 's/"//' | awk '{print $1}'`
  259.    distro="1"
  260. fi
  261.  
  262. $verde; $bold; echo -e "\nDigite o número de sua distro[]: \n"; $amarelo; $bold
  263. echo -e "
  264. [ 1 ] Debian ( 7 ou 8 )
  265. [ 2 ] Ubuntu ( 14 )
  266. [ 3 ] Ubuntu ( 16 )\n"; $ciano; $bold
  267. read -p "Número correspondente: " -e -i $distro distro
  268. $fim
  269. case $distro in
  270. 1) deb ;;
  271. 2) ubuntu14 ;;
  272. 3) ubuntu16 ;;
  273. *) opcao_desconhecida ;;
  274. esac
  275. }
  276.  
  277. deb() {
  278. msg
  279. squid3_conf
  280. msg_end
  281. }
  282.  
  283. ubuntu14() {
  284. msg
  285. squid3_conf
  286. clear
  287. $vermelho; $bold
  288. echo "Aguarde um pouco..."; $fim
  289. service ssh restart 1> /dev/null 2> /dev/stdout
  290. service squid3 restart 1> /dev/null 2> /dev/stdout
  291. msg_end
  292. }
  293.  
  294. ubuntu16() {
  295. msg
  296. squid_conf
  297. msg_end
  298. }
  299.  
  300. opcao_desconhecida() {
  301. clear
  302. $vermelho ; $bold
  303. echo "Opção escolhida inválida, digite apenas o correspondente"
  304. echo "Que esteja nas opções a seguir" ; $fim
  305. sleep 1
  306. MENU
  307. }
  308. MENU
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement