Tunning de segurança no PHP

O PHP é uma das linguagens web mais populares. E por se uma das mais populares cresce a cada ano a quantidade de grupos querendo atacar este tipo de alvo.
Neste pequeno tutorial vou dar algumas dicas de tunning no PHP para melhorar um pouco a segurança.

php.ini

Vamos abrir o PHP.ini e encontrar as seguintes linhas:

disable_functions
allow_url_fopen
allow_url_include

encontrou ? Ok agora vamos modificar as linhas para que fique da seguinte forma:

disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
allow_url_fopen=Off
allow_url_include=Off

Reiniciei o servidor Apache ou NGINX

Acesso a escrita

Os diretórios com permissão para escrita, geralmente aqueles que você usa para upload. Adicione o seguinte .htacess neste diretório de upload


deny from all

RewriteEngine Off

* Isto irá fazer com que o diretório onde você faz upload não possibilita a execução de scripts PHP. Lembre-se de verificar quais os mimetypes foram configurador no seu httpd.conf para que você possa bloquear eles também no htacess.

MySQL

Deixe o MySQL rodando apenas local. Caso tenha que acessar ele remotamente crie um tunelamento na porta 22 através do SSH.

Adicione a seguinte regra em seu firewall


iptables -A INPUT -p TCP --dport 3306 -j DROP

Criando um servidor Http usando o NodeJS

O NodeJS é simplesmente fantástico no back-end. As possibilidades e a velocidade de processamento fazem com que o NodeJS seja um grande diferencial para criação

de aplicações web. Neste exemplo abaixo irei exemplificar como criar um servidor http simplesmente com algumas linhas de código.

const http = require(‘http’)
const server = http.createServer( function (req, res) {
res.writeHead (200, {“constent-Type”: “text/html” } )
res.end(‘<h1> apenas um teste </h1>’)
})
const porta = 3456
server.listen(porta, function (){
console.log(`Listem port ${porta} `)
})
* Para testar o script basta rodar no seu console:
node script.js

Instalando o NetData em seu servidor Debian

O NetData é um sistema distribuído para monitoramento de performance de servidores em realtime. Você consegue ter uma visão geral através de um dashboard com gráficos e métricas do sistema em questão tudo em tempo real.

O link do projeto é:
https://github.com/firehol/netdata

Instalação
A forma mais simples de instalação do Netdata é através do script de instalação. Abra o terminal da sua distribuição e execute os seguintes comandos abaixo:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)


Screenshot do Netdata em funcionamento:

 

cordova build ios failing ( Error: Error code 65 for command)

Rescentemente tive que reinstalar meu ambiente de desenvolvimento híbrido Ionic e ao tentar gerar um build encontrei o seguinte problema:

cordova build ios failing ( Error: Error code 65 for command)

Este problema está relacionado a versão do Cordova IOS Plugin. Este problema pode ser a versão do plugin. Para corrigir execute os seguintes comandos:

npm install -g cordova
cd my_project
cordova platform rm ios
cordova platform add ios@4.4.0

Error: encountered bad status code (400) for https://res.ionic.io/api/v1/transform

A ideia deste post é falar sobre um erro comum no Ionic ao regar os resources com o comando ionic cordova resources.

O erro:

Error: encountered bad status code (400) for https://res.ionic.io/api/v1/transform

está relacionado diretamente ao tamanho da imagem principal do splash.png. Considere criar uma imagem de splash com as dimensões de 2732×2732. Crie salve a imagem com o nome de splash.png e rode o comando ionic cordova resources novamente.