Linux4all#2

  • Upload
    daniel

  • View
    666

  • Download
    3

Embed Size (px)

DESCRIPTION

Linux4All#2 é o segundo minicurso sobre Gnu/Linux, realizado na Uncisal (Universidade Estadual de Ciências Médicas de Alagoas). Abordando conceitos teóricos/praticos a nível intermediário de uma forma simples e dinâmica, ministrada por mim.

Citation preview

  • 1. Linux4All#2 d4n1

2. Agenda

  • Administrao do Sistema 3. Automatizao de tarefas 4. X Window 5. Shell Script 6. Kernel
  • Log 7. Rede 8. Segurana 9. Criptografia 10. Documentao 11. Concluso

12. Login

  • /etc/passwd
  • root:x:0:0::/root:/bin/bash 13. Login 14. x (senha criptografada em shadow) 15. UID (User ID) 16. GID (Group ID) 17. Informaes adicionais 18. Diretrio do usurio e o Shell

Administrao do Sistema 19. Senha

  • /etc/shadow
  • No possvel usar engenharia reversa porm um ataque do tipo fora bruta pode surtir efeito 20. Somente root tem acesso 21. root:$1$MAK7F/MV$YbiduqPWZUbVA9PFvlKYM/:14768:0:::::

Administrao do Sistema 22. Grupo

  • /etc/group
  • root:x:0:root 23. Nome do grupo 24. Senha criptografada (gshadow) 25. GID (Group ID) 26. Lista de membros que pertecem a esse grupo

Administrao do Sistema 27. Ultilitrio

  • Podemos editar os arquivos diretamente com qualquer editor de texto (vi) ou podemos usar alguns comandos como:
  • #useradd, #userdel, #usermod 28. #passwd, #gwpasswd 29. #groupadd, #groupdel 30. #pwconv, #grpconv, #pwunconv, #grpunconv, #chage

Administrao do Sistema 31. Arquivos

  • /etc/skel
  • Define a estrutura do diretrio home 32. /etc/profile 33. Define algumas variveis de ambiente, sendo executado a cada login 34. /etc/bashrc 35. Define alguns parmetros para o bash, sendo executado toda vez que o bash envocado

Administrao do Sistema 36. Agenda

  • Administrao do Sistema 37. Automatizao de tarefas 38. X Window 39. Shell Script 40. Kernel
  • Log 41. Rede 42. Segurana 43. Criptografia 44. Documentao 45. Concluso

46. Automatizao

  • H dois agendadores de tarefas ocrone oat.Ocron apropriado para executar procedimentos com certa periodicidade e oatpara agendar tarefas simples no futuro 47. cron 48. um daemon que prover agendamento de tarefas, geralmente usamos o comandocrontab 49. No necessrio reiniciar o servio

Agendamento de tarefas 50. Estrutura

  • Estrutura do cron
  • 30 4 * * 0 root /sbin/hacker.sh 51. || | | | |_ usurio |_ comando 52. || | | |___ dias da semana (0-6) 53. || | |_____ ms (1-12) 54. || |_______ dias do ms (1-31) 55. ||_________ horas (0-23) 56. |____________ minutos (0-59)

Agendamento de tarefas 57. Opes

  • at
  • O comando at agenda tarefa para ser executada somente uma vez 58. Executa tarefas mesmo que tenha passado a hora de execuo 59. Notaes de data e hora doat 60. HH:MM, midnight, noon, teatime, MMDDYY, MM/DD/YY, DD.MM.YY, + opo (minutes, days, hours, weeks)

Agendamento de tarefas 61. Agenda

  • Administrao do Sistema 62. Automatizao de tarefas 63. X Window 64. Shell Script 65. Kernel
  • Log 66. Rede 67. Segurana 68. Criptografia 69. Documentao 70. Concluso

71. Interface grfica

  • Sistema grfico baseado na arquitetura cliente-servidor entre o hardware e o ambiente de trabalho 72. Composto por janelas e API's (Application Programming Interface) 73. Aplicao do usurio e no parte integrante do sistema operacional 74. Criado pelo MIT (Massachussets Institute of Technology) mantido pela Xfree86 Project

X Window 75. Gerenciador de Janela

  • O X Window System ou X, responsvel pelas funes bsicas de desenho, formas e cores na tela, interface de rede e controle bsico 76. O design das janelas, cones, dentre outras, so responsabilidade do Window Manager como XFCE, GNOME, KDE e etc 77. /etc/X11/xorg.conf 78. Diplay Managers: xdm, gdm e kdm

X Window 79. Agenda

  • Administrao do Sistema 80. Automatizao de tarefas 81. X Window 82. Shell Script 83. Kernel
  • Log 84. Rede 85. Segurana 86. Criptografia 87. Documentao 88. Concluso

89. Conceitos... Shell script 90. Conceitos...

  • Variveis
  • Variveis de ambientais ou globais (PATH, USER, HOME...) 91. Variveis de shell ou locais (pode ser exportadas com o comandoexport ) 92. Alias 93. Apelidos para os comandos ( alias lslinux='ls -la' )

Shell script 94. Conceitos

  • Funes
  • Uma funo pode armazenar vrios comandos ( [function] nome(){comando;} ) 95. Arquivos bash 96. /etc/profile, /etc/bashrc, ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout, ~/.inputrc

Shell script 97. Primeiros passos...

  • Script Shell
  • Definir o shell (bash, sh, ) no inicio do script#!/bin/bash 98. Adicionar permisso de execuo ( #chmod +x script ) 99. Shell filho no pode passar variveis para o shell pai (herana, sempre de pai para filho)

Shell script 100. Primeiros passos...

  • Variveis especiais
  • $? - retorna o valor do ltimo comando (==0, !=0) 101. $0 retorna o nome do script 102. $1-$9 parmetros passados no shell 103. $# - retorna o nmero de parmetros passados 104. $$ - retorna o PID do processo

Shell script 105. Primeiros passos...

  • Loop e laos condicionais If [ $? = 0 ]; then echo 'Executado com sucesso' else echo 'O comando falhou' fi

Shell script 106. Primeiros passos...

  • Loop e laos condicionais
  • Iftesta comando e no condio, ento o if deve ser usado em conjunto com o comandotest,usado o smbolo [ 'opo' ] 107. Opo: -eq (igual), != (diferente), -gt (maior), -lt (menor), -o (ou), -d (diretrio), -e (arquivo), -z (vazio), -f (com texto), -r (leitura), w (escrita), -x (execuo)

Shell script 108. Primeiros passos...

  • Loop e laos condicionais Case variaval inexpressao1) comando1; comando2;;expressao2) comando3; comando4;; *) comando_padrao;; esac

Shell script 109. Primeiros passos...

  • Loop e laos condicionais for i in `cat lista`; do ls $i; done

Shell script 110. Primeiros passos

  • Loop e laos condicionais variavel=valor while [ $variavel=valor ]; do comando1; comando1; done

Shell script 111. Agenda

  • Administrao do Sistema 112. Automatizao de tarefas 113. X Window 114. Shell Script 115. Kernel
  • Log 116. Rede 117. Segurana 118. Criptografia 119. Documentao 120. Concluso

121. Conceito Kernel 122. Corao do sistema

  • Ncleo do S.O. 123. Pode ser compilado e customizado permitindo maior performance 124. Kernel monoltico, mais rpido emenos flexvel. Precisa ser recompilado se necessrio 125. Kernel modular, mais lento e mais flexvel. Pode ser carregado ou descarregado se necessrio 126. Podemos ter um Kernel misto

Kernel 127. Tipos

  • Mdulo do kernel (.o ) um cdigo na linguagem C, no ligados ao executvel do kernel 128. Os mdulos so disponibilizados em/lib/modules/verso_kernel 129. Podemos saber a verso do kernel usado o comando#uname -roucat /proc/version 130. 2.x.y x se par verso estvel se mpar verso instvel, y a compilao

Kernel 131. Ultilitrios...

  • #lsmod visuliza os mdulos dispniveis e os usados. Usa como base o /proc/modules 132. #modinfo mostra informaes sobre mdulos 133. #insmodcarrega mdulo. Procura em /etc/modules.conf 134. #rmmod remove/descarrega mdulo. Somente se o mdulo no estiver em uso

Kernel 135. Ultilitrios

  • #modprobe carrega/descarregamdulos de uma forma inteligente resolvendo dependncias 136. #depmod cria uma lista de dependncias entre os mdulos para /lib/modules/kernel/modules.dep

Kernel 137. Compilao...

  • Compilao/Recompilao de Kernel
  • Kernel reduzido 138. Kernel customizado 139. Eficincia na gerncia de recursos do computador 140. Melhor performance 141. Reconhecimento de novos perifricos

Kernel 142. Compilao...

  • Baixar o novo kernel emhttp://www.kernel.orgou no site da sua distribuio 143. gcc 144. make 145. Extrair o kernel compactado para o diretrio/usr/src/ 146. Ler o arquivo/usr/src/linux/README

Kernel 147. Compilao...

  • #cd /usr/src/ 148. #ln -sf linux-2.6.34 linux 149. #cd linux 150. #make mrproper 151. Opes para compilao: Y ou * = yes, m = mdulo, [ ] no compilar essa opo

Kernel 152. Compilao...

  • Tudo gravado no arquivo .config 153. No editar o .config, melhor usar os utilitriosconfig, menuconfig, xmenuconfig e oldconfig 154. Todos essas feramentas fazem a mesma coisa s que com interfaces diferentes

Kernel 155. Compilao...

  • Opes de compilao
  • #make config 156. #make menuconfig 157. #make xconfig 158. #make oldconfig

Kernel 159. Compilao...

  • Compilando e instalando
  • #make bzImage 160. #make modules 161. #make modules_install 162. No usar o #make install

Kernel 163. Compilao

  • Compilando e instalando
  • #cp /usr/src/linux/arch/i386/boot/bzimage/boot/vmlinuz-hacker 164. Editar o arquivo do gerenciador de boot (lilo ou grub) e adicionar a entrada para o novo kernel 165. Reconfigure seu gerenciador de boot

Kernel 166. Agenda

  • Administrao do Sistema 167. Automatizao de tarefas 168. X Window 169. Shell Script 170. Kernel
  • Log 171. Rede 172. Segurana 173. Criptografia 174. Documentao 175. Concluso

176. Conceitos...

  • Arquivo de log ou histrico 177. Facilidades 178. auth, authpriv, cron, daemon, kern, lpr, mail, news, syslog, user, local0 local7 179. Nveis 180. Emerg(0), alert(1), crit(2), err(3), warning(4), notice(5), info(6), debug(7)

Log 181. Conceitos

  • Syslog (/etc/syslog.conf)
  • facilidade.nivel ao 182. Ao 183. Log, pipe ou sistema remoto 184. Arquivo, pipe, terminal e console, computador remoto, usuario 185. Caracteres especiais 186. *, =, ! e -

Log 187. Ultilitrios

  • Logrotate
  • Copia e compacta Os arquivos de log, criando novos arquivos 188. /etc/logrotate.conf 189. Para evitar a recompactao de arquivos (gz.gz.gz...) use a sintaxe do tipo log-xxx-*.log ao invz de log-xxx-* 190. Metalog, ...

Log 191. Agenda

  • Administrao do Sistema 192. Automatizao de tarefas 193. X Window 194. Shell Script 195. Kernel
  • Log 196. Rede 197. Segurana 198. Criptografia 199. Documentao 200. Concluso

201. Conceitos

  • Protocolo TCP/IP 202. Classes de rede 203. Classe A - 8/24 bits p/ rede/mquina 204. Classe B - 16/16 bits p/ rede/mquina 205. Classe C 24/8 bits p/ rede/mquina 206. Classe D e E 207. (2^n)-2

Rede 208. Tipos

  • Classe bit redePCMscara
  • A012616.777.210/8 209. B1016.38565.534/16 210. C1102.097.150 254/24 211. D1110 Multicast -- 212. E1111 Reservado -- 213. Endereos reservados (127.0.0.1)...

Rede 214. Camadas

  • TCP/IPServios TCP/IP
  • Aplicao| telnet/http/dns/smtp... 215. Transporte | tcp/udp 216. Internet| arp/ip/icmp... 217. Rede| ethernet/frame relay... 218. O protocolo tcp/ip um simplificaao do modelo OSI

Rede 219. Ultilitrios...

  • Feramentas de rede
  • #hostname 220. #dnsdomainname 221. #ifconfig 222. #netstat 223. #route 224. #tcpdump

Rede 225. Ultilitrios

  • Feramentas TCP/IP
  • #dig(domain information group) 226. #ping(icmp) 227. #traceroute(ttl time to live) 228. #whois(informaes de domnio) 229. #telnet(conexo remota) 230. #ftp(file tranfer protocol) 231. #host (retorna ip/nome)

Rede 232. Arquivos

  • Configur rede
  • /etc/HOSTNAME 233. /etc/hosts 234. /etc/resolv.conf 235. /etc/nsswitch.conf 236. /etc/networks

Rede 237. Servios

  • Servios de rede
  • /etc/inetd.conf 238. /etc/hosts.allow 239. /etc/hosts.deny 240. Desabilite todo servio desnecessrio em /etc/inetd. Defina quem pode ter acesso aos servios oferecidos

Rede 241. Agenda

  • Administrao do Sistema 242. Automatizao de tarefas 243. X Window 244. Shell Script 245. Kernel
  • Log 246. Rede 247. Segurana 248. Criptografia 249. Documentao 250. Concluso

251. Dicas...

  • Desabilitando servios
  • /etc/inetd.conf 252. Use ossh,ao invs do telenet, rlogin, rsh... 253. Se no h necessidade de executar um daemon como root, prefira usurio com pouco privilgio como nobody 254. Configure, se precido, os arquivos /etc/hosts.allow e /etc/hosts.deny

Segurana 255. Dicas

  • Gerenciamento de senhas
  • Mudar as senhas peridicamente, podemos usar o comandochage 256. Manter as senhas dos usurios sempre em/etc/shadow 257. /etc/shadowsmantm as senhas criptografadas 258. Caso sua distribuio seja antiga use o comandopwconv

Segurana 259. Privilgio

  • Executveis com SUID
  • Executveis com bit suid devem ter permisso de escrita somente pararoot, caso contrrio um usurio poder ter acesso privilegiado 260. #!/bin/bash 261. find / -path '/proc' -prune -or -perm -u+s -exec ls -l {} ; > /var/log/suid; mail root < /var/log/suid

Segurana 262. Alerta

  • Alerta de seguraa
  • Bugstraq (www.securityfocus.com) criado em 1993, reporta bugs em softwares populares forando a correo dos erros pelos responsveis rapidamente 263. Cert (www.cert.org) criado em 1988, reporta vunerabilidades e documentos tcnicos, alm de treinamentos

Segurana 264. Firewall...

  • Filtros de pacotes
  • O firewall padro linux (netfilter) disponibiliza uma poderosa feramenta chamadaiptables,que funciona como um analisador de pacotes em endereos e portas de origem e destino 265. Suporta nat, redirecionamentos de pacotes, modifica prioridade, contagem de bytes, gerenciamento de trfego, proteo anti-spoofing, dos, syn flood, ...

Segurana 266. Firewall

  • Filtros de pacotes filter
  • INPUT, OUTPUT e FORWARD 267. nat 268. PREROUTING, OUTPUT e POSTROUTING 269. mangle 270. PREROUTING e OUTPUT

Segurana 271. Agenda

  • Administrao do Sistema 272. Automatizao de tarefas 273. X Window 274. Shell Script 275. Kernel
  • Log 276. Rede 277. Segurana 278. Criptografia 279. Documentao 280. Concluso

281. Conceitos

  • Criptografia de chave pblica
  • Chave pblica 282. Chave privada 283. GnuPG 284. Implementa o OpenPGP 285. Permite criptografar e assinar dados e mensagens usando chaves pblicas e privadas

Criptografia 286. Uso...

  • Gerando/listando
  • #gpg --gen-key 287. #gpg --list-keys 288. Exportando/importando 289. #gpg --output dani.gpg --export [email protected] 290. #gpg --import hacker.gpg

Criptografia 291. Uso...

  • Validao
  • #gpg --edit-key [email protected] 292. fpr/sign 293. Criptografar/Descriptograr arquivos 294. #gpg --output hack.gpg encrypt -recipient [email protected] hacker.txz 295. #gpg --output hacker.txz --decrypt hack.gpg

Criptografia 296. Uso

  • Assinar/Validar documentos/menssagens
  • #gpg --output hack.doc --sign hacker.txz 297. #gpg --output hack.doc --decrypt hack.doc 298. #gpg --crearsign hack

Criptografia 299. Agenda

  • Administrao do Sistema 300. Automatizao de tarefas 301. X Window 302. Shell Script 303. Kernel
  • Log 304. Rede 305. Segurana 306. Criptografia 307. Documentao 308. Concluso

309. Documentao

  • SlackwareBook Slackware Linux Essentials Slackware Linux Inc., 2005 310. Certificao Linux LPI 101 e 102 Ribeiro, Uir. 2005 311. Man pages

312. Agenda

  • Administrao do Sistema 313. Automatizao de tarefas 314. X Window 315. Shell Script 316. Kernel
  • Log 317. Rede 318. Segurana 319. Criptografia 320. Documentao 321. Concluso

322. d4n1 h4ck3r [email_address] d4n1h4ck3r.blogspot.com