Definir as tecnologias de redes necessárias e adequadas para conexão e compartilhamento dos dados que fazem parte da automatização dos procedimentos bancários DHCP: Dynamic Host Configuration Protocol (Protocolo de configuração dinâmica de host), é um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais, com concessão de endereços IP de host, Máscara de sub-rede, Default Gateway (Gateway Padrão), Número IP de um ou mais servidores DNS. O DHCP permite que o endereço IP dos dispositivos ligados à rede seja definido de forma automática no momento em que os mesmos forem conectados à rede. A escolha do IP a ser dado a cada computador pode ser manual, automática ou dinâmica. Instalando e configurando 1-Passo. Instale o dhcp server e cliente usando o seguinte comando: yum install dhcp 2-Passo Após instalar o dhcp server e suas dependências. Associe um ip estático (ex: "192.168.1.1"). Abra o seguinte arquivo /etc/sysconfig/network-scripts/ifcfg-eth1 e faça as alteração de sua preferência. Segue abaixo um exemplo: DEVICE="eth1" HWADDR="00:1C:22:44:55:44" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO="none" IPADDR=192.168.1.1 NETMASK=255.255.255.0 3-Passo Agora abra o arquivo /etc/sysconfig/dhcpd e adicione o nome da interface eth1 na variavel DHCPDARGS abaixo: # Command line options here DHCPDARGS=eth1 4-Passo Abra o arquivo /etc/dhcp/dhcpd.conf e cole as linha abaixo e save-o. #define o nome do dominio option domain-name "clairtonluz.github.io"; #define o IP dos servidores DNS option domain-name-servers 8.8.8.8, 189.90.16.6; #define o lease time padrão default-lease-time 600; #define o máximo lease time max-lease-time 7200; #define o metodo de log log-facility local7; #Configura a sub-rede e range de ip subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.254; option broadcast-address 192.168.1.255; #IP do gateway padrão option routers 192.168.1.1; } #Fixa o endereço IP em um MAC host Printer01 { hardware ethernet 02:34:37:24:c0:a5; fixed-address 192.168.1.55; } Arquivo do servidor DHCP testado : # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # see 'man 5 dhcpd.conf' #ddns-update-style none; default-lease-time 7000; option routers 172.17.0.2; subnet 172.17.0.0 netmask 255.255.255.224{ range 172.17.0.3 172.17.0.30;} Group{ use-host-decl-names true; host higor{ hardware ethernet 50:E5:49:FA:F1:DD fixed-address 172.17.0.4; } } 5-Passo Agora inicie o servidor. service dhcpd start 6-Passo Com este comando abaixo inicia automaticamente o servidor dhcp juntamente com o boot. chkconfig --levels 235 dhcpd on Pronto servidor dhcp funcionando. FTP É o protocolo responsável pela transferência de arquivos pela internet. É através dele que o desenvolvedor subirá os arquivos do site no servidor. Ou seja, é o protocolo que permite publicar os arquivos na Internet. A transferência de arquivos dá-se entre um computador chamado "cliente" (aquele que solicita a conexão para a transferência de dados) e um servidor (aquele que recebe a solicitação de transferência). O utilizador, através de software específico, pode selecionar quais arquivos enviar ou receber do servidor. Para existir uma conexão ao servidor, caso o servidor exija, O utilizador informa um nome de utilizador (ou username, em inglês) e uma senha password, bem como o nome correcto do servidor ou seu endereço IP. Se os dados foram informados corretamente, a conexão pode ser estabelecida. O acesso a servidores FTP pode ocorrer de dois modos: através de uma interface ou através da linha de comando, tanto usuários UNIX como usuários Windows podem acessar através dos dois modos. O modo linha de comando está presente em qualquer distribuição UNIX-like e Windows, através do telnet. A partir de qualquer navegador credenciado (Internet Explorer, Firefox, ou mesmo no Windows Explorer), também é possível acessar a um servidor FTP digitando na barra de endereço: ftp://[username]:[password]@[servidor] ou ftp://[username]:[password]@[servidor]:[porta] Para instalação e configuração do vsftpd no CentOS devem seguir os seguintes passos: Passo 1 – Instalação do vsftpd yum install vsftpd Passo 2 – Configurações do serviço vsftpd Por norma os ficheiros de configuração dos serviços encontram-se em /etc. No caso do vsftpd o ficheiro de configuração encontra-se em /etc/vsftpd/vsftpd.conf. Vamos então editar o ficheiro de configuração (/etc/vsftpd/vsftpd.conf) e proceder às seguintes configurações: #Desactivar o acesso “anónimo”. anonymous_enable=NO #Permitir o acesso dos utilizadores locais (criados no linux) local_enable=YES #Alterar Banner do serviço ftpd_banner=Welcome to Pplware FTP Service #Nenhum utilizador deve poder aceder a áreas fora da sua /home/<user> chroot_local_user=YES chroot_list_enable=NO E está feito. Devem gravar as configurações e sair. Restrições do SELinux No Centos é necessário colocar a variável ftp_home_dir “on”. Esta configuração é necessária para que os utilizadores possam aceder à sua home directory. [root@localhost ~]# setsebool -P ftp_home_dir on Feitas as configurações, vamos iniciar o serviço usando o comando: [root@localhost ~]# service vsftpd start Como aceder ao FTP remotamente Depois de instalado e configurado o serviço de FTP, o acesso pode ser realizado via um simples browser ou através de uma aplicação cliente para FTP (ex. FileZilla, fireFTP). Neste exemplo vamos usar o FileZilla. Para aceder ao serviço de FTP remoto basta indicar: Anfitrião (IP/nome do servidor FTP Nome do utilizador e respectiva Palavra-Passe Como podem ver na imagem anterior, o acesso foi realizado com sucesso e a estrutura da home directory do utilizador é apresentada do lado direito. SSH Desenvolvido por Tatu Ylonen em 1995 para uso no Unix, o SSH (Secure Shell) é uma ferramenta de acesso remoto com grande ênfase em segurança. Com o SSH, sempre que os dados forem enviados de uma máquina para outra, os dados enviados de host a host serão automaticamente criptografados e descriptografado (trata-se de uma criptografia transparente). Trata-se de um conjunto de padrões que permite estabelecer um canal seguro entre duas máquinas. É considerado seguro, pois utiliza chave criptográfica pública para identificar um computador remoto Ou seja, além da criptografia de envio de dados padrão, há também o sistema de criptografia pública e privada para identificar um computador na rede. Toda a transmissão de dados no SSH é criptografada. Assim, os riscos de alguém "bisbilhotar" o que você está fazendo no servidor (às vezes você precisa transmitir senhas para acessar outros sistemas ou programas) é virtualmente zero. Fora isso Para acessar o protocolo SSH é necessário um programa que conecte na porta 22. O SSH utiliza um conjunto de algoritmos de criptografa moderno e seguro para permitir a transmissão confiável de dados em sua conexão, mantendo assim a integridade das informações transmitidas. Sua arquitetura cliente/servidor, normalmente instalada e executada por um administrador de sistema, pode utilizar o SSH para aceitar e rejeitar conexões de entrada para seu host, limitando os IPs ou o range de IPs que poderão iniciar a conexão com o servidor SSH. Configuração do Serviço SSH no CentOS Utilização do OpenSSH-server Verificar se o já se OpenSSH encontra instalado # yum list openssh-server ... Installed Packages openssh-server.x86_64 4.3p2-41.el5 installed Verificar se está a correr podemos usar o seguinte comando e opção para qual o estado de todos os serviços service --status-all ... openssh-daemon (pid 23762) is running... ... ou # ps aux | grep -e sshd ... root 23762 0.0 0.1 62624 1184 ? Ss Jun17 0:00 /usr/sbin/sshd ... De notar que os pid obtidos são iguais, como seria de esperar. Editar o ficheiro de configuração É sempre conveniente fazer um backup do ficheiro a ser alterado # cp /etc/ssh/sshd_config /etc/ssh/sshd_config.20100617 abrir o ficheiro sshd_config # vi /etc/ssh/sshd_config Alterar o porto de ligação de 22 para 20022 Adicionar ou alterar para o valor pretendido a opção Port Port 20022 Permitir a um utilizador utilizador ligar-se por SSH AllowUsers jose user1 user2 A opção DenyUsers poderia ser usada para impedir utilizadores de se ligarem por SSH DenyUsers root user4 user5 Impedir o root de usar o SSH Existe uma opção específica para indicar que o root está impedido de usar o SSH, PermitRootLogin no # impede o root de usar SSH PermitRootLogin yes # permite ao root usar SSH N.B.: caso use esta opção com o valor no, certifique-se que possui uma conta de utilizador que: se possa ligar por SSH; não esteja impedido de usar o comando su (i.e. ser root) sem ter lhe ter sido permitido usar o sudo; Caso contrário, se estiver a realizar estas operações remotamente via SSH, irá perder a ligação, ficando sem possibilidade de aceder à máquina novamente ou de a administrar. Permitir a autenticação por password É possível, embora não recomendável, a autenticação do utilizador usando uma password. Quando e enquanto o fizer, deve usar uma password suficientemente complexa. #PasswordAuthentication yes por password PasswordAuthentication yes # inicialmente não é permitida a autenticação # permite a autenticação por password. Usar temporariamente. PasswordAuthentication no # não é permitida a autenticação por password Guardar as alterações feitas no ficheiro ssh_config. Abrir o novo porto na firewall É fundamental não esquecer abrir o novo porto na firewall. Pode proceder-se assim: # system-config-securitylevel Seleccionar ┌───────────┐ │ Customize │ └───────────┘ Des-seleccionar a opção SSH para o porto 22 ser fechado [ ] SSH Abrir o porto 22022, acrescentando os valores segunites na opção Other ports: Other ports 20022:tcp____________ Podemos reinicializar a firewall [root@centos ~]# service iptables restart Flushing firewall rules: Setting chains to policy ACCEPT: filter [ OK ] [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ] Verificar que a firewall tem o porto aberto # iptables --list ... ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:20022 ... Reiniciar o serviço sshd Para que as alterações produzam efeito é necessário reiniciar o serviço sshd # /etc/init.d/sshd restart ou # service sshd restart Proxy É o termo utilizado para definir os intermediários entre o usuário e seu servidor. E por isso desempenha a função de conexão do computador (local) à rede externa (Internet). Um servidor proxy é um computador que atua como intermediário entre uma rede local e a Internet. Por exemplo, uma empresa que tem um link Internet em apenas um computador pode instalar um servidor proxy neste computador, e todos os outros podem acessar a Internet através do proxy. Além disso, ele pode fazer "cache", armazenando localmente as páginas mais consultadas, o que torna o acesso a elas mais rápido. Hoje em dia, muitos servidores proxies também fazem a função de "firewall", acrescentando segurança ao acesso à Internet da empresa (pois todos passam a acessar a Internet através de uma única porta). Instalação e configuração do servidor proxy SQUID SQUID É o mais popular servidor Proxy em software livre e um dos melhores softwares para a função do mercado. Seu uso pode ser variado, podendo ocultar sessões repetidas, esconder www, DNS, e outros recursos de rede compartilhados para um grupo de pessoas. O Squid utilizado por muitos protocolos, embora trabalhe principalmente usado para HTTP e FTP. Também tem suporte para TLS, SSL e HTTPS. Seu principal arquivo de configuração é o squid.conf e encontra-se no diretório /etc/squid contendo aproximadamente 3000 linhas. Permite trabalhar com níveis de acesso. Permite distribuição de carga. Permite vários tipos de autenticação como SAMBA, kerberos, Mysql, Postgress, Ldap, AD e outros. Instalando o SQUID A instalação do Squid pode ser efetuada através da compilação do código fonte obtido através do site http://www.squid-cache.org ou se utilizar um sistema operacional que trabalhe com pacotes ... Redhat/Fedora/etc... 1 $ yum install squid Debian/Ubuntu/etc/ 1 $ apt-get install squid 1 - Para configurar, basta editar o arquivo squid.conf em /etc/ 1 $ mcedit /etc/squid.conf 2 - Descomentar a linha ao qual contem a porta 3128 (default) 1 # http_port 3128 para 2 http_port 3128 3 – Alterar o tipo de acesso aos usuário 1 # http_access deny all para 2 http_access allow all 3 /etc/init.d/squid restart Squid Transparente 1 – Redirecionar a porta 80 para 3129 no firewall 1 iptables -t nat -A PREROUTING -s SQUIDIP -p tcp --dport 80 -j ACCEPT 2 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129 2 – Alterar a linha da porta 3129 para transparente: 1 http_port 3129 transparent 2 /etc/init.d/squid restart Ajustes - Criação de Regras Exemplos de configuração: 1 - Permitir http_access para apenas uma máquina com MAC address igual a 00:08:c7:9f:34:41 : 1 acl all src 0.0.0.0 2 acl pl800_arp arp 00:08:c7:9f:34:41 3 http_access allow pl800_arp 4 http_access deny all 2 - Para restringir acesso nas horas de trabalho (9 horas - 17 horas, de segunda sexta)da faixa de IP 192.168.2.0 máscara 255.255.255.0 : 1 acl all src 0.0.0.0 2 acl ip_acl src 192.168.2.0/24 3 acl time_acl time M T W H F 9:00-17:00 4 http_access allow ip_acl time_acl 5 http_access deny all 3 - Criar uma acl para bloquear sites com a palavra sexo pois meus funcionários ficam baixando filmes em Divx de pornografia: 1 acl porno url_regex sexo 2 http_access deny pornô 4 - Criar uma acl para bloquear lista de palavras, separadas por linha, a partir do arquivo /etc/squid/porno.txt: 1 acl porno url_regex \\\"/etc/squid/porno.txt\\\" 2 http_access deny pornô 5 - Criar uma acl para bloqueio direto ao endereço de um site: 1 acl porno2amissao dstdomain playboy.com 6 - Criar uma acl para bloqueio de sites a partir de um arquivo em /etc/squid/pornosites.txt: 1 acl porno2amissao dstdomain "/etc/squid/pornosites.txt" 2 http_access deny porno2amisao 7 - Criar uma acl para a liberacao de sites a partir de um arquivo em /etc/squid/livres.txt: 1 acl sitelivre urlpath_regex livres 2 http_access allow sitelivre Obs.: Esta regra deve ser adicionada ANTES dos bloqueios Servidor Proxy com os seguintes bloqueios: por palavras, por horário, SSH exceto adm. da rede, download acima de 20 MB, download de executáveis. acl adiministrador src 192.168.1.2 http_access allow adiministrador acl rede1 src 192.168.1.0/24 acl horario time SMTWHFA 7:00-17:00 http_access allow rede1 horario acl executavel urlpath_regex -i \.mp3$\.exe$\.bat$\.src$ http_access deny executavel acl acessototal src reply_body_max_size 20MB acl hostssh src 192.168.1.182 acl ssh port 22 http_access deny hostssh ssh acl bloqueiopalavra url_regex face youtube http_access deny bloqueiopalavra