Dovecot – transport mailu

Při migraci serveru jsem potřeboval přesunout poštu, jak je mym zvykem rtfm je pro děti takže jsem asi vynalezl kolo.

poštovní schránka má cca tuto strukturu.

├── Maildir
│   ├── cur
│   ├── new
│   └── tmp
└── sieve

Adresářům cur, new, tmp odpovídají mapování v souboru subscriptions. pokud tu nejsou dovecot nebude vidět složku pošty.

dále je tu seznam prefixů ze kterých jsou tvořeny názvy souborů je to soubor dovecot-uidlist jeho obsah je potřeba přidat do toho který se vyrobí ve schránce. to způsobí že dovecot bude nové maily vidět.

O tom, že je potřeba přenést i práva psát nebudu :).

Tedy kopie obsahu složek + pridání obsahu dovecot-uidlist stačí na přenos pošty.

C64 vývojové prostředí

Nedávno jsem začal používat visual studio code a napadlo mne podívat se zda by se nedalo použít k vývoji na moji oblíbenou platformu commodore 64 a světe div se ano.

jde o plugin vs64

adresa pluginu zde:

k tomu bude potreba ale jeste vice64 emulator

dále pak ACME tools (debugger)

Hesla do biosů

Odložim si tu pár odkazů kolem problematiky hesel do starších biosů:

  • https://www.bios-mods.com/forum/Thread-modifying-bios
  • https://www.biosflash.com/e/bios-passwords.htm#Notebooks
  • http://dogber1.blogspot.com/2009/05/table-of-reverse-engineered-bios.html
    • https://helpdeskgeek.com/how-to/recover-bioscmos-password-using-cmospwd/
  • https://www.repairwin.com/how-to-reset-bios-password-hp-probook-elitebook-pavilion-laptop/
  • https://www.raymond.cc/blog/how-to-reset-remove-clear-or-reveal-cmos-bios-security-password/2/

Hacking náhodné desky WD Passport (duo ?)

po připojení 3.3 ttl to do konzole vybleje boot vystup

U-Boot 2009.08-svn65645 (Oct 08 2012 – 14:36:50), Build: 0.2.5

CPU: AMCC PowerPC UNKNOWN (PVR=12c41c83) at 800 MHz (PLB=200, OPB=100, EBC=100 MHz)
Bootstrap Option E – Boot ROM Location NOR/SRAM (8 bits)
32 kB I-Cache 32 kB D-Cache
Board: Apollo-3G – APM82181 Board, 2SATA, 1USB
I2C: ready
DRAM: Auto calibration 256 MB
FLASH: 512 kB
DTT: 1 FAILED INIT
Net: PHY EC1 Register: 0x2c8c
ppc_4xx_eth0

Type run flash_nfs to mount root filesystem over NFS

Hit any key to stop autoboot: 0


architektura

Konfigurak uBoot

bootcmd=run boot_sata_script
bootdelay=5
baudrate=115200
loads_echo=
preboot=echo;echo Type "run flash_nfs" to mount root filesystem over NFS;echo
hostname=apollo3g
netdev=eth0
serverip=172.25.102.35
fresh_install=dhcp; run net_nfs
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
ramargs=setenv bootargs root=/dev/ram rw
addip=setenv bootargs ${bootargs} ip=dhcp
addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}
addmisc=setenv bootargs ${bootargs}
initrd_high=30000000
kernel_addr_r=1000000
fdt_addr_r=1800000
ramdisk_addr_r=1900000
hostname=apollo3g
bootfile=apollo3g/uImage
ramdisk_file=apollo3g/uRamdisk
sata_controller=sata1
load_boot=if run load_boot_file_1; then echo Loaded part 1; else echo Try part 2; run load_boot_file_2; fi
load_boot_file_1=sata init; ext2load sata 1:1 100000 /boot/boot.scr
load_boot_file_2=sata init; ext2load sata 1:2 100000 /boot/boot.scr
boot_sata_script=run load_boot; source 100000
rootpath=/nfs/debian_ppc/rootfs
flash_nfs=run nfsargs addip addtty addmisc;bootm ${kernel_addr} - ${fdt_addr}
net_nfs=tftp ${kernel_addr_r} ${bootfile}; tftp ${fdt_addr_r} ${fdt_file}; run nfsargs addip addtty addmisc;bootm ${kernel_addr_r} - ${fdt_addr_r}
net_self_load=tftp ${kernel_addr_r} ${bootfile};tftp ${fdt_addr_r} ${fdt_file};tftp ${ramdisk_addr_r} ${ramdisk_file};
net_self=run net_self_load;run ramargs addip addtty addmisc;bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
fdt_file=apollo3g/apollo3g.dtb
load=tftp 200000 apollo3g/u-boot.bin
update=protect off 0xFFFA0000 FFFFFFFF;era 0xFFFA0000 FFFFFFFF;cp.b ${fileaddr} 0xFFFA0000 ${filesize};setenv filesize;saveenv
upd=run load update
nload=tftp 200000 apollo3g/u-boot-nand.bin
nupdate=nand erase 0 100000;nand write 200000 0 100000;setenv filesize;saveenv
nupd=run nload nupdate
kernel_addr=fc000000
fdt_addr=fc1e0000
ramdisk_addr=fc200000
pciconfighost=1
pcie_mode=RP:RP
ethact=ppc_4xx_eth0
filesize=1E
ipaddr=192.168.5.3
3g_self_test=0
ethaddr=00:90:A9:BF:9F:84
do_vft=false
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2009.08-svn65645 (Oct 08 2012 - 14:36:50)
Environment size: 2098/4091 bytes

Deska

napajeni

kdovíco

Flash pamět 512k

RAM DDR2

ethernet transiever


Links

T8284 je stepdown, https://www.richtek.com/Products/Switching%20Regulators/DC_DC%20StepDown%20Convertor/RT8284?sc_lang=en

NXP AHC244 netusim

39VF040 – 512Kb flash – tady je „system“ NT5TU64M16GG-AC – DDR2@400Mhz, udajne 1GB na desce jsou dve. system reportuje 256mb https://www.memory-distributor.com/nt5tu64m16gg-ac.html

BCM54610C1KMLG – broadcom gigabit TRANSCEIVER (ta velka hranata vec k tomu jsou civky) https://cz.mouser.com/datasheet/2/678/broadcom_limited_brdcs01301-1-1747579.pdf

Putty – Trable s klávesnicí

Tohle píšu hlavně jako vždy proto, že to řeším pořád ale v takové četnosti abych na už jednou nalezené řešení stačil zapomenout :). Tedy hlavně pro mne.

1.) UTF8 translation
je už nějakou dobu zvykem že se na linuxu používá UTF8 ale ne vždy se člověk přihlašuje na linux a nebo na ssh takže se vám vpohodě stane že v cíli najdete něco jiného, třeba Windows1250 🙂 pro mne bylo velkým překvapením

putty – encoding

2.) speciální klávesy
vpohodě se přihlásite ale nefungují funkční klávesy, nyní jste v pravém pekle. On ten standard kterým se to posílá je trošku volný plný předpokladů a „dobrých zvyků“, nejčastěji jde o to jak se vyrovnat se speciálními klávesami. Default jsou ESC sekvence ale nejčastěji jsou ale přepnuty na „Linux“ nebo „Xterm R6“ často proto že server je starší debian s xterm přihlašováním, dnes se to už moc nedělá. V režimu VT100 to bude fungovat jen velmi omezeně a množství speciálních kláves je dost omezeno a je to náchylné stejně jako ESC sekvence na zvláštní překlepy a snad mimo BBS svět bych to nepoužíval.

putty – special keys

Základní zabezpečení Mysql

Nainstalovat mysql to je snadný žejo apt-get install mariadb a jedem 🙂

Jenže instalace obsahuje demo uživatele, demo databáze a občas jí je vidět zvenku. A protože je to notoricky známý existuje tool

mysql_secure_installation

Tento nástroj ušetří post instalaci a já nad rámec nástroje zkusím popsat cože se to na pozadí děje.

1.) výchozí instalace nemá heslo. takže root heslo na localhost nepotřebuje. Takže když se někdo dostane nějak dovnitř má roota na db.

"you haven't set the root password yet, the password will be blank,
so you should just press enter here.

You already have a root password set, so you can safely answer 'n'." <<--YES
heslo si nastavte.

2.) anonymní uživatelé. Mariadb v sobě má od instalace uživatele Anonymous kam se lze přihlásit jen tak. Tak to na produkci nechceme 🙂

"By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y <<-- Ano odstranit"

3.) root účet se smí přihlašovat zvenku. Pokud provozujete mysql jen uvnitř serveru není důvod dát útočníkům možnost hádat vaše poctivě recyklované heslo zvenku. Zevnitř se nástroji jako phpmyadmin do db dostanete, pouze to nepůjde zvenku. Je to užitečné a dvojnásob pro situaci kdy všichni mimo root uživatele smí do databáze přistupovat zvenku.

„Normally, root should only be allowed to connect from ‚localhost‘. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y <<– Ano nepovolit přihlášení přímo

4.) Testovací datatabáte. defaultně má mysql databázi test přístupnou všem. protože přístupy se přidělují bez ohledu na existenci databáze je potřeba odebrat databázi „test“ i ten přístup zvlášť

"By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y <<--- ano odstranit databázi test a jejího uživatele"