A IA pode lutar contra o aumento do número de ataques de ransomware
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
O Nginx é um software de servidor web de código aberto projetado com alta simultaneidade, que pode ser usado como servidor HTTP / HTTPS, servidor proxy reverso, servidor proxy de email, balanceador de carga de software, balanceador de carga de software, terminador TLS, servidor de cache e muito mais!
É um software muito modular. Mesmo algumas das partes aparentemente "integradas" do software, como GZIP ou SSL, são realmente criadas como módulos que podem ser ativados e desativados durante o tempo de compilação.
Possui módulos principais (nativos) e módulos de terceiros (externos) criados pela comunidade. No momento, existem mais de cem módulos de terceiros que podemos utilizar.
Escrito em C, é um software rápido e leve.
Instalar o Nginx a partir do código-fonte é relativamente fácil - faça o download da versão mais recente do código-fonte do Nginx, configure, construa e instale.
Você precisará escolher se deseja fazer o download da linha principal ou de uma versão estável, mas construí-las é a mesma.
Neste guia, compilaremos uma versão principal do Nginx no Debian 10 (buster). Usaremos todos os módulos disponíveis na versão de código aberto do Nginx.
Você provavelmente pergunta por que alguém compila o Nginx a partir de uma fonte quando pode usar pacotes preparados. Aqui estão algumas razões pelas quais você pode compilar software específico:
O Nginx Open Source está disponível em duas versões:
O Nginx possui dois tipos de módulos que você pode utilizar: módulos principais e módulos de terceiros.
Os principais desenvolvedores do Nginx constroem módulos principais e fazem parte do próprio software.
A comunidade cria módulos de terceiros e você pode usá-los para estender a funcionalidade. Existem muitos módulos de terceiros úteis.
Existem módulos estáticos no Nginx desde a primeira versão. Os módulos dinâmicos foram introduzidos com o Nginx 1.9.11+ em fevereiro de 2016.
Com módulos estáticos, um conjunto de módulos que constituem um binário Nginx é corrigido em tempo de compilação pelo ./configurescript. Módulos estáticos usam --with-foo_bar_moduleou --add-module=PATHsintaxe.
Para compilar um módulo principal (padrão) como dinâmico, adicionamos =dynamic, por exemplo --with-http_image_filter_module=dynamic.
Para compilar um módulo de terceiros como dinâmico, usamos a --add-dynamic-module=/path/to/modulesintaxe e os carregamos usando a load_modulediretiva no contexto global do nginx.confarquivo.
Em comparação com outros softwares UNIX / Linux, o Nginx é bastante leve e não possui muitas dependências de bibliotecas. A configuração de compilação padrão depende de apenas 3 bibliotecas a serem instaladas: OpenSSL / LibreSSL / BoringSSL, Zlib e PCRE.
NOTA : O Nginx também pode ser compilado nas bibliotecas de criptografia LibreSSL e BoringSSL, em vez do OpenSSL.
Verifique a versão do Debian.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Crie um usuário comum com sudoacesso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
NOTA : Substitua johndoepelo seu nome de usuário .
Mude para um novo usuário.
su - johndoe
Configure o fuso horário.
sudo dpkg-reconfigure tzdata
Atualize o software do seu sistema operacional.
sudo apt update && sudo apt upgrade -y
Instale os pacotes necessários.
sudo apt install -y software-properties-common ufw
O Nginx é um programa escrito em C, então você primeiro precisará instalar uma ferramenta de compilação. Instalar build-essential, gite tree.
sudo apt install -y build-essential git tree
Baixe a versão principal mais recente do código-fonte do Nginx e descompacte o arquivo de código-fonte. O código fonte do Nginx é distribuído como um arquivo compactado, como a maioria dos softwares Unix e Linux.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Faça o download do código fonte das dependências obrigatórias do Nginx e extraia-o.
# PCRE version 8.43
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz
# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
Instale dependências opcionais do Nginx.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Limpe todos os .tar.gzarquivos. Não precisamos mais deles.
rm -rf *.tar.gz
Digite o diretório de origem Nginx.
cd ~/nginx-1.17.2
Para uma boa medida, liste os diretórios e arquivos que compõem o código-fonte do Nginx tree.
tree -L 2 .
Copie a página do manual para /usr/share/man/man8/.
sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
ls /usr/share/man/man8/ | grep nginx.8.gz
# Check that man page for Nginx is working
man nginx
Para obter ajuda, você pode ver uma lista completa das opções atualizadas de tempo de compilação do Nginx executando o seguinte.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Configure, compile e instale o Nginx.
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Debian \
--builddir=nginx-1.17.2 \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-perl_modules_path=/usr/share/perl/5.26.1 \
--with-perl=/usr/bin/perl \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre=../pcre-8.43 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.1c \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
Após a compilação, navegue até o ~diretório home ( ).
cd ~
Link simbólico /usr/lib/nginx/modulespara /etc/nginx/modules. Este é um local padrão para os módulos Nginx.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Imprima a versão do Nginx, a versão do compilador e configure os parâmetros do script.
sudo nginx -V
# nginx version: nginx/1.17.2 (Debian)
# built by gcc 8.3.0 (Debian 8.3.0-6)
# built with OpenSSL 1.1.1c 28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . .
# . . .
# . . .
Crie um grupo de sistema e usuário do Nginx.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
# Check that user and group are created
sudo tail -n 1 /etc/passwd /etc/group /etc/shadow
Verifique a sintaxe do Nginx e possíveis erros.
sudo nginx -t
# Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Create NGINX cache directories and set proper permissions
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
# Re-check syntax and potential errors.
sudo nginx -t
Crie um arquivo de unidade do sistema Nginx.
sudo vim /etc/systemd/system/nginx.service
Preencha o /etc/systemd/system/nginx.servicearquivo com o seguinte conteúdo.
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Habilite o Nginx para iniciar na inicialização e inicie o Nginx imediatamente.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Verifique se o Nginx será iniciado automaticamente após uma reinicialização.
sudo systemctl is-enabled nginx.service
# enabled
Verifique o status.
sudo systemctl status nginx.service
NOTA : Você pode verificar se o Nginx está em execução acessando o domínio ou endereço IP do seu site em um navegador da web. Você verá a página de boas-vindas do Nginx. Isso é um indicador de que o Nginx está funcionando no seu VPS.
Crie um perfil de aplicativo UFW Nginx.
sudo vim /etc/ufw/applications.d/nginx
Copie / cole o seguinte conteúdo no /etc/ufw/applications.d/nginxarquivo.
[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp
[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp
[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp
Valide se os perfis de aplicativos UFW são criados e reconhecidos.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
O Nginx, por padrão, gera .defaultarquivos de backup no Windows /etc/nginx. Remova os .defaultarquivos do /etc/nginxdiretório.
sudo rm /etc/nginx/*.default
Coloque o realce da sintaxe da configuração do Nginx para o editor Vim ~/.vim.
# For regular non-root user
mkdir ~/.vim/
cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/
# For root user
sudo mkdir /root/.vim/
sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/
NOTA : Ao executar a etapa acima, você obterá uma boa sintaxe destacada ao editar os arquivos de configuração do Nginx no editor do Vim.
Criar conf.d, snippets, sites-availablee sites-enableddiretórios /etc/nginx.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Altere as permissões e a propriedade do grupo dos arquivos de log do Nginx.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Crie uma configuração de rotação de log para o Nginx.
sudo vim /etc/logrotate.d/nginx
Preencha o arquivo com o texto a seguir, salve e saia.
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
Remova todos os arquivos baixados do diretório inicial.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
É isso aí. Agora, você tem a versão mais recente do Nginx instalada. É compilado estaticamente em algumas bibliotecas importantes como o OpenSSL. Freqüentemente, a versão do OpenSSL fornecida pelo sistema está desatualizada. Usando esse método de instalação com uma versão mais recente do OpenSSL, você pode tirar proveito de cifras modernas CHACHA20_POLY1305e protocolos como o TLS 1.3, disponíveis no OpenSSL 1.1.1. Além disso, ao compilar seu próprio binário, você pode personalizar a funcionalidade que o Nginx fornecerá, o que é muito mais flexível do que instalar um binário pré-construído.
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.