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.
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