Mostrando postagens com marcador Servidores. Mostrar todas as postagens
Mostrando postagens com marcador Servidores. Mostrar todas as postagens

05/06/2020

Scripts de inicialização com Systemd

     O systemd é um sistema de inicialização (init system) composto por um conjunto de programas executado em segundo plano (ou seja, um daemon). Atualmente, a maioria das distribuições linux utiliza este daemon para gerenciar a inicialização do sistema. Dessa forma, se for necessário adcionar algum script a inicialização do Linux, não basta mais colocar o mesmo no /etc/rc.local, é necessário seguir o padrão do systemd.

     A inclusão de um script na inicializa é necessário que sejam seguidos alguns passos conforme a seguir.

1. Criação do script

     Embora o systemd seja o responsável pela inicialização do Linux, ele não inicializa scripts naturalmente, logo o script propriamente dito ainda é necessário.

     Crie o script para executar a ação desejada e salve no diretório que desejar. Como exemplo, será utilizado o script vpn_manager.sh salvo em /usr/local/sbin, pois facilita a posterior utilização.

2. Definir o momento da execução.

     O systemd executa as units (seus scripts) de acordo com o nível de execução definido no script. Assim, para informar quando deve ocorrer a execução, é necessário informar após qual processo ela deve ocorrer.
systemd-analyze plot > systemd.svg 
     O comando acima gera um relatório com todas as inicializações, sequência e tempo de inicialização individual, resultando em uma “imagem” com um gráfico. Para conseguir visualiza-la pode-se utilizar um navegador como Chrome, Chromium ou Firefox. Ou então algum programa de imagem ImageMagick, gimp, inkscape, etc.

3. Criando um serviço no daemon

Criar um arquivo com a nomenclatura [vpn_manager].service em /lib/systemd/system/, incluindo o conteúdo a seguir:
[Unit]
# Descricao do que sera executado
Description=gerenciamento de vpn
# Esta unit sera executada apos o servico definido
After=network.service openvpn.service

[Service]
# Tipo de inicialização
Type=simple
# Para que o systema considere o servico como ativo após executado
#RemainAfterExit=yes
# Este campo exige o caminho completo até o script a ser executado
ExecStart=/usr/local/sbin/vpn_manager.sh

[Install]
# Serviço valido para o runlevel multi-user.targe
WantedBy=multi-user.target 
Outras configurações pode ser realizadas, incluindo opções de start, status e stop. Mais informações podem ser encontradas nesse link ou nas referências.

4. Efetivando a configuração

chmod +x /usr/local/sbin/vpn_manager.sh
systemctl enable /lib/systemd/system/vpn_manager.service
systemctl daemon-reload
reboot
A primeira linha da permissão de execução para o script, caso ainda não tenha sido feito. A segunda habilita o service, a terceira recarrega ao daemon e a última reinicia o sistema para testar a configuração.  Sempre que forem realizadas alterações no daemon, o mesmo deve ser recarregado.

03/03/2020

Sincronização de data e hora no linux

     Em algumas instalações pode ocorrer de o servidor ficar com a hora incorreta devido ao fuso horário em que se encontra. A timezone na qual o dispositivo se encontra, pode ser verificada com o comando timedatectl e reconfigurada com o comando dpkg-reconfigure tzdata.

     Após a reconfiguração da timezone pode ser necessário manter o servidor com a hora sincronizada através de um servidor NTP. Essa configuração pode ser realizada com a instalação do ntpdate e configuração da sua execução periódica no crontab com a inclusão da linha * */2 * * * ntpdate [IP/URLdo servidor NTP 2>&1 >  /dev/null.
apt-get install ntpdate
     Alguns endereços de servidores NTP mais estáveis e/ou confiáveis são:
  • 0.pool.ntp.org
  • 1.pool.ntp.org
  • a.ntp.org
  • b.ntp.org
  • c.ntp.org
     Também existem outras formas de configurar a sincronização de data e hora, que podem ser pesquisadas na web ou em alguns dos links nas referências do post.

Referências 

07/06/2019

Servidor TFTP para backup e restore

     O TFTP (Trivial File Transfer Protocol) é um protocolo de transferência de  arquivos, muito simples, semelhante ao FTP, geralmente utilizado para transferir pequenos arquivos entre hosts numa rede. É baseado em UDP (usa a porta 69) ao contrário do FTP que se baseia no TCP (usa a porta 21) e não permite listar o conteúdo de directoórios e principalmente, não apresenta mecanismos de autenticação ou encriptação de dados.
  • OBS: certifique-se de não deixar o servidor tftp ativo, pois por não possuir autenticação pode ser explorado como vulnerabilidade.

SO Linux

1. Instalar os pacotes servidor tftpd-hba. Observar que o pacote em questão é o tftpD-hpa e não o tftp-hpa.
apt-get install tftpd-hpa
2. Verificar as configurações do arquvio tftpd-hpa
vim /etc/default/tftpd-hpa
....
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/caminho/diretorio/tftp"
TFTP_ADDRESS="[::]:69"
TFTP_OPTIONS="--secure --create"
...
3. Em algumas configurações o valor da quarta linha de configuração teve que ser alterado de [::]:69 para 0.0.0.0:69, ficando conforme abaixo:
TFTP_ADDRESS="[0.0.0.0]:69"
4. Dar as devidas permissões a pasta
chmod 777 /caminho/diretorio/tftp
5. Inicializar/Parar serviço
/etc/init.d/tftpd-hpa {start|stop|restart|force-reload|status}
service tftpd-hpa {start|stop|restart|force-reload|status}

SO Windows

1. Instalar o programa tftp32 de acordo com a versão do SO [link].

2. Após a instalação será necessário adicionar uma exceção no firewall do windows, para que o servidor funcione.

3. Ao executar o programa, altere a pasta de destino do servidor tftp para uma pasta no seu diretório de usuário. Esta configuração é a primeira linha exibida no topo da janela aberta ao executar o programa.

4. O programa ja está pronto para ser utilizado. Após utilizar remova a exceção do firewall para garantir que o SO não fique vulnerável

16/02/2019

Raspberry - configuração básica

     Na última postagem compilei informações sobre algumas das formas de instalar um SO no Raspyberry. Agora descrevo algumas configurações que foram realizadas.

SSH

     Nas instalações do raspbian  que realizei, foi necessário instalar o openssh-server, já na versão pré configurada do ubuntu 16.04, a instalação não foi necessária. Mas de qualquer forma, o processo incluindo a instalação do pacote será:

1. Instalar o openssh-server
apt-get install openssh-server
2. Alterar a porta caso deseje
sed -i 's/#Port 22/Port 4242/' /etc/ssh/sshd_config
3. Habilitar a inicialização com o sistema

update-rd.c ssh enable
4. Reiniciar e testar o acesso.

Transmission Web

      Versão do cliente BitTorrent Transmission que roda em um servidor e pode ser gerenciada por uma interface web ou ou cliente instalado em outro computador.

1. Instalação
apt-get install transmission-daemon
2. Criação do diretório
mkdir /media/dados/torrents
chmod -R 775 /media/dados/torrents
chown -R [user_local]:debian-transmission /media/dados/torrents
usermod -G sudo,debian-transmission [user_local]

3. Configuração básica
service transmission-daemon stop
vim /etc/transmission-daemon/settings.json
...
"download-dir": "/media/dados/torrents",
"incomplete-dir-enabled": false,
"rpc-authentication-required": true,
"rpc-bind-address": “0.0.0.0″,
"rpc-enabled": true,
"rpc-password": "[senha]",
"rcp-port": 9091,
"rpc-username": "[user_local]",
"rpc-whitelist-enabled": false, 
...
service transmission-daemon start
4. Testar acesso em um computador cliente
  • Via navegador: http://192.168.1.2:9091
  • Via cliente remoto
    • apt-get install transmission-gtk e,
    • acessar trasmission-gui
    • configurar e conectar

SAMBA

     Compartilhamento de arquivos através do protocolo SMB, permitindo compartilhar os arquivos em rede.

1. Instalar os pacotes necessários
sudo apt-get install samba samba-common-bin
2. Adicionar o usuário ao samba
smbpasswv -a [user_local]
3. Configuração básica que necessitam ser alteradas
vim /etc/samba/smb.conf
....
workgroup=[grupo_dominio]
netbios name=[hostname]
....
; o ponto e virgula comenta a linha
[privado]
    comment = compartilhamento privado
    browseable = no
    path = /media/dados/privado
    guest ok = no
    writeable = yes
    public = no
    create mask = 775
    valid user=[usuario_valido]

   valid group=[grupo_usuario_valido]
 
[publico]
   comment = compartilhamento público

   browseable = yes
   path = /media/dados/publico
   guest ok = yes
   read only = yes
   writeable = no
   public = yes   

....
service smbd restart
     O que faz cada uma das opções nos compartilhamentos:
  • [nome]: nome do compartilhamento
  • comment: comentário
  • browseable : permite ou impede a descoberta de rede
  • path: caminho do diretório compartilhado. Se estiver incorreto, o compartilhamento será exibido mas não acessível.
  • guest ok: permite acesso com usuário anonimo
  • read only: se o mesmo é somente para leitura
  • writeable: permite que seja editável e tem prioridade sobre a configração read only
  • public: define se todos podem acessar o compartilhamento 
  • create mask: mascara com a qual o compartilhamentos será criado
  • valid user: usuário válidos para acessar
  • valid group: grupo válidos para acessa
    • em ambas as configuraçoes valid* o usuário deve ser adicionado com smbpasswd -a [login]
4. Testando o acesso
  • smb://192.162.1.2/publico
  • smb://192.162.1.2/privado

Referências

09/02/2019

Raspberry - Instalação de SO

     O Raspiberry Pi suporta uma gama de sistemas operacionais, estando dentre as oficiais, o Windows 10 IOT Core, Ubuntu e Raspbian (distribuição dedicada à Raspberry Pi, baseada no Debian). 
     As formas de instalação também são variadas, podendo ser realizado através
do:
  • NOOBS (New Out Of the Box Software): pacote que contem várias versões do SO com uma interface para instalação.
  • GNOME Disks:  é um front-end gráfico do udisks incluido no pacote gnome-disk-utility
  • Linha de comando 
     A instalação será realizada a partir de um computador com SO Linux e será utilizado o SO Ubuntu Server 16.04, podendo ser utilizados outros SOs Linux compatíveis. Para instalção do Windows ou a partir de ou SO, existem links nas referências.
     Após a instalação, documentei algumas configurações adicionais em um outro post.

Requisitos    

Instalação via linha de comando

1. Descobrir o ponto de montagem do cartao SD e desmontar
    df -h
    umont /dev/mmcblk0p1
    umont /dev/mmcblk0p2
2. Formatar o cartao de memoria em FAT
    mkfs.vfat -I -F 32 /dev/mmcblk0
3. Descompactar a iso em um diretorio qualquer e gravar no cartão
    unxz ubuntu-16.04-preinstalled-server-armhf+raspi3.img.xz
    dd bs=4M if=ubuntu....raspi3.img of=/dev/mmcblk0 status=progress conv=fsync

Instalação via Gnome Disk

     Possibilidade de instalação gráfica que já vem por default no ubuntu ou mint, mas caso necessário, a instalação pode ser realizada como descrito a seguir:
sudo apt-get install gnome-disk-utility

 Instalação
  1. Com o  Gnome Disks aberto, selecione o disco que será formatado e no canto superior esquerdo, abra o menu e escolha restaurar imagem no disco
  2. Na janela aberta, clique para buscar a imagens a ser instalada
  3. Na janela aberta, escola a ISO desejada
  4. Inicie o processo de  gravação
  5. Apenas confirme que a imagem será restaurada
  6. Aguarda alguns minutos para finalizar
  7. Remova o dispositivo no  mesmo menu onde iniciou o processo de restauração.


Usuário e senha

Após a instalação, o acesso poder ser realizado com os dados a seguirm de acordo com o SO instalado.
  • Ubuntu 16.04 server : usuário ubuntu e senha ubuntu
  • Raspbian server: usuário pi e senha raspberry

Outras instalações

Referências




19/06/2018

XenServer - Arquivos de log

     Provavelmente não seja nenhuma novidade falar que os logs do XenServer são armazenados no diretório /var/logs, pois é onde realmente se espera encontra lós.
     No entanto, o que diferencia são os aquivos presentes neste diretório e a sua finalidade. Em um sistema operacional linux os logs seriam encontrados em /var/logs alguns arquivos como:
  • auth.log:armazena logs de autenticação;
  • boot.log: informações relacionadas à inicialização;
  • cron: armazena todas as mensagens relacionadas a Crond (tarefas cron) ;
  • daemon: registros pertinentes aos daemons em execução no servidor; 
  • dmesg: mensagens relacionadas aos drivers de dispositivo;
  • faillog: contém informações sobre todas as tentativas de login falhas;
  • mail.log: armazena todos os logs relacionados aos servidores de e-mail
  • kern.log: armazena logs do Kernel e dados de aviso.
  • syslog: mensagens gerais;
    Já no XenServer, alguns desdes diretórios não estão presentes, ao mesmo passo que outros arquivos não encontrados em servidores linux, são exibidos no XenServer. Dentre eles os principais são:
  • audit.log:  informações detalhadas sobre as RBCA-roles (role-based access control) ou controle de acesso baseado em funções;
  • installer: diretório com registros do processo de instalação;
  • secure: registro das conexões realizadas ao XenServer, variando entre XenCenter e acessos via ssh;
  • SMLog: arquivo com registros das ações relacionadas ao armazenamento, tais como montagem, conexões e verificações do status das conexões; 
  • xensource.log: arquivo  com o registros dos eventos realizados pelo conjunto de ferramentas utilizado para gerenciamento do XenServer, denominado XAPI. Devido ao seu nível de detalhamento é um pouco mais complicado de ser analisado.
      Outros destinos dos logs também poder ser observados na imagens abaixo, que lista o conteúdo do diretório /var/log.

Referências 

24/04/2018

XenServer - Níveis de usuáros


     O XS (XenServer) apresenta por padrão cinco (5) Roles (níveis de usuários), denominados Pool Admin, Pool Operator, VM Power Admin, VM Admin, VM Operator ou Read-Only.  Estas roles são, com um conjunto de permissões que possibilitam garantir acesso total ou restringir  acessos mais específicos a cada usuário, conforme descrito a seguir.

  • Pool Admin: maior nível de acesso, permitindo controle total a todas as funções e configurações do XS, incluindo o acesso a console do host, tendo permissão para executar comandos como root.
  • Pool Operators: permite a execução de ações no nível do pool, como configurações de storage, gerenciamento de patches e a criação de resource pool. Também permite a configuração de Hight Availability, Workload Balancing, não tendo acesso a ações como inclusão de usuários e acesso console.
  • VM Power Admin: os usuários pertencentes a esta role tem permissão para gerenciar máquinas virtuais, templates, snapshots, recurso de Dynamic Memory Control e definição de Home Server.
  • VM Admin: permite o gerenciamento de VMs e templates sem acesso ao Dynamic Memory, snapshots e definição do Home Server.
  • VM Operators: possuem permissão para gerenciar uma VM em questão, realizando algumas atividades básicas, não sendo possível alterar as propriedades daPolls máquinas virtuais, como memória e CPU.
  • Read-Only: grupos associados a essa role terão acesso total somente leitura, não sendo permitido nenhuma modificação em todo o ambiente.
     É importante ressaltar que a inclusão de um usuário em uma role, permite que ele execute as funcionalidades a partir do XenCenter, sendo necessário a existência de um usuário na VM para que seja realizado o acesso ao SO.

Referências

  • https://docs.citrix.com/en-us/xencenter/6-5/xs-xc-users/xs-xc-rbac-roles.html
  • https://www.safaribooksonline.com/library/view/citrix-xenserver-60/9781849686167/ch02s04.html
  • https://www.packtpub.com/mapt/book/virtualization_and_cloud/9781849686167/2/ch02lvl1sec20/roles-and-permissions
  • https://cleristononline.wordpress.com/2015/02/19/testando-os-niveis-de-acesso/

10/06/2015

Servidor FTP - vsftpd

Mais uma concatenação de posts que me levaram ao objetivo desejado, configurar um servidor ftp no linux. No final do post coloco as referências de onde copiei os passo abaixo.

1. Instale o servidor:
# apt-get install vsftps

2. Edite o arquivo de configuração localizado em /etc/vsftps.conf, para um funcionamento básico, com as seguintes configurações:
# vim /etc/vsftpd.conf
# Desativar o acesso anonimo 
anonymous_enable=NO .. 
# Permitir acesso a usuários locais 
local_enable=YES 
# Permitir que o usuário possa gravar/criar no diretório 
write_enable=YES 
# Bloquear o acesso dos usuário somente a sua pasta 
chroot_local_user=YES

3. Para evitar a autenticação de usuários FTP via ssh ou localmente, será criado um shell fack, limitando o acesso de usuários FTP somente ao FTP:
# echo "/bin/false" >> /etc/shells

4. Criar um grupo para os usuários do FTP:
# groupadd ftpusers

5. Criar um diretório separado onde serão criados os usuários FTP, não que seja necessário, mas mantém organizado.
# mkdir /home/ftp

6. Criar os diretórios dos usuários:
# mkdir /home/ftp/user1 
# mkdir /home/ftp/user2 
# mkdir /home/ftp/user3

7. Criar os usuários direcionando para os seus diretórios, grupo ftp e bash:
# useradd user1 -d /home/ftp/user1 -s /bin/false -G ftpusers 
# useradd user2 -d /home/ftp/user2 -s /bin/false -G ftpusers 
# useradd user3 -d /home/ftp/user3 -s /bin/false -G ftpusers

8. Alterar as permissões dos diretórios de cada usuários:
# chown user1:ftpusers /home/ftp/user1 
# chown user2:ftpusers /home/ftp/user2 
# chown user3:ftpusers /home/ftp/user3

9. Ajustar as permissões dos diretórios para que somente o usuário tenha acesso de escrita:
# chmod -R 2750 /home/ftp/

10. Reiniciar o serviço:
# service vsftpd restart

Referências

21/04/2015

Instalação do phpMyadmin

O phpMyadmin é uma interface web para administração de base de dados em MySql, assim como o phpPgadmin para o postgreSql. Antes de instalar o phhMyadmin é recomendado que o mysql já esteja rodando, o que pode ser visto em um outro post onde trata da instalação dos mysql, apache e php.

1. Instale o pacote do phpmyadmin. Várias dependências serão instaladas.
#apt-get install phpmyadmin

2. Será exibida a tela abaixo para escolher o servidor web a ser configurado automaticamente com o phpmyadmin.


3. Uma nova tela será exibida solicitando a configuração padrão para o funcionamento padrão do phpmyadmin.


4. Insira a senha do usuário root do MySql


5. Insira a senha para o phpmyadmin inserir com o servidor de base de dados, para o usuário phpmyadmin e confirme a senha

6. Para acessar basta digitar o endereço no navegador: http://localhost/phpmyadmin.

Referências
  1. http://www.vivaolinux.com.br/
  2. http://minhasdicaslinux.blogspot.com.br/