as VPN internal traffic, i tried to do the firewall rule via IP matching.
i was monitoring the packet movement and the count was always 0.
If you take the very same rule that now matches on
in-interface=the-one-representing-that-client-tunnel and make it match on
src-address=the.internally.assigned.ip.of.the.client instead, without moving it, it must work the same, otherwise there is a mistake in the IP address assigment. But that's only an exercise and a verification of the IP address configuration - matching on interface name is a bit safer as stated before.
is this the most secure way to let external vpn cients hit the mirotik?
add action=accept chain=input comment="VPN incoming" dst-address=\
HIDE dst-port=8443 in-interface-list=WAN protocol=tcp
If you need to permit client connection(s) from anywhere in the internet, then yes, that's the maximum security a firewall rule can give you.
Otherwise, you might want to add matching on a manually configured
src-address-list if you don't need access from anywhere but just from a bunch of IP addresses known in advance. There's also a so-called port-knocking approach which adds an IP address to an
address-list temporarily if the VPN client sends a few packets to particular port numbers arrive in particular order within a particular time interval before attempting to establish the VPN connection, but the actual improvement of security is not high.