sábado, 1 de agosto de 2020

Desinstalando YourPhone da Microsoft

No Windows 10, o aplicativo Your Phone permite conectar-se ao seu Android ao computador via rede sem fio para acessar as fotos, notificações e mensagens de texto. Contudo ele ainda não está muito estável e pode ser que você não tenha um telefone Android.
Se você tentar removê-lo via Settings, você não irá conseguir. A opção de desinstalar aparece desabilitada.



Para remover você precisa utilizar um comando via powershell. Você precisa abrir o powershell no modo administrador, como mostrado abaixo:



Para remover digite no tela do powershell (admin), o seguinte comando:

Get-AppxPackage Microsoft.YourPhone -AllUsers | Remove-AppxPackage

Com isto o programa será desinstalado.

segunda-feira, 6 de abril de 2020

bad ownership or modes for chroot directory component

Queria deixar o diretório /var/www disponível para um usuário fazer SFTP nele, sem poder acessar os demais diretório do servidor. Configurei o acesso do usuário no /etc/ssh/sshd_config (outro post).
Contudo ao tentar logar via sftp, obtinha o seguinte log

Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER

Removendo a configuração do usuário no sshd_config, o usuário MY_USER conseguia logar, mas com acesso a todos os diretórios.
No man page do chroot que é utilizado para limitar o acesso diz que

ChrootDirectory

Specifies the pathname of a directory to chroot(2) to after authentication.
All components of the pathname must be root-owned directories that are not 
writable by any other user or group. After the chroot, sshd(8) changes the 
working directory to the user's home directory.

Ou seja, os diretórios var e www devem ser do usuário root e não podem ter permissão de escrita por outro usuário. No meu caso o problema era no diretório www que era writable (+w) pelo grupo de MY_USER. Estas permissões podem ser garantidas configurando o owner dos dois diretórios e removendo a permissão e escrita do grupo e others.
$ sudo chown root /var
$ sudo chmod g-w /var
$ sudo chmod o-w /var
$ sudo chown root /var/vww
$ sudo chmod g-w /var/www
$ sudo chmod o-w /var/www


quinta-feira, 5 de março de 2020

Redirecionando mensagens do iptables para outro arquivo

Administrar bem um firewall implica em avaliar constantemente os arquivos de log. Por default no Ubuntu 18 os logs do iptables são gravados no arquivo /var/log/syslog. Contudo neste arquivo também são gravadas diversas outras informações. Se seu firewall gera muita mensagem, fica difícil achar uma mensagem de outro serviço (por exem plo, do DNS), da mesma forma também não dá para descartar os arquivos syslog antigos que ficam muito grandes.
Isso pode atrapalhar as coisas e dificultar a verificação dos logs.

Se você deseja alterar o arquivo no qual o iptables registra, é necessário configurar as regras do iptables para gerar um prefixo de log.

O gerenciador de logs do ubuntu é rsyslog. Podemos configurá-lo para pegar o prefixo gerado pelo iptables e enviar todas as linhas com este prefixo para um arquivo de log personalizado, contendo apenas as informações de log do iptables.

As minhas linhas gerados pelo iptables tem o seguinte formato. Note que não estou utilizando um prefixo no log do iptables. e que dá para distinguir as linhas, pois todas contém a palavra: NETFILTER.
Mar  5 16:21:26 afirewall kernel: [ 1249.242830] NETFILTER NEW IN PACKET:IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.53 LEN=71 TOS=0x00 PREC=0x00 TTL=64 ID=43478 DF PROTO=UDP SPT=58264 DPT=53 LEN=51
Mar  5 16:21:26 afirewall kernel: [ 1249.242863] NETFILTER NEW IN PACKET:IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.53 LEN=71 TOS=0x00 PREC=0x00 TTL=64 ID=43479 DF PROTO=UDP SPT=58264 DPT=53 LEN=51
Então precisamos configurar o rsyslog para tratar de forma diferente as linhas geradas pelo iptables.
Para isto, crie um arquivo de configuração vazio (todos os comandos a seguir são dados como root ou via sudo) com o seu editor favorito:
$ sudo vi /etc/rsyslog.d/10-iptables.conf
Entre as duas linhas a seguir neste arquivo e grave-o:
:msg, contains, "NETFILTER " -/var/log/iptables.log
& ~
Salve o arquivo e saia do editor. A primeira linha verifica os dados do log para a palavra "NETFILTER " e os anexa ao arquivo /var/log/iptables.log. Note que você pode utilizar no iptables prefixos diferentes para regras diferentes e assim ter diversos arquivos. No meu caso, só quero colocar tudo em um arquivo chamado iptables.log. A segunda linha simplesmente interrompe o processamento das informações de log, para que elas não sejam registradas em /var/log/syslog.

Reinicie o rsyslog:
$ sudo service rsyslog restart
Pronto! O syslog agora está gravando as mensagens do iptables no arquivo desejado.



quinta-feira, 6 de fevereiro de 2020

"Route not found" no Debian

Você está usando o Debian e quer ver quais as rotas configuradas no seu sistema. Um comando útil para isto é route. Porém quando vocë dá o comando:

$ route
bash: route: command not found
Existem normalmente dois motivos para que isto aconteça. O primeiro motivo é que o caminho para route não está configurado para seu usuário, pois ele fica em /sbin. Quando você procura usando whereis, o sistema não retorna. Note no segundo comando abaixo que /sbin não está no path.

$ whereis route:
route:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
Assim você pode simplesmente chamá-lo usando o caminho completo /sbin/route.
Contudo, pode ser que mesmo assim você não ache o comando. 

$ /sbin/route
bash: /sbin/route: No such file or directory
Isto ocorre porque o pacote net-tools não está instalado. Para instalar basta:
$ sudo apt install net-tools
Agora finalmente o comando deve funcionar. Note que ainda assim o caminho não está no PATH, portanto você precisa colocar o caminho completo.
$ route -n
bash: route: command not found

$ /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s3



Transforme seu Raspberry Pi em um Servidor de Desenvolvimento Completo (Debian 13 Trixie, ARM64)

  O Raspberry Pi evoluiu muito desde seus primeiros dias como uma placa para experimentos. Hoje, com o Debian 13 (Trixie) rodando em ARM64, ...