Thanks everybody for their time, I really appreciate your help. Maybe I should explain what I’m trying to do.
Mikrotik device should be wireless access point for 192.168.88.0/24 wireless clients with DCHP server with pool 192.168.88.10 - 192.168.88.254. Wireless clients should only be allowed to access Internet. They are not allowed to comunicate with each other (I disabled Default forward), they are not allowed to access router or communicate with other parts of network (apart from exit to Internet). Mikrotik has 5 ethernet ports, ethernet port 1 is connected to PFSense router which handle all other (wired) network (firewall, OpenVPN, proxy server…) and handle Mikrotik’s access to Internet. Three other ethernet ports are in bridge with wireless interfaces, for possible future use (but maybe I should disable them, at least for now).
192.168.87.0 network should be only for Mikrotik management and accessible only from one physical ethernet port which is not part of bridge with other interfaces. Mikrotik router should be accessible from only one, predesignated, IP address (192.168.87.2) as additional layer of security (more obscurity, but still some additional security). Potential unwanted user should know to connect to particular ethernet port (not different in appereance from other ethernet ports) and with client that has predesignated particular IP address (my plan is that DHCP Server should not be active on that interface). That additional level of obscurity is not strictly neccessary, since router is in locked room, but I’m trying to understand and learn RouterOS so this is just part of process of learning.
Everything is working as expected, but when I tested configuration, only thing that I didn’t understand is what I’m asking here, why firewall rules didn’t block access from IP 192.168.87.2 to 192.168.87.1 by gateway 192.168.88.1. if these rules block communication from 192.168.87.0 to 192.168.88.0. Ping to 192.168.88.1 returns Destination host unreachable. Maybe I don’t understand what is gateway?
From my experience, if I don’t understand something it’s always good starting point for learning. I understand that there are many things I don’t understand, so it’s a start 
@ cdiedrich - Thanks for your suggestion, maybe I didn’t explain configuration enough before, but I’m not sure that I understand, so please help, your set of rules excluded rule:
“add action=accept chain=input comment=“allowed access to router from single IP from management port (ether4)” dst-address=192.168.87.1 in-interface=ether4 src-address=192.168.87.2”
Shouldn’t I block myself access to router if I exclude that rule because of other rules?
add action=drop chain=input comment=“blocked traffic from management port” dst-address=192.168.87.1 in-interface=ether4
add action=drop chain=input comment=“defconf: drop all not coming from LAN” in-interface-list=!LAN
I’m not sure if I understand correctly, shouldn’t rules you changed allowed access to DNS but block other traffic from 192.168.88.0 (and allow only access from 192.168.87.0)
add action=accept chain=input comment=“allow DNS requests from 88” protocol=udp dst-port=53 dst-address=192.168.88.1 src-address=192.168.88.0/24
add action=drop chain=input comment=“blocked traffic from bridge interface to router” dst-address=192.168.88.1 src-address=!192.168.87.0/24
@ Anumrak If I understand you correctly, you suggest that, using your solution, I enforce DHCP on that interface, and, by that, ensure that gateway for client is set by router rules and not client rules? That is certanly good solution, but I was thinking about dditional level of obscurity by enforcing access to router only from predefined IP address, without DHCP. I don’t really need that, but now I would like to know how/why above described situation works. Could you be so kind to explain what should be terminating interface in this situation and if input chain is applicable here?
Again, thanks everybody for your effort.